Apache Doris Broker快速体验之Hadoop安装部署(1)
环境信息
VM镜像及Hadoop版本说明。
硬件信息
- CPU :4C
- CPU型号:ARM64
- 内存 :10GB
- 硬盘 :66GB SSD
软件信息
- VM镜像版本 :CentOS-7
- Hadoop版本:3.3.4
前置准备
防火墙关闭
#查看防火墙状态
systemctl status firewalld
#关闭防火墙
systemctl stop firewalld
新增hadoop用户
#新增hadoop用户
useradd hadoop
passwd hadoop
#hadoop用户新增sudo权限
vi /etc/sudoers
#在root ALL=(ALL) ALL下加入一行
hadoop ALL=(ALL) ALL
Hadoop安装部署
#创建安装目录
mkdir -p /usr/hadoop
#进入到安装目录
cd /usr/hadoop
#根据需要选择版本:https://dlcdn.apache.org/hadoop/common/
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
#解压
tar -zxvf hadoop-3.3.4.tar.gz
#重置路径
mv hadoop-3.3.4/* ./
#清除压缩包
rm -rf hadoop-3.3.4*
Hadoop初始化
配置环境变量
vi /etc/profile
#hadoop
export HADOOP_HOME=/usr/hadoop
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
source /etc/profile
配置JAVA环境
vim ./etc/hadoop/hadoop-env.sh
#新增java home
JAVA_HOME=/usr/local/java/jdk1.8.0_361
配置 core-site.xml 配置文件
vim ./etc/hadoop/core-site.xml
#在配置文件中添加:hdfs 的数据访问地址和设置临时数据存放目录
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://doris:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop_data/tmp</value>
</property>
</configuration>
#后续需要创建对应hadoop级别的目录
配置 hdfs-site.xml 配置文件
vim ./etc/hadoop/hdfs-site.xml
#在配置文件添加:文件副本数量、
#hdfs 的 namenode 数据存储目录、
#hdfs 的 datanode 数据 存储目录、hdfs 的 web 访问地址
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop_data/dfs/nn</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop_data/dfs/dn</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>0.0.0.0:50070</value>
</property>
</configuration>
配置 yarn-site.xml 配置文件
vim ./etc/hadoop/yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>doris</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 避免与doris的一些默认端口冲突 -->
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>doris:8035</value>
</property>
<property>
<name>yarn.nodemanager.localizer.address</name>
<value>doris:8046</value>
</property>
</configuration>
配置 mapred.site.xml 配置文件
#在配置文件中添加:mapreduce 框架名字、mapreduce 历史任务地址、
#mapreduce 历史任务 web 访问地址
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>doris:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>doris:19888</value>
</property>
</configuration>
配置 workers 文件
vim ./etc/hadoop/workers
#在配置文件里面添加 datanode 数据节点的主机名
doris
新建相关目录文件夹
[hadoop@doris ~]$ sudo mkdir -p /home/hadoop_data/tmp
[hadoop@doris ~]$ sudo mkdir -p /home/hadoop_data/dfs/nn
[hadoop@master ~]$ sudo mkdir -p /home/hadoop_data/dfs/dn
修改 Hadoop 文件属主权限
[hadoop@master ~]$ sudo chown -R hadoop:hadoop /usr/hadoop
[hadoop@master ~]$ sudo chown -R hadoop:hadoop /home/hadoop_data/
启动 Hadoop 服务
#切换用户
su hadoop
#格式化 namenode(master节点->我这台单节点hostname为doris)
hdfs namenode -format
#启动 hadoop(master 节点)
start-all.sh
#停止 hadoop集群
stop-all.sh
查看 hadoop 的守护进程
jps -l
常见问题
启动时无权限
Hadoop错误日志
进程错误日志
解决方法
#即使单节点也需要配密钥
ssh-keygen -t rsa
#将公钥发送到要免密登陆的节点上(包括本机)
ssh-copy-id -i hadoop@doris
#验证是否成功
cat /etc/hostname
ssh doris
常用默认端口验证
- yarn web:8088
- hadoop web:50070
单节点部署hadoop至此结束,若想搭建hadoop集群、只需在此基础上增加worker、密钥分发及各xml的slave信息即可