Hadoop安装部署方式有三种,在这里介绍其中一种安装部署方式——全分布模式。我们基本上在生产环境上使用的都是全分布模式,全分布模式具备Hadoop的所有功能,即Hadoop全分布模式包含以下组件:
HDFS:NameNode + DataNode + SecondaryNameNode
Yarn:ResourceManager + NodeManager
在这里介绍使用三台机器安装Hadoop全分布模式(一台作为主节点,另外两台作为数据节点)
一. 准备工作
- 安装三台Linux系统(rhel-server-7.4-x86_64),它们的IP分别为192.168.2.112(主节点)、192.168.2.113(数据节点)、192.168.2.114(数据节点),并且在Linux系统下安装好JDK(包括被配置好JDK的环境变量),关闭系统防火墙
- 在hosts文件中设置主机名和IP vi /etc/hosts
192.168.2.112 bigdata112
192.168.2.113 bigdata113
192.168.2.114 bigdata114
- 配置免密码登录:两两之间的免密码登录(需要先生成密钥对,具体可参考Linux配置免密码登录)
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata112
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata113
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata114
- 保证三台机器时间一致,否则则有可能启动失败,这里可以在三台机器上执行以下命令,该命令是给三台机器设置同一时间
date -s 2019-07-18
二. 开始安装
一般情况下,集群的安装,都是现在主节点安装配置好之后,再复制过去从节点的,所以在这里,我们先对主节点(bigdata112)进行配置
1.将hadoop-2.7.3.tar.gz上传到bigdata112上并解压,然后配置好Hadoop的环境变量,具体可参考Hadoop伪分布模式安装
2. 修改 /root/training/hadoop-2.7.3/etc/hadoop/hadoop-env.sh文件,将JAVA_HOME设置为JDK安装路径
export JAVA_HOME=/root/training/jdk1.8.0_144
image.png
3. 修改/root/training/hadoop-2.7.3/etc/hadoop/hdfs-site.xml,在文件中添加以下配置
<!--配置数据块的冗余度,默认是3-->
<!--原则冗余度跟数据节点个数保持一致,最大不要超过3-->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!--是否开启HDFS的权限检查,默认是true-->
<!--使用默认值,后面会改为false-->
<!--
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
-->
4. 修改/root/training/hadoop-2.7.3/etc/hadoop/core-site.xml,在文件中添加以下配置
<!--配置HDFS主节点的地址,就是NameNode的地址-->
<!--9000是RPC通信的端口-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata112:9000</value>
</property>
<!--HDFS数据块和元信息保存在操作系统的目录位置-->
<!--默认是Linux的tmp目录,一定要修改-->
<property>
<name>hadoop.tmp.dir</name>
<value>/root/training/hadoop-2.7.3/tmp</value>
</property>
使用mkdir命令将/root/training/hadoop-2.7.3/tmp创建出来:
[root@bigdata112 hadoop]# mkdir /root/training/hadoop-2.7.3/tmp
[root@bigdata112 hadoop]#
5. 修改/root/training/hadoop-2.7.3/etc/hadoop/mapred-site.xml(注意:mapred-site.xml文件默认不存在,可以通过在该目录下的mapred-site.xml.template复制然后重命名得到),添加以下配置:
<!--MR程序运行容器或者框架-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
6. 修改/root/training/hadoop-2.7.3/etc/hadoop/yarn-site.xml,添加以下配置:
<!--配置Yarn主节点的位置-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata112</value>
</property>
<!--NodeManager执行MR任务的方式是Shuffle洗牌-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
7. 修改 /root/training/hadoop-2.7.3/etc/hadoop/slaves,配置从节点地址
bigdata113
bigdata114
8. 通过以下命令对namenode进行格式化
[root@bigdata112 hadoop]# hdfs namenode -format
当输出日志出现以上信息时代表格式化成功
8. 至此,主节点bigdata112配置完成,然后通过下面命令将配置好Hadoop复制到bigdata113和bigdata114
[root@bigdata112 training]# scp -r hadoop-2.7.3/ root@bigdata113:/root/training/
[root@bigdata112 training]# scp -r hadoop-2.7.3/ root@bigdata114:/root/training/
同样的必须在bigdata113和bigdata114上配置好Hadoop的环境变量:
HADOOP_HOME=/root/training/hadoop-2.7.3
export HADOOP_HOME
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH
9. 主从节点安装完成,在主节点bigdata112通过以下命令启动Hadoop
[root@bigdata112 training]# start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
Starting namenodes on [bigdata112]
bigdata112: starting namenode, logging to /root/training/hadoop-2.7.3/logs/hadoop-root-namenode-bigdata112.out
bigdata113: starting datanode, logging to /root/training/hadoop-2.7.3/logs/hadoop-root-datanode-bigdata113.out
bigdata114: starting datanode, logging to /root/training/hadoop-2.7.3/logs/hadoop-root-datanode-bigdata114.out
Starting secondary namenodes [0.0.0.0]
The authenticity of host '0.0.0.0 (0.0.0.0)' can't be established.
ECDSA key fingerprint is SHA256:6tFNKeGoCwTgtVGXXJFBvBW/H53zzkrSp88EIRhHSPg.
ECDSA key fingerprint is MD5:13:5a:45:0e:fa:96:73:f8:29:e4:e3:27:e3:87:e9:72.
Are you sure you want to continue connecting (yes/no)? yes
0.0.0.0: Warning: Permanently added '0.0.0.0' (ECDSA) to the list of known hosts.
0.0.0.0: starting secondarynamenode, logging to /root/training/hadoop-2.7.3/logs/hadoop-root-secondarynamenode-bigdata112.out
starting yarn daemons
starting resourcemanager, logging to /root/training/hadoop-2.7.3/logs/yarn-root-resourcemanager-bigdata112.out
bigdata113: starting nodemanager, logging to /root/training/hadoop-2.7.3/logs/yarn-root-nodemanager-bigdata113.out
bigdata114: starting nodemanager, logging to /root/training/hadoop-2.7.3/logs/yarn-root-nodemanager-bigdata114.out
[root@bigdata112 training]#
在bigdata112通过jps查看:
[root@bigdata112 training]# jps
4514 ResourceManager
4167 NameNode
4361 SecondaryNameNode
4780 Jps
[root@bigdata112 training]#
在bigdata113通过jps查看:
[root@bigdata113 training]# jps
4243 Jps
4006 DataNode
4125 NodeManager
[root@bigdata113 training]#
在bigdata114通过jps查看
[root@bigdata114 training]# jps
3987 DataNode
4230 Jps
4106 NodeManager
[root@bigdata114 training]#
通过网页(http://192.168.2.112:50070)访问hdfs:
通过网页(http://192.168.2.112:8088)访问yarn:
有上面信息可以,Hadoop全分布模式安装成功。
网友评论