Hadoop框架:单服务下伪分布式集群搭建

网友投稿 250 2022-11-25

Hadoop框架:单服务下伪分布式集群搭建

一、基础环境

1、环境版本

环境:centos7 hadoop版本:2.7.2 jdk版本:1.8

2、Hadoop目录结构

bin目录:存放对Hadoop的HDFS,YARN服务进行操作的脚本 etc目录:Hadoop的相关配置文件目录 lib目录:存放Hadoop的本地库,提供数据压缩解压缩能力 sbin目录:存放启动或停止Hadoop相关服务的脚本 share目录:存放Hadoop的依赖jar包、文档、和相关案例

3、配置加载

vim /etc/profile # 添加环境 export JAVA_HOME=/opt/jdk1.8 export PATH=$PATH:$JAVA_HOME/bin export HADOOP_HOME=/opt/hadoop2.7 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin # 退出刷新配置 source /etc/profile

二、伪集群配置

以下配置文件所在路径:/opt/hadoop2.7/etc/hadoop,这里是Linux环境,脚本配置sh格式。

1、配置hadoop-env

root# vim hadoop-env.sh # 修改前 export JAVA_HOME= # 修改后 export JAVA_HOME=/opt/jdk1.8

2、配置core-site

文件结构概览

NameNode的地址

fs.defaultFS hdfs://127.0.0.1:9000

数据存放目录:Hadoop运行时产生文件的存储目录。

hadoop.tmp.dir /opt/hadoop2.7/data/tmp

3、配置hdfs-site

文件结构和上述一样,配置hdfs副本个数,这里伪环境,配置1个即可。

dfs.replication 1

4、配置yarn-env

export JAVA_HOME=/opt/jdk1.8

5、配置yarn-site

指定YARN的ResourceManager的地址

yarn.resourcemanager.hostname 192.168.72.132

指定map产生的中间结果传递给reduce采用的机制是shuffle

yarn.nodemanager.aux-services mapreduce_shuffle

6、配置mapred-env

export JAVA_HOME=/opt/jdk1.8

7、配置mapred-site

将mapred-site.xml.template重新命名为mapred-site.xml。

指定MapReduce程序资源调在度集群上运行。如果不指定为yarn,那么MapReduce程序就只会在本地运行而非在整个集群中运行。

mapreduce.framework.name yarn

三、环境启动测试

1、测试文件系统

Hdfs相关

格式化NameNode

第一次启动时执行该操作。

[hadoop2.7]# bin/hdfs namenode -format

格式化NameNode,会产生新的clusterID,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。所以,格式NameNode时,一定要停止相关进程,删除data数据和log日志,然后再格式化NameNode。clusterID在如下目录中的VERSION文件里,可自行查看对比。

/opt/hadoop2.7/data/tmp/dfs/name/current /opt/hadoop2.7/data/tmp/dfs/data/current

启动NameNode

[hadoop2.7]# sbin/hadoop-daemon.sh start namenode

启动DataNode

[hadoop2.7]# sbin/hadoop-daemon.sh start datanode

jps查看状态

[root@localhost hadoop2.7]# jps 2450 Jps 2276 NameNode 2379 DataNode

Web界面查看

需要Linux关闭防火墙和相关安全增强控制(这里很重要)。

IP地址:50070

Yarn相关

启动ResourceManager

[hadoop2.7]# sbin/yarn-daemon.sh start resourcemanager

启动NodeManager

[hadoop2.7]# sbin/yarn-daemon.sh start nodemanager

Web界面查看

IP地址:8088/cluster

MapReduce相关

文件操作测试

创建一个测试文件目录

[root@localhost inputfile]# pwd /opt/inputfile [root@localhost inputfile]# echo "hello word hadoop" > word.txt

HDFS文件系统上创建文件夹

[hadoop2.7] bin/hdfs dfs -mkdir -p /opt/upfile/input

上传文件

[hadoop2.7]# bin/hdfs dfs -put /opt/inputfile/word.txt /opt/upfile/input

查看文件

[hadoop2.7]# bin/hdfs dfs -ls /opt/upfile/input

2、Web端查看文件

执行文件分析

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /opt/upfile/input /opt/upfile/output

查看分析结果

bin/hdfs dfs -cat /opt/upfile/output/*

结果:每个单词各自出现一次。

删除分析结果

bin/hdfs dfs -rm -r /opt/upfile/output

四、历史服务器

MapReduce的JobHistoryServer,这是一个独立的服务,可通过 web UI 展示历史作业日志。

1、修改mapred-site

mapreduce.jobhistory.address 192.168.72.132:10020 mapreduce.jobhistory.webapp.address 192.168.72.132:19888

2、启动服务

[hadoop2.7]# sbin/mr-jobhistory-daemon.sh start historyserver

3、Web端查看

IP地址:19888

4、配置日志的聚集

日志聚集概念:应用服务运行完成以后,将运行日志信息上传到HDFS系统上。方便的查看到程序运行详情,方便开发调试。

开启日志聚集功能之后,需要重新启动NodeManager 、ResourceManager和HistoryManager。

关闭上述服务

[hadoop2.7]# sbin/yarn-daemon.sh stop resourcemanager [hadoop2.7]# sbin/yarn-daemon.sh stop nodemanager [hadoop2.7]# sbin/mr-jobhistory-daemon.sh stop historyserver

修改yarn-site

yarn.log-aggregation-enable true yarn.log-aggregation.retain-seconds 604800

修改完之后再次启动上述服务器。再次执行文件分析任务。

查看Web端

$$End$$

Gitee主页:https://gitee.com/cicadasmile/butte-java-note

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Flume-NG采集日志信息到HDFS(测试单节点)
下一篇:小米盒子4S Pro:支升级8K视频解码、存储16G
相关文章

 发表评论

暂时没有评论,来抢沙发吧~