hadoop集群搭建(hadoop-3.1.3)
2020双十 阿里云服务器ECS团购特惠链接
一、系统配置
3台虚拟机
hadoop1: 4g内存 2核 80g硬盘 作为master节点
hadoop2 1g内存 1核 8g硬盘 作为slave节点
hadoop3: 1g内存 1核 8g硬盘 作为slave节点
二、基础概念
hadoop主要包含了3个组件:存储组件hdfs、资源调度引擎yarn、计算引擎MapReduce.
1、hdfs集群
NameNode: 资源存储目录,负责维护整个HDFS文件系统的目录树以及每一个路径(文件)对应的block块信息
DataNode: 资源实际存储位置
2、yarn集群
ResourceManage: 负责资源的分配与调度
NodeManager: 负责接收 ResourceManager的资源分配请求,分配具体的资源给应用
三、hadoop集群搭建
1、下载安装包到hadoop1节点的/usr/local/softwareinstall目录
curl -O https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz
2、远程传输到hadoop2、hadoop3节点同目录下
scp hadoop-3.1.3.tar.gz root@hadoop2:`pwd`
scp hadoop-3.1.3.tar.gz root@hadoop3:`pwd`
3、解压安装包(3台节点同时操作)
tar -zxvf hadoop-3.1.3.tar.gz
4、添加hadoop环境变量
vim /etc/profile
添加如下配置
export HADOOP_HOME=/usr/local/softwareinstall/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile #使修改生效
5、修改配置文件
(1)core-site.xml
添加如下配置
<configuration>
<!--定义namenode地址 默认9000-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:9003</value>
</property>
<!--修改用于hadoop存储数据的默认位置-->
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop</value>
</property>
</configuration>
(2)workers文件
(3)hadoop-env.sh文件
告知hadoop jdk安装目录所在
(4)yarn-site.xml文件
<configuration>
<!-- 设置ResourceManager 域名 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop1</value>
</property>
<!-- 开启yarn.webapp.ui2 -->
<property>
<description>To enable RM web ui2 application.</description>
<name>yarn.webapp.ui2.enable</name>
<value>true</value>
</property>
<!-- 默认为true, 当虚拟机内存不够多时,容易超出虚拟机内存 -->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
<description>Whether virtual memory limits will be enforced for containers.</description>
</property>
</configuration>
当yarn.nodemanager.vmem-check-enabled默认为true时,使用flink构建yarn session,提示的异常信息。
Container [pid=7847,containerID=container_1589119427597_0002_02_000001] is running 69892608B beyond the 'VIRTUAL' memory limit. Current usage: 211.4 MB of 1 GB physical memory used; 2.2 GB of 2.1 GB virtual memory used. Killing container.
(5)修改/usr/local/softwareinstall/hadoop-3.1.3/sbin/目录下的start-dfs.sh、start-yarn.sh文件,在文件头添加如下用户设置(对应的stop-dfs.sh、stop-yarn.sh也要修改,此处为hadoop3的特殊配置处,不修改,启动失败)。
start-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
start-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
6、启动hdfs、yarn集群
6、启动集群(hdfs集群和yarn集群)
只需在master节点(hadoop1)上操作即可,
6.1 启动hdfs集群
hdfs namenode -format #格式化hdfs文件系统
start-dfs.sh #启动hdfs集群
stop-dfs.sh #停止hdfs集群
6.2 启动yarn集群
start-yarn.sh #启动yarn集群
stop-yarn.sh #停止yarnjiqun
6.3 进程验证
可用start-all.sh一次性启动hdfs、yarn集群
7、ui界面登陆
7.1 hdfs集群管理 ui界面
7.2 yarn集群管理ui界面
yarn.webapp.ui2界面
各ui对应的端口查看
netstat -netlp
参考:
(1)https://hadoop.apache.org/docs/r3.1.3/hadoop-project-dist/hadoop-common/ClusterSetup.html
(2)https://hadoop.apache.org/docs/r3.1.3/hadoop-yarn/hadoop-yarn-site/yarn-service/QuickStart.html