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、资源调度引擎ya、计算引擎MapReduce.
1、hdfs集群
NameNode: 资源存储目录,负责维护整个HDFS文件系统的目录树以及每一个路径(文件)对应的block块信息
DataNode: 资源实际存储位置
2、ya集群
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.3export 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)ya-site.xml文件
<configuration><!-- 设置ResourceManager 域名 --><property><name>ya.resourcemanager.hostname</name><value>hadoop1</value></property> <!-- 开启ya.webapp.ui2 --> <property><description>To enable RM web ui2 application.</description><name>ya.webapp.ui2.enable</name><value>true</value> </property><!-- 默认为true, 当虚拟机内存不够多时,容易超出虚拟机内存 --><property> <name>ya.nodemanager.vmem-check-enabled</name> <value>false</value> <description>Whether virtual memory limits will be enforced for containers.</description></property></configuration>
当ya.nodemanager.vmem-check-enabled默认为true时,使用flink构建ya 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-ya.sh文件,在文件头添加如下用户设置(对应的stop-dfs.sh、stop-ya.sh也要修改,此处为hadoop3的特殊配置处,不修改,启动失败)。
start-dfs.sh
HDFS_DATANODE_USER=rootHDFS_DATANODE_SECURE_USER=hdfsHDFS_NAMENODE_USER=rootHDFS_SECONDARYNAMENODE_USER=root
start-ya.sh
YARN_RESOURCEMANAGER_USER=rootHADOOP_SECURE_DN_USER=yaYARN_NODEMANAGER_USER=root
6、启动hdfs、ya集群
6、启动集群(hdfs集群和ya集群)
只需在master节点(hadoop1)上操作即可,
6.1 启动hdfs集群
hdfs namenode -format#格式化hdfs文件系统start-dfs.sh#启动hdfs集群stop-dfs.sh#停止hdfs集群
6.2 启动ya集群
start-ya.sh#启动ya集群stop-ya.sh #停止yajiqun
6.3 进程验证
可用start-all.sh一次性启动hdfs、ya集群
7、ui界面登陆
7.1 hdfs集群管理 ui界面
7.2 ya集群管理ui界面
ya.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-ya/hadoop-ya-site/ya-service/QuickStart.html
作者:XSmileSmile
来源链接:https://www.cnblogs.com/hxuhongming/p/12872007.html
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。