前置环境
(1)下载:https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
(2)安装ZK Linux环境Zookeeper集群安装(详细教程)-优快云博客
(3)确保SSH互通Centos集群一键免密登陆xssh脚本
部署规划
1.第一台机器上传解压hadoop安装包
# 1.解压到指定路径
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -zxvf /opt/apk/hadoop-3.3.6.tar.gz -C /opt/
# 创建软链接
ln -s /opt/hadoop-3.3.6 /opt/apps/hadoop
# 2.配置环境变量
vi /etc/profile.d/my_env.sh
# 在末尾添加
# HADOOP_HOME
export HADOOP_HOME=/opt/apps/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# 3.使修改后的文件生效
source /etc/profile
# 4.测试Hadoop是否安装成功
hadoop version
2.目录准备
在bigdata01创建好,后面会分发给各个节点
像data1、data2...,本地目录可以配置多个,且每个目录存放内容相同,增加了可靠性,并没有真正提高高可用性
# 创建目录结构
mkdir -p /opt/apps/hadoop/data1/tmp
mkdir -p /opt/apps/hadoop/data2/tmp
mkdir -p /opt/apps/hadoop/data1/data/journalnode
mkdir -p /opt/apps/hadoop/data1/data/namenode
mkdir -p /opt/apps/hadoop/data2/data/namenode
mkdir -p /opt/apps/hadoop/data1/data/datanode
mkdir -p /opt/apps/hadoop/data2/data/datanode
# 创建目录的所属用户组和用户
groupadd hadoop
useradd -m -g hadoop hadoop
# 更改hadoop目录的所有权
chown -R hadoop:hadoop /opt/hadoop-3.3.6
chmod -R 755 /opt/apps/hadoop/data1/
chmod -R 755 /opt/apps/hadoop/data2/
3.集群配置
cd /opt/apps/hadoop/etc/hadoop
vi hadoop-env.sh
# 追加内容,日志路径配置修改该文件
export JAVA_HOME=/opt/apps/java
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export HDFS_ZKFC_USER=root
export HDFS_JOURNALNODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
下列配置,在<configuration>与</configuration>之间添加内容:
vi core-site.xml
<!-- 指定HDFS的通信地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://ns1</value>
</property>
<!-- 指定Hadoop临时数据的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/apps/hadoop/data1/tmp,/opt/apps/hadoop/data2/tmp</value>
</property>
<!-- 指定Hadoop日志的存储目录 -->
<property>
<name>hadoop.log.dir</name>
<value>/opt/apps/hadoop/data2/log/hadoop</value>
</property>
<!-- 配置ZooKeeper集群的地址列表,用于Hadoop高可用性(HA) -->
<property>
<name>ha.zookeeper.quorum</name>
<value>bigdata01:2181,bigdata02:2181,bigdata03:2181</value>
</property>
<!-- 设置访问Hadoop Web界面时使用的静态用户名 -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
<!-- 允许root用户代理任何主机上的请求,指定了哪些主机可以作为代理用户来提交作业 -->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<!-- 允许root用户代理任何组的用户 -->
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
vi hdfs-site.xml
<!-- 设置HDFS的副本数 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- NameNode的元数据存储目录 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/apps/hadoop/data1/data/namenode,/opt/apps/hadoop/data2/data/namenode</value>
</property>
<!-- DataNode的数据存储目录 -->
<p