上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

Hadoop集群环境配置搭建

guduadmin11天前

一、简单介绍

Hadoop最早诞生于Cutting于1998年左右开发的一个全文文本搜索引擎

Lucene,这个搜索引擎在2001年成为Apache基金会的一个子项目,也是 ElasticSearch等重要搜索引擎的底层基础。

项目官方:https://hadoop.apache.org/

二、Linux环境搭建

首先准备三台Linux服务器,预装CentOS7。三台服务器之间需要网络互通。本地测试环境的IP地址分别为:192.168.2.128,192.168.2.129,

192.168.2.130

内存配置建议不低于4G,硬盘空间建议不低于50G。

1、配置hosts

vi /etc/hosts

Hadoop集群环境配置搭建,在这里插入图片描述,第1张

这里是给每个机器配置一个机器名。后续集群中都会通过机器名进行配 置管理,而不会再关注IP地址。

2、关闭防火墙

Hadoop集群节点之间需要进行频繁复杂的网络交互,在实验环境建议关闭防火墙。生产环境下,可以根据情况选择是按照端口配置复杂的防火墙规则或者关闭内部防火墙,使用堡垒机进行统一防护。

systemctl stop firewalld
systemctl disable firewalld.service

3、配置SSH免密

1、在node01下执行,一路回车(四次)

ssh-keygen -t rsa

2、然后在 node01上执行

ssh-copy-id node01

3、输入 yes,然后回车,接着输入 root 密码,然后会得到如下日志

Hadoop集群环境配置搭建,在这里插入图片描述,第2张

4、验证一下,在 node01节点执行

ssh node01

Hadoop集群环境配置搭建,在这里插入图片描述,第3张

5、在node02,node03节点分别执行上述四个步骤(注意节点名称的替换

6、最后分别在node01上执行

ssh-copy-id node02
ssh-copy-id node03

在node02上执行

ssh-copy-id node01
ssh-copy-id node03

同理,在node03上执行

ssh-copy-id node01
ssh-copy-id node02

7、查看是否成功免密登录

Hadoop集群环境配置搭建,在这里插入图片描述,第4张

4、安装JDK

尽量不要使用Linux自带的OpenJDK。

卸载指令 :rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps

自行下载JDK jdk-8u212-linux-x64.tar.gz。解压到/usr/java目录。

最后配置一下jdk的环境变量

(注:node01、node02、node03三个节点都按装部署jdk环境)

export JAVA_HOME=/usr/java/jdk1.8.0_291
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

Hadoop集群环境配置搭建,在这里插入图片描述,第5张

5、创建用户(可选)

这里直接使用系统提供的root用户来直接进行操作。

通常在正是的生产环境中,root用户都是要被严格管控的,这时就需要单独创建一个用户来管理这些应用

三、Hadoop集群搭建

1、版本选择

这里选择的是3.2.2版本 hadoop-3.2.2.tar.gz ,下载地址:https://hadoop.apache.org/release/3.2.2.html

2、 集群机器角色规划

Hadoop集群环境配置搭建,在这里插入图片描述,第6张

其中,HDFS是一个分布式的文件系统,主要负责文件的存储。由NameNode、Secondary

NameNode和DataNode三种节点组成。HDFS上的文件,会以文件块(Block)的形式存储到不同的DataNode节点当中。NameNode则用来存储文件的相关元数据,比如文件名、文件目录结果、文件的块列表等。然后SecondaryNameNode则负责每隔一段时间对NameNode上的元数据进行备份。

Yarn是一个资源调度的工具,负责对服务器集群内的计算资源,主要是CPU和内存,进行合理的分配与调度。由ResourceManager和NodeManager两种节点组成。ResourceManager负责对系统内的计算资源进行调度分配,将计算任务分配到具体的NodeManger节点上执行。而NodeManager则负责具体的计算任务执行。

3、按装Hadoop

1、在所有虚拟机根目录下新建文件夹export,export文件夹中新建data、servers和software文件

mkdir -p /export/data
mkdir -p /export/servers
mkdir -p /export/software

2、解压Hadoop安装包

cd /export/software
tar -zxvf hadoop-3.2.2.tar.gz  -C /export/servers/

3、配置hadoop环境变量

打开配置文件

vi /etc/profile

配置文件最后追加的配置

export HADOOP_HOME=/export/servers/hadoop-3.2.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

使配置文件生效

source /etc/profile

4、查看是否配置成功

hadoop version

Hadoop集群环境配置搭建,在这里插入图片描述,第7张

4、Hadoop集群配置

配置前先介绍一下配置文件

以下所有的配置文件都在hadoop安装目录下etc文件中,路径如下:

Hadoop集群环境配置搭建,在这里插入图片描述,第8张

需要配置的文件有以下6个

Hadoop集群环境配置搭建,在这里插入图片描述,第9张

1、配置hadoop-env.sh文件

vi hadoop-env.sh
#找到相应位置添加这段
export JAVA_HOME=/usr/java/jdk1.8.0_291

Hadoop集群环境配置搭建,在这里插入图片描述,第10张

2、配置core-site.xml文件






	
	
		fs.defaultFS
		hdfs://node01:8020
	
	
	
		hadoop.tmp.dir
		/export/servers/hadoop-3.2.2/data
	
	
	
		hadoop.http.staticuser.user
		root
	

3、配置hdfs-site.xml文件






	
	
		dfs.namenode.http-address
		node01:9870
	
	
	
		dfs.namenode.secondary.http-address
		node03:9868
	
	
	
		dfs.replication
		2
	
	
	
		dfs.webhdfs.enabled
		true
	

4、配置yarn-site.xml文件




	
	
		yarn.nodemanager.aux-services
		mapreduce_shuffle
	
	
	
		yarn.resourcemanager.hostname
		node02
	
	
	
		yarn.nodemanager.env-whitelist
		JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME
	
	
	
		yarn.log-aggregation-enable
		true
	
	
	
		yarn.log.server.url
		http://node01:19888/jobhistory/logs
	
	
	
		yarn.log-aggregation.retain-seconds
		604800
	

5、配置mapred-site.xml文件






	
	
		mapreduce.framework.name
		yarn
	
	
	
		mapreduce.jobhistory.webapp.address
		node01:19888
	

6、配置workers文件

node01
node02
node03

7、将配置完成后的hadoop整体分发到另外的节点(完成node02、node03两个节点和node01相同的配置

scp ~/.bash_profile root@node02:~
scp -r /export/servers/hadoop-3.2.2 root@node02:/export/servers/hadoop-3.2.2
scp ~/.bash_profile root@node03:~
scp -r /export/servers/hadoop-3.2.2 root@node03:/export/servers/hadoop-3.2.2

5、启动Hadoop集群

1、先启动hdfs服务(在node01上启动NameNode、DataNode

第一次启动hdfs服务时,需要先对NameNode进行格式化。在NameNode所

在的node01机器,执行hadoop namenode -format执行,完成初始化。初始化完成后,会在 /export/servers/hadoop-3.2.2/data/dfs/name/current目录下创建一个NameNode的镜像。

接下来可以尝试启动hdfs了。 hadoop的启动脚本在hadoop下的sbin目录

下。 start-dfs.sh就是启动hdfs的脚本。

当前版本hadoop如果不创建单独用户,而是直接使用root用户启动,会报错。这时就需要添加之前配置的HDFS_NAMENODE_USER 等几个环境变量。

打开配置文件vi /etc/profile在最后追加如下内容,保存退出source /etc/profile(node02、node03节点不要忘记配置

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
export HADOOP_PID_DIR=/export/servers

Hadoop集群环境配置搭建,在这里插入图片描述,第11张

2、接下来启动Yarn(node02上启动ResourceManager、DataNoda

注意下在yarn-site.xml中配置了日志聚合,将yarn的执行日志配置到了

hdfs上。所以yarn建议在hdfs后启动。当然,在生产环境下需要评估这

种日志方式是否合适。

Hadoop集群环境配置搭建,在这里插入图片描述,第12张

3、查看各个节点服务启动进程

DataNode: 数据节点。

NameNode 名称服务;

SecondaryNameNode 备份名称服务

Hadoop集群环境配置搭建,在这里插入图片描述,第13张

Hadoop集群环境配置搭建,在这里插入图片描述,第14张

Hadoop集群环境配置搭建,在这里插入图片描述,第15张

4、访问HDFS的Web页面

配置window下的host文件 C:\Windows\System32\drivers\etc打开hosts文件

192.168.2.128 node01
192.168.2.129 node02
192.168.2.130 node03

http://node01:9870/

Hadoop集群环境配置搭建,在这里插入图片描述,第16张

5、访问yarn的管理页面

http://node02:8088/

Hadoop集群环境配置搭建,在这里插入图片描述,第17张

hadoop集群环境配置搭建完成!

网友评论

搜索
最新文章
热门文章
热门标签