1、虚拟机环境配置
1.1 虚拟机参数
主节点hadoop100: RAM 4G ,CPU 4 ,ROM 64G
从节点hadoop101: RAM 2G ,CPU 1 ,ROM 64G
从节点hadoop102: RAM 2G ,CPU 1 ,ROM 64G
- 下面先配置hadoop100,如果没有说明,默认是在hadoop100虚拟机上操作
1.2 静态IP配置
-
关闭网络管理器
systemctl stop NetworkManager systemctl disable NetworkManager
-
修改网络配置,设置静态IP
vim /etc/sysconfig/network-scripts/ifcfg-ens33
-
重启网络
service network restart
-
查看IP是否设置成功
ifconfig
-
hadoop101、 hadoop102的静态IP配置与以上操作相同,IP分别设为192.168.68.101、192.168.68.102
1.3 主机名设置
-
编辑网络配置文件
vim /etc/sysconfig/network
增加以下内容:
NETWORKING=yes HOSTNAME=hadoop100
-
永久设置主机名
hostnamectl set-hostname hadoop100
-
重启
reboot
-
查看主机名是否生效
hostname
-
hadoop101、 hadoop102的主机名配置与以上操作相同,主机名分别设为hadoop101、 hadoop102
1.4 hosts文件配置
-
配置 IP 和 hostname 的映射关系
vim /etc/hosts
增加以下内容:
192.168.68.100 hadoop100 192.168.68.101 hadoop101 192.168.68.102 hadoop102
-
hadoop101、 hadoop102的hosts文件配置与以上操作相同
1.5 关闭防火墙
- 三台虚拟机都需要关闭
systemctl stop firewalld.service systemctl disable firewalld.service
1.6 ssh免密码登陆
-
hadoop100虚拟机生成公钥,一路按回车就行
ssh-keygen -t rsa
-
向本机复制公钥
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
-
登录hadoop100验证
ssh hadoop100
第一次验证的时候会提示输入 yes 或 no, 输入了 yes 之后按回车可以进入就表示免密码登陆配置成功。
-
把公钥复制到另外两台虚拟机(需要输入对应的密码)
ssh-copy-id -i hadoop101 ssh-copy-id -i hadoop102
-
在 hadoop100 机器上使用 ssh 命令确认集群免密码登陆是否设置成功, 如果可以免密码登陆进去就说明是没有问题的
ssh hadoop101 exit ssh hadoop102 exit
1.7 jdk 安装
-
创建存放目录
mkdir -p /data/soft/ cd /data/soft/
-
hadoop101、 hadoop102同样需要创建/data/soft/目录
-
提前下载好jdk安装包,上传安装包到该目录下(本安装从Windows主机使用xshell操作)
rz
-
解压,重命名
tar -zxvf jdk-8u261-linux-x64.tar.gz mv jdk1.8.0_261/ jdk1.8
-
配置环境变量
vim /etc/profile
在文件末尾增加以下内容:
export JAVA_HOME=/data/soft/jdk1.8 export HADOOP_HOME=/data/soft/hadoop-3.2.1 export PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH
-
刷新环境变量配置
source /etc/profile
-
检查jdk是否安装成功
java -version
-
复制hadoop100的jdk以及环境变量配置到另外两台虚拟机
scp -rq /data/soft/jdk1.8/ hadoop101:/data/soft/ scp -rq /etc/profile hadoop101:/etc/ scp -rq /data/soft/jdk1.8/ hadoop102:/data/soft/ scp -rq /etc/profile hadoop102:/etc/
-
分别切换到hadoop101、hadoop102,执行以下操作
source /etc/profile java -version
2、Hadoop安装
首先在 hadoop100 节点上安装,再复制到另外两台虚拟机。
2.1 Hadoop安装包
- 将下载好的Hadoop安装包,上传到目录,解压
cd /data/soft tar -zxvf hadoop-3.2.1.tar.gz
2.2 修改 hadoop 相关配置文件
-
进入配置文件所在目录
cd hadoop-3.2.1/etc/hadoop/
-
修改 hadoop-env.sh 文件,增加环境变量信息
vim hadoop-env.sh
在文件最后增加以下内容:
export JAVA_HOME=/data/soft/jdk1.8 export HADOOP_LOG_DIR=/data/hadoop_repo/logs/hadoop
-
修改 core-site.xml 文件, 注意 fs.defaultFS 属性中的主机名需要和你配置的主机名保持一致
vim core-site.xml
增加以下内容:(注意文件中已经有“configuration”标签)
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop100:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/data/hadoop_repo</value> </property> </configuration>
-
修改 hdfs-site.xml 文件, 把 hdfs 中文件副本的数量设置为2
vim hdfs-site.xml
增加以下内容:
<configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop100:50090</value> </property> </configuration>
-
修改 mapred-site.xml, 设置 mapreduce 使用的资源调度框架
vim mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
-
修改 yarn-site.xml, 设置 yarn 上支持运行的服务和环境变量白名单
vim yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.env-whitelist</name> <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CL ASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop100</value> </property> </configuration>
-
修改 workers 文件, 增加所有从节点的主机名, 一个一行
vim workers
先删掉workers 文件原有的localhost,增加以下内容:
hadoop101 hadoop102
-
修改启动脚本
cd /data/soft/hadoop-3.2.1/sbin
-
在start-dfs.sh,stop-dfs.sh增加以下内容:
HDFS_DATANODE_USER=root HDFS_DATANODE_SECURE_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root
-
在start-yarn.sh,stop-yarn.sh增加以下内容:
YARN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root
2.3 复制已配置的Hadoop到从节点
-
把 hadoop100 节点上修改好配置的安装包拷贝到其他两个从节点
cd /data/soft/ scp -rq hadoop-3.2.1 hadoop101:/data/soft/ scp -rq hadoop-3.2.1 hadoop102:/data/soft/
2.4 格式化namenode
-
如果多次格式化,需要先删除虚拟机的/data/hadoop_repo目录(core-site.xml 文件中设置的目录),再格式化才能成功。
cd /data/soft/hadoop-3.2.1 bin/hdfs namenode -format
成功界面:
2.5 启动集群
-
在 hadoop100 节点上执行
sbin/start-all.sh
2.6 验证集群
-
分别在三台虚拟机上运行命令:
jps
-
还可以通过 webui 界面来验证集群服务是否正常,在这三台虚拟机中任意的浏览器访问:
hdfs webui 界面: http://192.168.68.100:9870
yarn webui 界面: http://192.168.68.100:8088
至此, hadoop 分布式集群安装成功~
3、参考文章
本文主要依照了慕课网徐老师的快速入门Hadoop3.0大数据处理所提供的安装文档。