CentOS7安装三节点Hadoop集群
一 服务器配置
-
关闭防火墙
1# 查看状态 2firewall-cmd --state 3 4# 停止防火墙 5systemctl stop firewalld.service 6 7# 禁止开机自启动 8systemctl disable firewalld.service
-
关闭selinux
1vi /etc/sysconfig/selinux 2 3SELINUX=disabled
二 网络配置
-
找到待配置网卡
1cd /etc/sysconfig/network-scripts/ 2ls 3 4# 这里选择ifcfg-enp3s0 5 6vi ifcfg-enp3s0
-
修改下列配置
1BOOTPROTO=static 2ONBOOT=yes 3IPADDR=192.168.0.200 4GATEWAY=192.168.0.1 5DNS1=8.8.8.8
-
网络测试
1service network restart 2# 局域网测试 3ping 192.168.0.229 4 5# 外网测试 6ping www.baidu.com
三 安装Java
-
创建安装目录
1cd /home/whr 2mkdir java 3cd java
-
安装wget
1yum -y install wget
-
下载解压
使用wget下载或通过官网下载后,使用WinSCP传到 /home/whr/java 目录下
1cd /home/whr/java 2 3tar -zxvf jdk-8u281-linux-x64.tar.gz
-
设置环境变量
1vi /etc/profile 2 3# 末尾添加 4export JAVA_HOME=/home/whr/java/jdk1.8.0_281 5export JRE_HOME=${JAVA_HOME}/jre 6export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib 7export PATH=${JAVA_HOME}/bin:$PATH 8 9# 激活环境变量 10source /etc/profile
-
添加软链接
1ln -s /home/whr/java/jdk1.8.0_281/bin/java /usr/bin/java
-
安装完成
1java -version
四 配置hosts
-
节点规划
IP NodeType Name 192.168.0.200 DataNode slave1 192.168.0.201 DataNode slave2 192.168.0.202 NameNode / DataNode master -
hosts 配置
1vi /etc/hosts 2 3# 配置如下 4127.0.0.1 localhost 5192.168.0.200 slave1 6192.168.0.201 slave2 7192.168.0.202 master
五 配置SSH(主节点)
-
修改配置文件
1vi /etc/ssh/sshd_config 2 3AuthorizedKeysFile .ssh/authorized_keys 4PubkeyAuthentication yes
-
生成秘钥
1ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
-
分发公钥
1ssh-copy-id -i ~/.ssh/id_dsa.pub master 2ssh-copy-id -i ~/.ssh/id_dsa.pub slave1 3ssh-copy-id -i ~/.ssh/id_dsa.pub slave2 4 5# 验证 6ssh master 7ssh slave1 8ssh slave2
六 安装Hadoop(主节点)
-
下载
1cd /home/whr 2mkdir hadoop 3cd hadoop 4 5wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz 6# 或本地下载使用WinSCP传送
-
安装
1tar zxvf hadoop-3.2.1.tar.gz 2 3# 创建软链接 4ln -s /home/whr/hadoop/hadoop-3.2.1 /usr/local/hadoop
-
配置Hadoop环境变量
1vi /etc/profile 2 3# 末尾添加 4export HADOOP_HOME=/home/whr/hadoop/hadoop-3.2.1 5export PATH=${HADOOP_HOME}/bin:$PATH 6 7source /etc/profile
-
修改配置文件
1cd /usr/local/hadoop/etc/hadoop
-
配置hadoop-env.sh
1vi hadoop-env.sh 2 3export JAVA_HOME=/home/whr/java/jdk1.8.0_281
-
配置core-site.xml
1vi core-site.xml 2 3<configuration> 4 <property> 5 <name>hadoop.tmp.dir</name> 6 <value>/home/whr/hadoop/tmp</value> 7 <description>Abase for other temporary directories.</description> 8 </property> 9 10 <property> 11 <name>fs.default.name</name> 12 <value>hdfs://master:9000</value> 13 </property> 14</configuration>
-
配置hdfs-site.xml
1vi hdfs-site.xml 2 3<configuration> 4 <property> 5 <name>dfs.namenode.name.dir</name> 6 <value>/home/whr/hadoop/dfs/name</value> 7 </property> 8 <property> 9 <name>dfs.datanode.data.dir</name> 10 <value>/home/whr/hadoop/dfs/data</value> 11 </property> 12</configuration>
-
配置yarn-site.xml
1vi yarn-site.xml 2 3<configuration> 4 <property> 5 <name>yarn.nodemanager.aux-services</name> 6 <value>mapreduce_shuffle</value> 7 </property> 8 <property> 9 <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name> 10 <value>org.apache.hadoop.mapred.ShuffleHandler</value> 11 </property> 12 <property> 13 <name>yarn.resourcemanager.hostname</name> 14 <value>master</value> 15 </property> 16</configuration>
-
配置mapred-site.xml
1vi mapred-site.xml 2 3<configuration> 4 <property> 5 <name>mapred.job.tracker</name> 6 <value>master:49001</value> 7 </property> 8 <property> 9 <name>mapred.local.dir</name> 10 <value>/home/whr/hadoop/var</value> 11 </property> 12 <property> 13 <name>mapreduce.framework.name</name> 14 <value>yarn</value> 15 </property> 16</configuration>
-
配置workers
1vi workers 2 3master 4slave1 5slave2
-
修改hdfs启动和停止脚本
1cd /usr/local/hadoop/sbin 2 3vi start-dfs.sh 4vi stop-dfs.sh 5 6# 在最前面加如下内容 7HDFS_DATANODE_USER=root 8HADOOP_SECURE_DN_USER=root 9HDFS_NAMENODE_USER=root 10HDFS_SECONDARYNAMENODE_USER=root
-
修改yarn启动和停止脚本
1cd /usr/local/hadoop/sbin 2 3vi start-yarn.sh 4vi stop-yarn.sh 5# 在文件前添加如下内容 6YARN_RESOURCEMANAGER_USER=root 7HADOOP_SECURE_DN_USER=root 8YARN_NODEMANAGER_USER=root
-
-
从节点配置Hadoop
1# 将配置好的Hadoop复制到从节点 2scp -r /home/whr/hadoop/hadoop-3.2.1 root@192.168.0.201:/home/whr/hadoop/ 3 4# 设置软链接 5ssh slave1 6ln -s /home/whr/hadoop/hadoop-3.2.1 /usr/local/hadoop 7exit 8 9ssh slave2 10ln -s /home/whr/hadoop/hadoop-3.2.1 /usr/local/hadoop 11exit
七 启动测试
-
格式化namenode
1hdfs namenode -format 2 3# 重新格式化需要删除tmp和dfs文件夹
-
启动hdfs
1cd /usr/local/hadoop/sbin 2 3bash start-all.sh
-
启动yarn
1bash start-all.sh
-
验证
1jps 2 34800 NodeManager 44002 NameNode 54387 SecondaryNameNode 64666 ResourceManager 713355 Jps 84126 DataNode 9 10 11# 客户端访问 12http://192.168.0.202:9870/ 13http://192.168.0.202:8088/