Centos7安装Hadoop-3.1.4教程

Centos7安装Hadoop-3.1.4教程
叶玖洛前言
首先确定你是什么身份登录的Centos,如果你是以root身份登录CentOS,那么在安装和配置Hadoop时,不需要为每个步骤前都使用sudo命令。
准备一个SSH和FTP工具,一般使用xshell,博主这里使用WindTerm。
下载好需要的文件,通过XFTP协议传输到Linux上你找得到的目录。
安装流程
首先下载好需要的文件,通过XFTP协议传输到Linux上你找得到的目录。
确定你已经安装Java:
Hadoop需要Java运行环境,所以首先确保你的系统中已经安装了Java。可以查看以下教程:
安装完成后,验证Java是否安装成功:
| java -version | 
配置SSH免密登录【可选】:
Hadoop需要通过SSH在不同节点间进行通信。配置SSH免密登录可以提高安全性并简化操作。
| ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa | 
| 配置SSH免密登录在Hadoop集群中是可选的,但是在大多数情况下,它是一个推荐的做法。以下是为什么建议配置SSH免密登录的原因: | 
解压Hadoop安装包:
切换到下载hadoop-3.1.4.tar.gz的目录,然后解压安装包到当前目录:
| tar -zxf hadoop-3.1.4.tar.gz | 
配置Hadoop环境变量:
编辑~/.bashrc文件,在Linux系统中,你可以使用文本编辑器来编辑~/.bashrc文件。CentOS 7默认可能不包含某些现代文本编辑器(如nano或vim),但它通常会预装vi或vim。以下是如何使用vi或vim编辑~/.bashrc文件的步骤:
- 打开终端。输入以下命令之一来编辑 - ~/.bashrc文件:- 使用vi编辑器: - vi ~/.bashrc 
- 使用vim编辑器: - vim ~/.bashrc 
 
- 如果你不熟悉 - vi或- vim,可以看看以下vi/vim的基本命令:- i:进入插入模式,开始编辑文本。
- Esc:退出插入模式。
- :wq:保存更改并退出编辑器(- :w保存,- :q退出)。
- :q!:不保存更改强制退出编辑器。
 
在文件末尾添加以下内容(请将/path/to/hadoop-3.1.4替换为实际的Hadoop解压路径。):
| export HADOOP_HOME=/path/to/hadoop-3.1.4 | 
保存文件后,执行以下命令使环境变量生效:
| source ~/.bashrc | 
配置Hadoop的主要配置文件:
编辑$HADOOP_HOME/etc/hadoop目录下的配置文件,如core-site.xml、hdfs-site.xml、yarn-site.xml和mapred-site.xml。
使用cd命令切换到$HADOOP_HOME/etc/hadoop目录【请确定你上一步的环境变量配置正确不然会提示找不到路径!】:
| cd $HADOOP_HOME/etc/hadoop | 
创建一个用户运行Hadoop:
因为Hadoop 默认不允许以 root 用户身份运行 Namenode、Datanode 和 Secondary Namenode,因为这可能会带来安全风险。
要解决这个问题,你可以采取以下几种方法:
- 创建一个专门的用户来运行 Hadoop: 
 创建一个新用户,使用该用户启动 Hadoop 服务。这是最安全的做法,以下是创建账户和重置账户密码的命令,请根据实际情况替换hadoop为你的实际用户名。- useradd hadoop 
 passwd hadoop
- 使用 Hadoop 配置文件定义用户,并配置Java环境变量: 
 在 Hadoop 的- etc/hadoop目录下的- hadoop-env.sh文件中,你可以定义 Hadoop 服务运行的用户。打开- hadoop-env.sh文件并添加以下行:- export HDFS_NAMENODE_USER=hadoop 
 export HDFS_DATANODE_USER=hadoop
 export HDFS_SECONDARYNAMENODE_USER=hadoop
 export JAVA_HOME=/path/to/java-1.8.0-openjdk-devel- 请将 - hadoop替换为你创建的用户名。同时将- /path/to/java-1.8.0-openjdk-devel替换为您实际的 Java 安装路径。
- 如果以 root 用户身份启动 Hadoop: 
 如果你坚持要以 root 用户身份启动 Hadoop,你可以在- start-dfs.sh、- stop-dfs.sh、- start-yarn.sh和- stop-yarn.sh脚本中移除对用户身份的检查。这不是推荐的做法,因为它会带来安全风险。编辑这些脚本,找到检查用户身份的代码行,并将其注释掉或删除。
 请选择最适合你情况的方法。如果你选择创建新用户,请确保将 Hadoop 安装目录的权限授予该用户,然后以该用户身份登录并启动 Hadoop 服务。
完成用户创建后,使用su - hadoop命令切换为刚创建的hadoop账户,这里请根据你的实际创建账户名字做出对应修改!切换账户后记得切换到你的hadoop路径。或者重新配置一下前面hadoop的环境变量。
此外如果你创建的账户hadoop路径下没有权限执行接下来的操作,请手动赋予相关权限!
编辑Hadoop基本配置文件:
通过上面的命令,你已经进入 etc/hadoop 目录下,你可以使用文本编辑器来编辑配置文件。
例如,在core-site.xml中,你可以配置Hadoop运行时文件系统的URI:
终端输入vim core-site.xml,编辑器用法同上面部分的几个基础命令。
| <configuration> | 
在hdfs-site.xml中,你可以配置HDFS的相关属性,比如副本数:
终端输入vim hdfs-site.xml,编辑器用法同上面部分的几个基础命令。
| <configuration> | 
- 格式化HDFS文件系统: 
 执行以下命令格式化HDFS:- hdfs namenode -format 
- 启动Hadoop服务: 
 使用以下命令启动HDFS:- start-dfs.sh - 如果提示找不到文件,请在终端执行后再次尝试上述命令: - export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH - 如果提示找不到Java环境变量,请执行以下指令手动设置环境变量(或者检查一下hadoop-env.sh这些配置里面的环境变量): - export JAVA_HOME=/path/to/java-1.8.0-openjdk-devel # 记得替换为实际路径 
 source ~/.bashrc # 重载环境变量
 start-yarn.sh # 再次执行运行指令尝试- 如果你需要启动YARN,可以使用以下命令: - start-yarn.sh 
提示:如需虚拟机外部访问关闭请防火墙
| systemctl stop firewalld.service # 关闭防火墙 | 
验证安装:
在Centos的浏览器中输入http://localhost:8088(根据你实际设置的端口号而异),如果能够看到HDFS的Web界面,说明Hadoop安装成功。或者在你的虚拟机外浏览器输入你的Centos IP:端口号查看,如果在虚拟机外查看请确保你关闭了Centos防火墙!
完成示例:
注意:请确保在配置Hadoop时,有根据你的实际需求编辑配置文件。如果在安装过程中遇到问题,可能需要检查防火墙设置、SELinux状态和网络配置等。此外,确保你的CentOS虚拟机有足够的资源来运行Hadoop。



