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