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。