Hadoop3.X集群安装
一、hadoop集群整体概述
- 包括两个集群:HDFS集群、YARN集群,两个集群逻辑上分离、通常物理上在一起,两个集群都是标准的主从架构集群,两个集群互相之间没有依赖、互不影响。
- HDFS集群:主角色NameNode、从角色DataNode、主角色辅助角色SecondaryNameNode。
- YARN集群:主角色ResourceManager、从角色NodeManager。
- MapReduce是计算框架、代码层面的组件,没有集群之说。
二、安装包下载地址
https://archive.apache.org/dist/hadoop/common/
三、服务器基础环境配置
1. 三台服务器
192.168.0.54
192.168.0.58
192.168.0.59
2. 操作系统
CentOS7.2
3. 主机名修改(3台机器)
hostnamectl set-hostname hadoop01
hostnamectl set-hostname hadoop02
hostnamectl set-hostname hadoop03
4. 配置hosts映射(3台机器)
cat >>/etc/hosts << EOF
192.168.0.54 node1 hadoop01
192.168.0.58 node2 hadoop02
192.168.0.59 node3 hadoop03
EOF
5. 关闭防火墙(3台机器)
systemctl stop firewalld
systemctl disable firewalld
6. ssh免密登录(node1->node1/node2/node3)
ssh-keygen
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3
7. 集群时间同步(3台机器)
yum install ntpdate -y
ntpdate ntp4.aliyun.com
定时同步
10 00 * * * ntpdate ntp4.aliyun.com >/dev/null 2>&1
8. 创建统一工作目录(3台机器)
mkdir -p /web/server
mkdir -p /web/data
mkdir -p /web/software
9. jdk1.8安装(3台机器)
jdk下载地址:
https://www.oracle.com/cn/index.html
将安装包上传到/web/software目录下
解压缩包
cd /web/software
tar xf jdk-8u333-linux-x64.tar.gz
mv jdk1.8.0_333/ /web/server/
设置环境变量
vim /etc/profile
export JAVA_HOME=/web/server/jdk1.8.0_333
export PATH=${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin:${PATH}
export CLASSPATH=${CLASSPATH}:${JAVA_HOME}/lib:${JAVA_HOME}/jre/lib
export JRE_HOME=${JAVA_HOME}/jre
使环境变量生效
source /etc/profile
查看是否安装成功
java -version
四、hadoop集群安装
1. 上传解压hadoop安装包(node1机器)
cd /web/software
tar xf hadoop-3.3.0-Centos7-64-with-snappy.tar.gz -C /web/server/
2. 修改配置文件
cd /web/server/hadoop-3.3.0/etc/hadoop
vim hadoop-env.sh
export JAVA_HOME=/web/server/jdk1.8.0_333
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
vim core-site.xml
<!-- 设置默认使用的文件系统 Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统 -->
<property>
<name>fs.defaultFS
<value>hdfs://node1:8020
</property>
<!-- 设置Hadoop本地保存数据路径 -->
<property>
<name>hadoop.tmp.dir
<value>/web/data/hadoop-3.3.0
</property>
<!-- 设置HDFS web UI用户身份 -->
<property>
<name>hadoop.http.staticuser.user
<value>root
</property>
<!-- 整合hive 用户代理设置 -->
<property>
<name>hadoop.proxyuser.root.hosts
<value>
</property>
<property>
<name>hadoop.proxyuser.root.groups
<value>
</property>
<!-- 文件系统垃圾桶保存时间 -->
<property>
<name>fs.trash.interval
<value>1440
</property>
vim hdfs-site.xml
<!-- 设置SNN进程运行机器位置信息 -->
<property>
<name>dfs.namenode.secondary.http-address
<value>node2:9868
</property>
vim mapred-site.xml
<!-- 设置MR程序默认运行模式: yarn集群模式 local本地模式 -->
<property>
<name>mapreduce.framework.name
<value>yarn
</property>
<!-- MR程序历史服务地址 -->
<property>
<name>mapreduce.jobhistory.address
<value>node1:10020
</property>
<!-- MR程序历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address
<value>node1:19888
</property>
<property>
<name>yarn.app.mapreduce.am.env
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}
</property>
<property>
<name>mapreduce.map.env
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}
</property>
<property>
<name>mapreduce.reduce.env
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}
</property>
vim yarn-site.xml
<!-- 设置YARN集群主角色运行机器位置 -->
<property>
<name>yarn.resourcemanager.hostname
<value>node1
</property>
<property>
<name>yarn.nodemanager.aux-services
<value>mapreduce_shuffle
</property>
<!-- 是否将对容器实施物理内存限制 -->
<property>
<name>yarn.nodemanager.pmem-check-enabled
<value>false
</property>
<!-- 是否将对容器实施虚拟内存限制。 -->
<property>
<name>yarn.nodemanager.vmem-check-enabled
<value>false
</property>
<!-- 开启日志聚集 -->
<property>
<name>yarn.log-aggregation-enable
<value>true
</property>
<!-- 设置yarn历史服务器地址 -->
<property>
<name>yarn.log.server.url
<value>http://node1:19888/jobhistory/logs
</property>
<!-- 历史日志保存的时间 7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds
<value>604800
</property>
vim workers
192.168.0.54 hadoop01
192.168.0.58 hadoop02
192.168.0.59 hadoop03
另外两台服务器同样的配置
scp -r hadoop-3.3.0/ node2:/web/server/
scp -r hadoop-3.3.0/ node3:/web/server/
3. 配置hadoop环境变量(3台机器)
vim /etc/profile
export HADOOP_HOME=/web/server/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
4. hadoop初始化操作(node1机器)
- 首次启动之前需要format操作
- format只能进行一次,后续不再需要;
- 如果多次format除了造成数据丢失外,还会导致hdfs集群主从角色之间互不识别,通过删除所有机器hadoop.tmp.dir目录重新format解决。
hdfs namenode -format
5. hadoop集群启动(node1机器)
-
HDFS集群
start-dfs.sh
stop-dfs.sh -
YARN集群
start-yarn.sh
stop-yarn.sh -
Hadoop集群
start-all.sh
stop-all.sh
6. 进程状态、日志查看
jps
- 日志路径
/web/server/hadoop-3.3.0/logs
7. 页面查看
-
HDFS集群
NameNode所在机器
http://192.168.0.54:9870/ -
YARN集群
ResourceManager所在机器
http://192.168.0.54:8088/
8. 基础操作
hadoop fs -ls /
hadoop fs -mkdir /data
hadoop fs -put 1.txt /data
官方自带案例,评估圆周率
hadoop jar hadoop-mapreduce-examples-3.3.0.jar pi 2 2
至此hadoop集群安装完成!!!
本文来自博客园,作者:霸都运维,转载请注明原文链接:https://www.cnblogs.com/wangjie20200529/p/16348024.html