一、环境准备
0.配置说明
软体名称 | 软体版本号 |
---|---|
jdk | 1.8.0_281 |
centos7 | 3.10.0-1160.15.2.el7.x86_64 |
hadoop | 3.3.0 |
hadoop的运行环境:
节点 | 主机名 | IP |
---|---|---|
ResourceManager、DataNode、NameNode、NodeManage | master | 192.168.81.193 |
DataNode、NodeManage | slave1 | 192.168.81.194 |
DataNode、NodeManage | slave2 | 192.168.4.139 |
DataNode、NodeManage | slave3 | 192.168.4.140 |
SecondaryNameNode、DataNode、NodeManage | slave4 | 192.168.4.141 |
1.关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
2.关闭selinux
setenforce 0
3.关闭swap
sed -ri 's/.*swap.*/#&/' /etc/fstab
4.设置host
192.168.81.193 master
192.168.81.194 slave1
192.168.4.139 slave2
192.168.4.140 slave3
192.168.4.141 slave4
建议设置完重启下服务器
5.下载安装jdk、hadoop
- 下载jdk(每台服务器操作相同)
上传至服务器 (也可以wget 方式多样,灵活处理,不再赘述)
scp -r jdk-8u281-linux-x64.tar.gz root@192.168.81.193:/data/hadoop
解压(目录随意)
tar -xzvf jdk-8u281-linux-x64.tar.gz
我的文件解压目录为/opt/jdk
配置环境变量
vi /etc/profile
JAVA_HOME=/opt/jdk
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
文件末尾添加如下内容:
配置立即生效
source /etc/profile
输入 java 命令 测试,如图则配置成功
- 下载hadoop(每台服务器操作相同)
上传安装包至服务器
scp -r hadoop-3.3.0.tar.gz master:/data/hadoop
解压
tar -xzvf hadoop-3.3.0.tar.gz
解压目录为/opt/hadoop
配置环境变量
vi /etc/profile
export HADOOP_HOME=/home/hadoop/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
配置立即生效
source /etc/profile
输入 hadoop version 测试,如图则配置成功
6.配置免密登录
# 输入命令回车
ssh-keygen
# 按照提示先输入yes,再输入服务器用户对应密码
# 每两台配置双向ssh(包含自己,自己也是个数据节点)
ssh-copy-id root@master
二、集群搭建
1.修改配置
注意:每台服务器操作相同,不再赘述
- 修改core-site.xml
vim /opt/hadoop/hadoop-3.3.0/etc/hadoop/core-site.xml
# 添加如下配置
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
- 修改hdfs-site.xml
# 添加如下配置
<property>
<name>dfs.replication</name>
<value>5</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave4:50090</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
<description>need not permissions</description>
</property>
- 修改 mapred-site.xml
# 添加如下配置
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
- 修改yarn-site.xml
<property>
<description>指定YARN主节点(ResourceManager)的地址</description>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<!-- NodeManager上运行的附属服务。需要配置成mapreduce_shfffle,才可运行MapReduce程序默认值 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<discription>每个节点可用内存,单位MB,默认8182MB</discription>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.application.classpath</name>
<value>/opt/hadoop/hadoop-3.3.0/etc/hadoop:/opt/hadoop/hadoop-3.3.0/share/hadoop/common/lib/*:/opt/hadoop/hadoop-3.3.0/share/hadoop/common/*:/opt/hadoop/hadoop-3.3.0/share/hadoop/hdfs:/opt/hadoop/hadoop-3.3.0/share/hadoop/hdfs/lib/*:/opt/hadoop/hadoop-3.3.0/share/hadoop/hdfs/*:/opt/hadoop/hadoop-3.3.0/share/hadoop/mapreduce/*:/opt/hadoop/hadoop-3.3.0/share/hadoop/yarn:/opt/hadoop/hadoop-3.3.0/share/hadoop/yarn/lib/*:/opt/hadoop/hadoop-3.3.0/share/hadoop/yarn/*</value>
</property>
修改启动、停止脚本,使其能以root身份运行(不推荐生产环境如此操作)
- 修改stop-dfs.sh,start-dfs.sh
vim /opt/hadoop/hadoop-3.3.0/sbin/start-dfs.sh
# 文件开头添加如下配置
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
vim /opt/hadoop/hadoop-3.3.0/sbin/stop-dfs.sh
# 文件开头添加如下配置
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
- 修改start-yarn.sh,stop-yarn.sh
vim /opt/hadoop/hadoop-3.3.0/sbin/start-yarn.sh
# 文件开头添加如下配置
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
vim /opt/hadoop/hadoop-3.3.0/sbin/stop-yarn.sh
# 文件开头添加如下配置
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
2.执行脚本
执行 格式化
hdfs namenode -format
执行如下脚本 (每个节点执行相同操作)
start-dfs.sh
启动完成
2.测试
- 访问地址: