一文教你快速了解伪分布式集群搭建(超详细!)

经过上一篇的引导,相信小伙伴们已经可以进行下面的操作了


首先,我们需要知道配置伪分布式集群要修改的配置文件
所有配置文件都在 /opt/module/hadoop-2.7.2/etc/hadoop/

1

  • 1. HDFS所需要配置的文件
序号 文件名
01 hadoop-env.sh
02 core-site.xml
03 hdfs-site.xml
  • 2. YARN所需要配置的文件
序号 文件名
01 yarn-env.sh
02 yarn-site.xml
03 mapred-env.sh
  • 3. 配置历史服务器
序号 文件名
01 mapred-site.xml
  • 4. 配置日志的聚集
序号 文件名
01 yarn-site.xml

一. 启动HDFS

1. 配置集群

  • 1. 配置:hadoop-env.sh

①Linux系统中获取JDK的安装路径(如果能记住路径可以省略):

[bigdata@hadoop001 ~]$ echo $JAVA_HOME
/opt/module/jdk1.8.0_144

下面需要修改JAVA_HOME 路径:

export JAVA_HOME=/opt/module/jdk1.8.0_144

2

  • 2. 配置:core-site.xml
[bigdata@hadoop001 hadoop]$ vim core-site.xml 

<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
    <value>hdfs://hadoop001:9000</value>
</property>

<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
	<name>hadoop.tmp.dir</name>
	<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>

3

  • 3. hdfs-site.xml
[bigdata@hadoop001 hadoop]$ vim hdfs-site.xml 

<!-- 指定HDFS副本的数量 -->
<property>
	<name>dfs.replication</name>
	<value>1</value>
</property>

2. 启动集群

  • 1.格式化NameNode(第一次启动时格式化,以后就不要总格式化)
[bigdata@hadoop001 hadoop-2.7.2]$ bin/hdfs namenode -format

4
和上述一样即为正确。

  • 2. 分别启动NaneNode和DataNode
[bigdata@hadoop001 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start namenode
[bigdata@hadoop001 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start datanode

3. 查看集群

  • 1. 查看是否启动成功
    5
  • 注意:jps是JDK中的命令,不是Linux命令。不安装JDK不能使用jps
  • 2. web端查看HDFS文件系统
    http://hadoop001:50070/dfshealth.html#tab-overview
    5
  • 3. 查看log日志
    在日常中遇到Bug时,经常根据日志提示信息去分析问题、解决Bug。
    当前目录:/opt/module/hadoop-2.7.2/logs
[bigdata@hadoop001 logs]$ ll

# 下面的为日志文件
总用量 220
-rw-rw-r--. 1 bigdata bigdata  82138 421 02:38 hadoop-bigdata-datanode-hadoop001.log
-rw-rw-r--. 1 bigdata bigdata    719 421 02:38 hadoop-bigdata-datanode-hadoop001.out
-rw-rw-r--. 1 bigdata bigdata    719 421 02:28 hadoop-bigdata-datanode-hadoop001.out.1
-rw-rw-r--. 1 bigdata bigdata 111269 421 02:38 hadoop-bigdata-namenode-hadoop001.log
-rw-rw-r--. 1 bigdata bigdata    719 421 02:38 hadoop-bigdata-namenode-hadoop001.out
-rw-rw-r--. 1 bigdata bigdata    719 421 02:36 hadoop-bigdata-namenode-hadoop001.out.1
-rw-rw-r--. 1 bigdata bigdata    719 421 02:30 hadoop-bigdata-namenode-hadoop001.out.2
-rw-rw-r--. 1 bigdata bigdata    719 421 02:28 hadoop-bigdata-namenode-hadoop001.out.3
-rw-rw-r--. 1 bigdata bigdata      0 421 02:28 SecurityAuth-bigdata.audit
[bigdata@hadoop001 logs]$ cat hadoop-bigdata-datanode-hadoop001.log 

二. 启动YARN

1. 配置集群

  • 1. 配置yarn-env.sh
    修改一下JAVA_HOME
[bigdata@hadoop001 hadoop]$ vim yarn-env.sh 

export JAVA_HOME=/opt/module/jdk1.8.0_144

6

  • 2. 配置yarn-site.xml
[bigdata@hadoop001 hadoop]$ yarn-site.xml

<!-- Reducer获取数据的方式 -->
<property>
 		<name>yarn.nodemanager.aux-services</name>
 		<value>mapreduce_shuffle</value>
</property>

<property>
    <name>yarn.nodemanager.resource.cpu-vcores</name>
    <value>2</value>   
 </property>
 
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop001</value>
</property>

7

  • 3. 配置:mapred-env.sh
    修改一下JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144

7

  • 4. 配置: (对mapred-site.xml.template重新命名为) mapred-site.xml
[bigdata@hadoop001 hadoop]$ mv mapred-site.xml.template mapred-site.xml
[bigdata@hadoop001 hadoop]$ vim mapred-site.xml

<!-- 指定MR运行在YARN上 -->
<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
</property>

2. 启动集群

  • 1. 启动前必须保证NameNode和DataNode已经启动
  • 2. 分别启动ResourceManager和NodeManager
# 启动服务
[bigdata@hadoop001 hadoop-2.7.2]$ sbin/yarn-daemon.sh start resourcemanager
starting resourcemanager, logging to /opt/module/hadoop-2.7.2/logs/yarn-bigdata-resourcemanager-hadoop001.out
[bigdata@hadoop001 hadoop-2.7.2]$ sbin/yarn-daemon.sh start nodemanager
starting nodemanager, logging to /opt/module/hadoop-2.7.2/logs/yarn-bigdata-nodemanager-hadoop001.out

# 查看是否启动成功
[bigdata@hadoop001 hadoop-2.7.2]$ jps
3414 DataNode
3993 ResourceManager
3722 NodeManager
3327 NameNode
4159 Jps

3. 在web上查看

YARN的浏览器页面查看:http://hadoop001:8088/cluster
8

三. 配置历史服务器

如果想要查看程序的历史运行情况,需要配置一下历史服务器。具体配置步骤如下:

1. 配置mapred-site.xml

[bigdata@hadoop001 hadoop]$ vim mapred-site.xml

# 在该文件里面增加如下配置。
<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop001:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop001:19888</value>
</property>

2. 启动历史服务器

[bigdata@hadoop001 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh start historyserver

3. 查看历史服务器是否启动

[bigdata@hadoop001 hadoop-2.7.2]$ jps
4304 JobHistoryServer
26210 Jps
3414 DataNode
3993 ResourceManager
3327 NameNode
4495 NodeManager

4. web查看历史服务器是否启动

http://hadoop001:19888/jobhistory
9

四. 配置日志的聚集

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

注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryManager。
下面为开启日志聚集功能具体操作步骤:

1. 配置yarn-site.xml

[bigdata@hadoop001 hadoop]$ vim yarn-site.xml

# 在该文件里面增加如下配置。
<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>

<!-- 日志保留时间设置7-->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>

2. 关闭NodeManager 、ResourceManager和HistoryServer

[bigdata@hadoop001 hadoop-2.7.2]$ sbin/yarn-daemon.sh stop resourcemanager
stopping resourcemanager
[bigdata@hadoop001 hadoop-2.7.2]$ sbin/yarn-daemon.sh stop nodemanager
stopping nodemanager
[bigdata@hadoop001 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh stop historyserver
stopping historyserver


3. 启动NodeManager 、ResourceManager和HistoryServer

[bigdata@hadoop001 hadoop-2.7.2]$ sbin/yarn-daemon.sh start resourcemanager
starting resourcemanager, logging to /opt/module/hadoop-2.7.2/logs/yarn-bigdata-resourcemanager-hadoop001.out
[bigdata@hadoop001 hadoop-2.7.2]$ sbin/yarn-daemon.sh start nodemanager
starting nodemanager, logging to /opt/module/hadoop-2.7.2/logs/yarn-bigdata-nodemanager-hadoop001.out
[bigdata@hadoop001 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh start historyserver
starting historyserver, logging to /opt/module/hadoop-2.7.2/logs/mapred-bigdata-historyserver-hadoop001.out

4. 删除HDFS上已经存在的输出文件(如果没有运行可以不运行此步)

[bigdata@hadoop001 hadoop-2.7.2]$ bin/hdfs dfs -rm -R /user/bigdata/output

5. 执行WordCount程序

# 如果没有input 可先创建
[bigdata@hadoop001 hadoop-2.7.2]$ bin/hdfs dfs -mkdir -p /user/bigdata/input

# 运行程序
[bigdata@hadoop001 hadoop-2.7.2]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/bigdata/input /user/bigdata/output

10

6. 查看日志

http://hadoop001:19888/jobhistory

  • 1. Job History

11

  • 2. job运行情况
    12
  • 3. 查看日志
    13

各位路过的朋友,如果觉得可以学到些什么的话,点个赞再走吧,欢迎各位路过的大佬评论,指正错误,也欢迎有问题的小伙伴评论留言,私信。每个小伙伴的关注都是本人更新博客的动力!!!

发布了60 篇原创文章 · 获赞 67 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_16146103/article/details/105640196