Hadoop-3.1集群安装配置

HADOOP多节点安装过程
[注意:通过以root模式在默认用户(例如master,slave1,slave2…等)上创建和使用所有内容,以最简单的方式创建多节点。请不要创建任何hadoop用户(例如hadoop,hduser等)来配置和共享hadoop安装。我正在所有计算机上使用root用户建立多节点连接。]

步骤1:更新系统上的一个或所有软件包

$ yum update

步骤2:考虑过时的更新程序包

$ yum upgrade

步骤3:检查主从系统中的主机名,并相应地重命名
使用以下命令检查主机和从机的主机名

$ hostname

重命名计算机的主机名

在主计算机中:

$ nano /etc/hostname

主***与奴隶类似

在从机中:

$ nano /etc/hostname
slave1
slave2

步骤4:编辑/ etc / hosts
现在,让ssh进入master,slave1,slave2并更改/ etc / hosts文件,以便每次我们希望使用或ping这些机器中的任何机器时都可以使用主机名代替IP

$ vim /etc/hosts

使用master,slave1,slave2中的以下行来添加您的主机和从机的IP地址和主机名

192.168.1.9主
192.168.1.3从1
192.168.1.23从2

步骤5:生成无密码的Ssh密钥:
安装OpenSSH服务器:

# yum install openssh-server

确保端口22已打开:

# netstat -tulpn | grep :22

编辑/ etc / sysconfig / iptables(IPv4防火墙):
***如果机器中未安装iptable。请按照步骤6安装iptable ***

# vi /etc/sysconfig/iptables

添加以下行并保存

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

启动OpenSSH服务:

# service sshd start
# chkconfig sshd on
# service sshd restart

如果您的站点使用IPv6,并且您正在编辑ip6tables,请使用以下行:
添加以下行并保存

-A RH-防火墙1-输入-m tcp -p tcp –dport 22 -j接受

重启iptables:

# service iptables restart

生成公共ssh密钥:
在主机中
创建ssh密钥:
使用以下命令创建无密码的公共ssh密钥

[root@master ~]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

使用以下命令将公钥添加到authorized_keys文件中

[root@master ~]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

设置ssh密钥的权限和授权权限:

[root@master ~]# chmod 0600 ~/.ssh/authorized_keys

将ssh密钥从master复制到slave1:
仅使用以下命令将公用密钥复制到服务器(从机1,从机2)。私钥绝不能复制到另一台机器上

[root@master ~]# ssh-copy-id -i $HOME/.ssh/id_rsa.pub root@slave1

[注意:如果以上命令显示错误。请按照步骤6来配置和禁用防火墙和iptables]

将ssh密钥从master复制到slave2:

[root@master ~]# ssh-copy-id -i $HOME/.ssh/id_rsa.pub root@slave2

[注意:如果以上命令显示错误。请按照步骤6来配置和禁用防火墙和iptables]

测试新密钥:
从主机到自己的ping ssh连接

[root@master ~]# ssh master

* ping SSH连接从主机到slave1机器*

[root@master~]

# ssh slave1
* ping SSH连接从主机到slave2机器*

[root@master~]

# ssh slave2

在slave1机器中
创建ssh密钥:
使用以下命令创建无密码的公共ssh密钥

[root@slave1 ~]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

使用以下命令将公钥添加到authorized_keys文件中

[root@slave1 ~]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

设置ssh密钥的权限和授权权限:

[root@slave1 ~]# chmod 0600 ~/.ssh/authorized_keys

将ssh密钥从slave1复制到主服务器:
仅使用以下命令将公用密钥复制到服务器(从机1,从机2)。私钥绝不能复制到另一台机器上

[root@slave1 ~]# ssh-copy-id -i $HOME/.ssh/id_rsa.pub root@master

[注意:如果以上命令显示错误。请按照步骤6来配置和禁用防火墙和iptables]

将ssh密钥从slave1复制到slave2:

[root@slave1 ~]

# ssh-copy-id -i $HOME/.ssh/id_rsa.pub root@slave2

[ 注意:如果以上命令显示错误。请按照步骤6来配置和禁用防火墙和iptables]

测试新密钥:
从slave1到自己的ping ssh连接

[root@slave1 ~]# ssh slave1

* ping从slave1到主机的ssh连接*

[root@slave1 ~]# ssh master

* ping从slave1到slave2机器的ssh连接*

[root@slave1 ~]# ssh slave2

在slave2机器中
创建ssh密钥:
使用以下命令创建无密码的公共ssh密钥

[root@slave2 ~]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

使用以下命令将公钥添加到authorized_keys文件中

[root@slave2 ~]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

设置ssh密钥的权限和授权权限:

[root@slave2~]# chmod 0600 ~/.ssh/authorized_keys

将ssh密钥从slave2复制到主服务器:
仅使用以下命令将公用密钥复制到服务器(从机1,从机2)。私钥绝不能复制到另一台机器上

[root@slave2 ~]# ssh-copy-id -i $HOME/.ssh/id_rsa.pub root@master

[ 注意:如果以上命令显示错误。请按照步骤6来配置和禁用防火墙和iptables]

将ssh密钥从slave2复制到slave 1:

[root@slave2 ~]# ssh-copy-id -i $HOME/.ssh/id_rsa.pub root@slave1

[注意:如果以上命令显示错误。请按照步骤6来配置和禁用防火墙和iptables]

测试新密钥:
从主机到自己的ping ssh连接

[root@slave2 ~]# ssh slave2

* ping从slave2到主机的ssh连接*

[root@slave2 ~]# ssh master

* ping从slave2到slave1机器的SSH连接*

[root@slave2 ~]# ssh slave1

步骤6:禁用防火墙和Iptable
[注意:仅当您在ssh连接或主从机之间ping遇到问题时,才应执行以下步骤。

禁用防火墙:
    $ systemctl disable firewalld
停止防火墙:

    $ systemctl stop firewalld
检查firewalld的状态:
    $ systemctl status firewalld

***由于防火墙操作服务不应在iptables服务运行时手动启动,因此可以防止防火墙服务在启动时自动启动***

    $ systemctl mask firewalld
安装iptable:
    $ yum install iptables-services

启用iptable:
    $ systemctl enable iptables

启动iptable:
    $ systemctl start iptables
停止iptables:

    $ service iptables stop
停止ip6table:

    $ service ip6tables stop

步骤7:安装Java 1.8
[注意:在主机和从机上分别安装Java]

***从Oracle网站下载jdk 1.8 ***

http://www.oracle.com/technetwork/pt/java/javase/downloads/jdk8-downloads-2133151.html

使用以下命令提取jdk-1.8 rpm文件

$ rpm -ivh /home/Download/jdk-8u181-linux-x64.rpm

***将提取的Java文件从/ home /下载到/ usr / local ***

$ mv /home/Download/jdk1.8.0_181 /usr/local/

步骤8:安装Hadoop
[ 注意:单独在主机上下载并安装hadoop并将共享的hadoop安装文件夹共享给从属计算机]

***使用以下命令在主系统中下载hadoop-3.1.0 ***

$ wget https://archive.apache.org/dist/hadoop/core/hadoop-3.1.0/hadoop-3.1.0.tar.gz

将hadoop-3.1.0.tar.gz文件从/ home /下载到主系统中的/ usr / local中

$ mv /home/Download/hadoop-3.1.0.tar.gz /usr/local

提取或解压缩hadoop-3.1.0文件

$ tar -xzvf /usr/local/hadoop-3.1.0.tar.gz

步骤9:编辑Hadoop配置文件
1.编辑〜/ .bash_profile
$ nano ~/.bash_profile

添加以下几行*

#Set Java-related environmental variables
export JAVA_HOME=/usr/local/jdk1.8.0_181-amd64
export PATH=$PATH:$JAVA_HOME/bin

# Set Hadoop-related environment variables
export HADOOP_HOME=/usr/local/hadoop-3.1.0
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME

# Add Hadoop bin/ directory to PATH
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

获取资料以反映变化

$ . ~/.bash_profile

现在使用以下命令检查JAVA版本

$ java –version

***现在使用以下命令检查HADOOP VERSION ***

$ hadoop version

6.编辑hadoop-env.sh
$ vim hadoop-env.sh

添加以下行*

export JAVA_HOME=/usr/local/jdk1.8.0_181-amd64
export HADOOP_CONF_DIR="${HADOOP_HOME}/etc/hadoop"
export PATH="${PATH}:${HADOOP_HOME}/bin"

步骤10:在主机上创建namenode目录

$ mkdir -p /home/hadoop/hadoop-3.1.0/hadoop_store/hdfs/namenode

步骤11:修改Masters文件并在master系统中添加namenode的IP地址
在主机上创建一个主机文件

$ vim masters

在主机文件中添加主机的IP地址*

192.168.1.9

步骤12:修改Slaves文件并在主系统中添加datanode的IP地址
在主机上创建奴隶文件

$ vim slaves

在slaves文件中添加从机的IP地址

192.168.1.23
192.168.1.3

要查看主文件的内容:
$ cat masters

它将显示主IP地址

192.168.1.9

要查看Slaves文件的内容:
$ cat slaves

它将显示从属IP地址列表

192.168.1.23
192.168.1.3

步骤13:将hadoop-3.1.0文件复制到从属服务器
将hadoop文件从主计算机/usr/local/hadoop-3.1.0安全复制到从计算机

***在主机中键入以下命令,并将文件从Master复制到Slave1 ***

$ scp -r /usr/local/hadoop-3.1.0 root@slave1:~/

***在主机上键入以下命令,并将文件从Master复制到Slave2 ***

$ scp -r /usr/local/hadoop-3.1.0 root@slave2:~/

步骤14:在Slave1和Slave2机器上建立datanode的目录
在hadoop-3.1.0中为从属计算机中的datanode创建目录

$ mkdir –p /home/hadoop/hadoop-3.1.0/hadoop_store/hdfs/datanode

chmod 777 /home/hadoop/hadoop-3.1.0/hadoop_store/hdfs/datanode

步骤15:在主计算机上格式化namenode

$ hdfs namenode -format

步骤16:启动Namenode和Datanode

$ start-dfs.sh

步骤17:启动Nodemanager和Resourcemanager

$ start-yarn.sh

步骤18:在主服务器和从服务器上启动Hadoop守护程序
在主机上键入以下命令

$ jps

它将显示主机的输出守护程序

10307 Jps
7961 ResourceManager
7105 NameNode
7352 SecondaryNameNode

在slave1机器的中键入以下命令***

$ jps

它将显示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。

赞(2) 打赏
特别声明:除特殊标注,本站文章均为原创,遵循CC BY-NC 3.0,转载请注明出处。三伏磨 » Hadoop-3.1集群安装配置

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏