首页 > 其他分享 >Hadoop集群搭建

Hadoop集群搭建

时间:2022-10-20 20:25:13浏览次数:57  
标签:xml hadoop yarn Hadoop export 集群 HADOOP 搭建

Hadoop集群搭建

Hadoop 集群的安装配置大致包括以下步骤:
(1)步骤1:选定一台机器作为 Master;
(2)步骤2:在Master节点上安装Hadoop,并完成配置;
(3)步骤3:将Master节点上的“/export/server/hadoop”目录复制到其他Slave节点上;
(4)步骤4:在Master节点上开启Hadoop;

1. 上传hadoop包并解压

tar -zxvf hadoop-3.3.1.tar.gz -C /export/server/

修改文件名

cd /export/server/
mv hadoop-3.3.1/ hadoop

2. hadoop各文件功能解析

bin:Hadoop最基本的管理脚本和使用脚本的目录,这些脚本是sbin目录下管理脚本的基础实现,用户可以直接使用这些脚本管理和使用Hadoop。
etc:Hadoop配置文件所在的目录,包括core-site,xml、hdfs-site.xml、mapred-site.xml等从Hadoop1.0继承而来的配置文件和yarn-site.xml等Hadoop2.0新增的配置文件。
include:对外提供的编程库头文件(具体动态库和静态库在lib目录中),这些头文件均是用C++定义的,通常用于C++程序访问HDFS或者编写MapReduce程序。
lib:该目录包含了Hadoop对外提供的编程动态库和静态库,与include目录中的头文件结合使用。
libexec:各个服务对用的shell配置文件所在的目录,可用于配置日志输出、启动参数(比如JVM参数)等基本信息。
sbin:Hadoop管理脚本所在的目录,主要包含HDFS和YARN中各类服务的启动/关闭脚本。
share:Hadoop各个模块编译后的jar包所在的目录,官方自带示例。

3. Hadoop配置文件修改

3.1 hadoop.env.sh

设置hadoop运行时所需要的环境变量

cd /export/server/hadoop/etc/hadoop/
vim hadoop-env.sh

#添加: 在54行
#添加java环境
export JAVA_HOME=/export/server/jdk1.8.0_333

#文件最后添加: 在第 439行下
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

3.2core-site.xml

hadoop的核心配置文件

cd /export/server/hadoop/etc/hadoop/
vim core-site.xml 

#在文件的configuration的标签中添加以下内容:

	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://Master.itcast.cn:8020</value>
	</property>

	<property>
		<name>hadoop.tmp.dir</name>
		<value>/export/data/hadoop</value>
	</property>

	<!-- 设置HDFS web UI用户身份 -->
	<property>
		<name>hadoop.http.staticuser.user</name>
		<value>root</value>
	</property>

3.3 hdfs-site.xml

HDFS的核心配置文件

cd /export/server/hadoop/etc/hadoop/
vim hdfs-site.xml 

#在文件的configuration的标签中添加以下内容:

	<!-- 指定secondarynamenode运行位置 -->
	<property>
		<name>dfs.namenode.secondary.http-address</name>
		<value>slave2.itcast.cn:50090</value>
	</property>

3.4 yarn-site.xml

YARN的核心配置文件

cd /export/server/hadoop/etc/hadoop/
vim yarn-site.xml 

在文件的configuration的标签中添加以下内容:

	<!-- 指定YARN的主角色(ResourceManager)的地址 -->
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>slave1.itcast.cn</value>
	</property>

	<!-- NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序默认值:"" -->
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>

	<!-- 是否将对容器实施物理内存限制 -->
	<property>
		<name>yarn.nodemanager.pmem-check-enabled</name>
		<value>false</value>
	</property>

	<!-- 是否将对容器实施虚拟内存限制。 -->
	<property>
		<name>yarn.nodemanager.vmem-check-enabled</name>
		<value>false</value>
	</property>
	<!-- 开启日志聚集 -->
	<property>
		<name>yarn.log-aggregation-enable</name>
		<value>true</value>
	</property>

	<!-- 设置yarn历史服务器地址 -->
	<property>
		<name>yarn.log.server.url</name>
		<value>http://slave1.itcast.cn:19888/jobhistory/logs</value>
	</property>

	<!-- 保存的时间7天 -->
	<property>
		<name>yarn.log-aggregation.retain-seconds</name>
		<value>604800</value>
	</property>

3.5 mapred-site.xml

MapReduce的核心配置文件

cd /export/server/hadoop/etc/hadoop/
vim mapred-site.xml 

在文件的configuration的标签中添加以下内容:

	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>

	<property>
		<name>yarn.app.mapreduce.am.env</name>
		<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
	</property>

	<property>
		<name>mapreduce.map.env</name>
		<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
	</property>

	<property>
		<name>mapreduce.reduce.env</name>
		<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
	</property>

3.6 workers

workers文件里面记录的是集群主机名。主要作用是配合一键启动脚本如start-dfs.sh、stop-yarn.sh用来进行集群启动。这时候workers文件里面的主机标记的就是从节点角色所在的机器。

cd /export/server/hadoop/etc/hadoop/
vim workers

清空内容后, 添加以下内容:

master.itcast.cn
slave1.itcast.cn
slave1.itcast.cn

4. scp同步安装包

cd /export/server

scp -r hadoop/ slave1:$PWD
scp -r hadoop/ slave2:$PWD

5.hadoop环境变量

3台机器都需要配置环境变量文件

vim /etc/profile

#HADOOP_HOME
export HADOOP_HOME=/export/server/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

保持退出后刷新环境变量

source /etc/profile

6. Hadoop集群启动、初体验

6.1 启动方式

要启动Hadoop集群,需要启动HDFS和YARN两个集群。
注意:首次启动HDFS时,必须对其进行格式化操作。本质上是一些清理和准备工作,因为此时的HDFS在物理上还是不存在的。

hadoop namenode -format

格式化成功会有如下显示:

/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at Master/192.168.88.181
************************************************************/

6.1.1 单节点逐个启动

在主节点上使用以下命令启动HDFS NameNode:

$HADOOP_HOME/bin/hdfs --daemon start namenode

在每个从节点上使用以下命令启动HDFS DataNode:

$HADOOP_HOME/bin/hdfs --daemon start datanode

在slave2上使用以下命令启动HDFS SecondaryNameNode:

$HADOOP_HOME/bin/hdfs --daemon start secondarynamenode

在slave1上使用以下命令启动YARN ResourceManager:

$HADOOP_HOME/bin/yarn --daemon start resourcemanager

在每个从节点上使用以下命令启动YARN nodemanager:

$HADOOP_HOME/bin/yarn --daemon start nodemanager

如果想要停止某个节点上某个角色,只需要把命令中的start改为stop即可。

6.1.2 脚本一键启动

如果配置了etc/hadoop/workers和ssh免密登录,则可以使用程序脚本启动所有Hadoop两个集群的相关进程,在主节点所设定的机器上执行。
本集群的部署方式中hdfs的主节点位于master,yarn的主节点位于slave1
故在master节点执行:
hdfs:$HADOOP_PREFIX/sbin/start-dfs.sh
在slave1节点执行:
yarn: $HADOOP_PREFIX/sbin/start-yarn.sh
停止集群:stop-dfs.sh、stop-yarn.sh

同时还提供了完整的一键化脚本:
start-all.sh
stop-all.sh

7. 启动后的效果

image

8. 集群web-ui

一旦Hadoop集群启动并运行,可以通过web-ui进行集群查看,如下所述:
NameNode http://rm_host:port/ 默认9870.
image

ResourceManager http://rm_host:port/ 默认 8088.
image

9. MapReduce jobHistory

JobHistory用来记录已经finished的mapreduce运行日志,日志信息存放于HDFS目录中,默认情况下没有开启此功能,需要在mapred-site.xml中配置并手动启动。

9.1 修改mapred-site.xml

cd /export/servers/hadoop/etc/hadoop
vim mapred-site.xml

MR JobHistory Server管理的日志的存放位置

	 <property>
		<name>mapreduce.jobhistory.address</name>
		<value>slave1:10020</value>
	</property>

	<property>
		<name>mapreduce.jobhistory.webapp.address</name>
		<value>slave1:19888</value>
	</property>

查看历史服务器已经运行完的Mapreduce作业记录的web地址,需要启动该服务才行

9.2 分发配置到其他机器

cd /export/server/hadoop/etc/hadoop
scp -r mapred-site.xml slave1:$PWD
scp –r mapred-site.xml slave2:$PWD

9.3 启动jobHistoryServer服务进程

因为ResourceManager部署在slave1上,故在slave1执行以下命令:

mapred --daemon start historyserver

如果关闭的话 用下述命令

mapred --daemon stop historyserver

9.4 页面访问jobhistoryserver

image

至此,Hadoop集群搭建

标签:xml,hadoop,yarn,Hadoop,export,集群,HADOOP,搭建
From: https://www.cnblogs.com/yuangyaa/p/16811127.html

相关文章

  • 平台前端搭建
       git拖一个nuxt模板,修改信息 随后终端执行npminstall,会根据package.json文件下载相关依赖下载element-ui,npminstallelement-ui新建  运行n......
  • 利用kafka自带的zookeeper搭建kafka集群
    利用kafka自带的zookeeper搭建kafka集群  搭建kafka集群是需要zookeeper的,可是kafka自身就已经带了一个zookeeper,所以不需要额外搭建zookeeper的集群,只需要将kafka自......
  • Docker | redis集群部署实战
    前面已经简单熟悉过redis的下载安装使用,今天接着部署redis集群(cluster),简单体会一下redis集群的高可用特性。环境准备Redis是C语言开发,安装Redis需要先将Redis的源码进行......
  • Nginx+Keepalived(双机热备)介绍已经搭建高可用负载均衡环境
    图文教程,Nginx+Keepalived(双机热备)介绍已经搭建高可用负载均衡环境阿飞云已于2022-03-2717:31:34修改1577收藏7分类专栏:Nginx_OpenResty文章标签:网络javali......
  • KingbaseES V8R3集群运维案例之---failover故障处理
    案例说明:此案例,为KingbaseESV8R3集群failover切换时,通用的故障处理方式。通过对failover.log和recovery.log日志的解读,让大家了解KingbaseESV8R3集群failover的恢复过程......
  • Kubernetes环境搭建
    一、在Kubernetes环境搭建过程中,会创建CA、admin、etcd等等证书,创建证书的过程中需要注意当前系统的时间,否则很可能因为生成证书时间同其他系统时间差别,造成证书验证失败。......
  • 软件测试的测试环境该怎么搭建?听听卓码软件测评小编怎么说
    软件测试环境是进行软件测试工作的前提条件,指的是测试运行其上的软件和硬件环境的描述,以及任何其它与被测软件交互的软件,包括驱动和桩。稳定和可控的测试环境,可以使测试......
  • ntp 服务器的搭建
    windows:系统版本:windows10  Windows+rorWindows+s搜索regedit 打开注册表编辑器 1、在注册表中找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Ser......
  • docker 创建etcd集群
    docker创建etcd集群 1、本文采用etcd3.5.1版本,首先下载etcd3.5.1docker镜像dockerpullquay.io/coreos/etcd:v3.5.12、在自己设定的目录,比如/home/etcd下创建docker......
  • Ubuntu18.04 安装redis5.0.5集群
    目标:使用3台服务器A、B、C,每台服务器部署一套主从(1主1从),三个主服务来平分redis槽10.108.1.88(6379、6380)10.108.1.89(6379、6380)10.108.1.90(6379、6380)安装Redis......