Hadoop-3.1集群安装配置
HADOOP多节点安装过程
[注意:通过以root模式在默认用户(例如master,slave1,slave2…等)上创建和使用所有内容,以最简单的方式创建多节点。请不要创建任何hadoop用户(例如hadoop,hduser等)来配置和共享hadoop安装。我正在所有计算机上使用root用户建立多节点连接。]
步骤1:更新系统上的一个或所有软件包
|
|
步骤2:考虑过时的更新程序包
|
|
步骤3:检查主从系统中的主机名,并相应地重命名
使用以下命令检查主机和从机的主机名
|
|
重命名计算机的主机名
在主计算机中:
|
|
主***与奴隶类似
在从机中:
|
|
步骤4:编辑/ etc / hosts
现在,让ssh进入master,slave1,slave2并更改/ etc / hosts文件,以便每次我们希望使用或ping这些机器中的任何机器时都可以使用主机名代替IP
|
|
使用master,slave1,slave2中的以下行来添加您的主机和从机的IP地址和主机名
|
|
步骤5:生成无密码的Ssh密钥:
安装OpenSSH服务器:
|
|
确保端口22已打开:
|
|
编辑/ etc / sysconfig / iptables(IPv4防火墙):
***如果机器中未安装iptable。请按照步骤6安装iptable ***
|
|
添加以下行并保存
|
|
启动OpenSSH服务:
|
|
如果您的站点使用IPv6,并且您正在编辑ip6tables,请使用以下行:
添加以下行并保存
|
|
重启iptables:
|
|
生成公共ssh密钥:
在主机中
创建ssh密钥:
使用以下命令创建无密码的公共ssh密钥
|
|
使用以下命令将公钥添加到authorized_keys文件中
|
|
设置ssh密钥的权限和授权权限:
|
|
将ssh密钥从master复制到slave1:
仅使用以下命令将公用密钥复制到服务器(从机1,从机2)。私钥绝不能复制到另一台机器上
|
|
[注意:如果以上命令显示错误。请按照步骤6来配置和禁用防火墙和iptables]
将ssh密钥从master复制到slave2:
|
|
[注意:如果以上命令显示错误。请按照步骤6来配置和禁用防火墙和iptables]
测试新密钥:
从主机到自己的ping ssh连接
|
|
* ping SSH连接从主机到slave1机器*
[root@master~]
# ssh slave1
* ping SSH连接从主机到slave2机器*
[root@master~]
# ssh slave2
在slave1机器中
创建ssh密钥:
使用以下命令创建无密码的公共ssh密钥
|
|
使用以下命令将公钥添加到authorized_keys文件中
|
|
设置ssh密钥的权限和授权权限:
|
|
将ssh密钥从slave1复制到主服务器:
仅使用以下命令将公用密钥复制到服务器(从机1,从机2)。私钥绝不能复制到另一台机器上
|
|
[注意:如果以上命令显示错误。请按照步骤6来配置和禁用防火墙和iptables]
将ssh密钥从slave1复制到slave2:
[root@slave1 ~]
# ssh-copy-id -i $HOME/.ssh/id_rsa.pub root@slave2
[ 注意:如果以上命令显示错误。请按照步骤6来配置和禁用防火墙和iptables]
测试新密钥:
从slave1到自己的ping ssh连接
|
|
* ping从slave1到主机的ssh连接*
|
|
* ping从slave1到slave2机器的ssh连接*
|
|
在slave2机器中
创建ssh密钥:
使用以下命令创建无密码的公共ssh密钥
|
|
使用以下命令将公钥添加到authorized_keys文件中
|
|
设置ssh密钥的权限和授权权限:
|
|
将ssh密钥从slave2复制到主服务器:
仅使用以下命令将公用密钥复制到服务器(从机1,从机2)。私钥绝不能复制到另一台机器上
|
|
[ 注意:如果以上命令显示错误。请按照步骤6来配置和禁用防火墙和iptables]
将ssh密钥从slave2复制到slave 1:
|
|
[注意:如果以上命令显示错误。请按照步骤6来配置和禁用防火墙和iptables]
测试新密钥:
从主机到自己的ping ssh连接
|
|
* ping从slave2到主机的ssh连接*
|
|
* ping从slave2到slave1机器的SSH连接*
|
|
步骤6:禁用防火墙和Iptable
[注意:仅当您在ssh连接或主从机之间ping遇到问题时,才应执行以下步骤。
|
|
步骤7:安装Java 1.8
[注意:在主机和从机上分别安装Java]
***从Oracle网站下载jdk 1.8 ***
|
|
使用以下命令提取jdk-1.8 rpm文件
|
|
***将提取的Java文件从/ home /下载到/ usr / local ***
|
|
步骤8:安装Hadoop
[ 注意:单独在主机上下载并安装hadoop并将共享的hadoop安装文件夹共享给从属计算机]
***使用以下命令在主系统中下载hadoop-3.1.0 ***
|
|
将hadoop-3.1.0.tar.gz文件从/ home /下载到主系统中的/ usr / local中
|
|
提取或解压缩hadoop-3.1.0文件
|
|
步骤9:编辑Hadoop配置文件
1.编辑〜/ .bash_profile
$ nano ~/.bash_profile
添加以下几行*
|
|
获取资料以反映变化
|
|
现在使用以下命令检查JAVA版本
|
|
***现在使用以下命令检查HADOOP VERSION ***
|
|
6.编辑hadoop-env.sh
$ vim hadoop-env.sh
添加以下行*
|
|
步骤10:在主机上创建namenode目录
|
|
步骤11:修改Masters文件并在master系统中添加namenode的IP地址
在主机上创建一个主机文件
|
|
在主机文件中添加主机的IP地址*
|
|
步骤12:修改Slaves文件并在主系统中添加datanode的IP地址
在主机上创建奴隶文件
|
|
在slaves文件中添加从机的IP地址
|
|
要查看主文件的内容:
$ cat masters
它将显示主IP地址
|
|
要查看Slaves文件的内容:
$ cat slaves
它将显示从属IP地址列表
|
|
步骤13:将hadoop-3.1.0文件复制到从属服务器
将hadoop文件从主计算机/usr/local/hadoop-3.1.0安全复制到从计算机
***在主机中键入以下命令,并将文件从Master复制到Slave1 ***
|
|
***在主机上键入以下命令,并将文件从Master复制到Slave2 ***
|
|
步骤14:在Slave1和Slave2机器上建立datanode的目录
在hadoop-3.1.0中为从属计算机中的datanode创建目录
|
|
步骤15:在主计算机上格式化namenode
|
|
步骤16:启动Namenode和Datanode
|
|
步骤17:启动Nodemanager和Resourcemanager
|
|
步骤18:在主服务器和从服务器上启动Hadoop守护程序
在主机上键入以下命令
|
|
它将显示主机的输出守护程序
10307 Jps
7961 ResourceManager
7105 NameNode
7352 SecondaryNameNode
**在slave1机器的**中键入以下命令***
|
|
它将显示slave1机器的输出守护进程
2780 Jps
2181 NodeManager
1996数据节点
在slave2机器上键入以下命令
$ jps
它将显示slave2机器的输出守护进程
1735 Jps
2328 NodeManager
1983数据节点
[注意:如果任何一台计算机中缺少任何守护程序,然后,我们需要格式化namenode并重新启动服务,然后再次检查。如果未完全显示输出,则需要从头开始检查hadoop配置文件。
步骤19:检查Hadoop Web界面(HADOOP WEB UI)
主机DFS健康报告的Web网址
http://192.168.1.9:9870/dfshealth.html#tab-overview
* slave1机器的DFS健康报告的Web网址*
http://192.168.1.23:9864
* slave2机器的DFS健康报告的Web网址*
http://192.168.1.3:9864
通过命令行验证
root @ master:/usr/local/hadoop-3.1.0/etc/hadoop> hdfs dfsadmin -report
资源管理器的网址
http://192.168.1.9:8088/集群
恭喜!现在,我们已经使用yarn模式在多节点上成功安装了hadoop。