Hadoop3单机部署,实现最简伪集群
1.节点说明
| ip | hostname | 说明 |
|---|---|---|
| 10.0.0.120 | hadoop-all | 主节点+数据节点 |
2.环境准备
需要JDK1.8运行环境,搭建请参考[Jdk安装(Linux,MacOS,Windows)]
3.设置主机名
# 主节点
hostnamectl set-hostname hadoop-all
4.设置host
# 所有节点配置
echo "10.0.0.120 hadoop-all" >> /etc/hosts
5.设置ssh免密码登录(主节点)
# 设置主节点自身ssh免密码登录以及主节点对各个数据节点ssh免密码登录
# 以下操作在主节点进行
# 生成公钥
ssh-keygen -t rsa
# 向主节点(本机)复制公钥
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 验证,输入yes,如果此时没有要求输入密码则配置成功
ssh hadoop-all
6.开放端口
# 主节点
firewall-cmd --add-port=9870/tcp && firewall-cmd --add-port=9870/tcp --permanent
firewall-cmd --add-port=8088/tcp && firewall-cmd --add-port=8088/tcp --permanent
firewall-cmd --add-port=9000/tcp && firewall-cmd --add-port=9000/tcp --permanent
firewall-cmd --add-port=50090/tcp && firewall-cmd --add-port=50090/tcp --permanent
# 或者关闭关闭防火墙
systemctl stop firewalld.service && systemctl disable firewalld.service
7.准备hadoop安装包
# 下载地址
http://hadoop.apache.org/
# 镜像地址
https://mirrors.cloud.tencent.com/apache/hadoop/common/
# 下载hadoop-3.3.6.tar.gz并解压到指定目录,如/data0/hadoop/hadoop-3.3.6
mkdir -p /data0/hadoop/
tar -zxvf hadoop-3.3.6.tar.gz
# 创建hadoop数据存放目录
mkdir -p /data1/hadoop/repo
8.修改配置
8.1.进入配置文件目录
cd /data0/hadoop/hadoop-3.3.6/etc/hadoop
8.2.修改hadoop-env.sh配置文件
# 编辑文件
vi hadoop-env.sh
# 添加
export JAVA_HOME=/data0/java/jdk1.8.0_361
export HADOOP_LOG_DIR=/data1/hadoop/repo/logs/hadoop
# /data0/java/jdk1.8.0_291为jdk安装目录
# /data1/hadoop/repo为hadoop数据存放目录
8.3.修改core-site.xml配置文件
# 编辑文件
vi core-site.xml
# 修改configuration节点配置
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop-all:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/data1/hadoop/repo</value>
</property>
</configuration>
# hadoop-all为主节点主机名
# 9000为端口
8.4.修改hdfs-site.xml配置文件
# 编辑文件
vi hdfs-site.xml
# 修改configuration节点配置
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
# 1为数据副本个数
8.5.修改mapred-site.xml配置文件
# 编辑文件
vi mapred-site.xml
# 修改configuration节点配置
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
8.6.修改yarn-site.xml配置文件
# 编辑文件
vi yarn-site.xml
# 修改configuration节点配置
<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,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
9.修改hadoop启动/停止配置
9.1.进入启动脚本目录
cd /data0/hadoop/hadoop-3.3.6/sbin
9.2.修改dfs.sh的启动/停止命令
# 编辑文件
vi start-dfs.sh
vi stop-dfs.sh
# 都添加
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
9.3.修改yarn.sh的启动/停止命令
# 编辑文件
vi start-yarn.sh
vi stop-yarn.sh
# 都添加
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
10.格式化hdfs
# 进入hadoop根目录
cd /data0/hadoop/hadoop-3.3.6
# 格式化
bin/hdfs namenode -format
11.启动/停止
# 进入hadoop根目录
cd /data0/hadoop/hadoop-3.3.6/sbin
# 启动
./start-all.sh
# 停止
./stop-all.sh
# 查看启动状态
jps
# 主节点启动[ResourceManager,NameNode,SecondaryNameNode,DataNode,NodeManager]
12.web查看状态
# 浏览器访问
10.0.0.120:9870
10.0.0.10:8088
13.配置环境变量
# 打开文件
vi ~/.bash_profile
# 添加环境变量
# HADOOP
export HADOOP_HOME=/data0/hadoop/hadoop-3.3.6
export PATH=$HADOOP_HOME/bin:$PATH
#保存退出
:x
# 让配置马上生效
source ~/.bash_profile