hadoop第四章:完全分布式(开发重点)

Hadoop集群设置

1、准备3台客户机(关闭防火墙、静态ip、主机名称)

2、快速分发java和hadoop

将/opt/module文件夹,及配置文件/etc/profile分发到hadoop102|103|104上
分发配置文件时要使用root账户

[atguigu@hadoop101 opt]$ scp -r hadoop101:/opt/module hadoop102:/opt/
[atguigu@hadoop101 opt]$ scp -r hadoop101:/opt/module hadoop103:/opt/
[atguigu@hadoop101 opt]$ scp -r hadoop101:/opt/module hadoop104:/opt/
[atguigu@hadoop101 opt]$ su - root
[root@hadoop101 ~]$ scp -r hadoop101:/etc/profile hadoop102:/etc/
[root@hadoop101 ~]$ scp -r hadoop101:/etc/profile hadoop103:/etc/
[root@hadoop101 ~]$ scp -r hadoop101:/etc/profile hadoop104:/etc/

刷新配置文件,使java环境变量生效
[atguigu@hadoop102 ~]$ source /etc/profile
[atguigu@hadoop103 ~]$ source /etc/profile
[atguigu@hadoop104 ~]$ source /etc/profile

3、集群规划(最小配置)

image.png

4、修改配置文件

4.1 核心配置文件core-site.xml

[atguigu@hadoop102 hadoop-2.7.2]$ vi etc/hadoop/core-site.xml

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

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

4.2 HDFS配置文件

[atguigu@hadoop102 hadoop-2.7.2]$ vi etc/hadoop/hdfs-env.sh

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

[atguigu@hadoop102 hadoop-2.7.2]$ vi etc/hadoop/hdfs-site.xml

<property>
        <name>dfs.replication</name>
        <value>3</value>
</property>
<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>hadoop104:50090</value>
</property>

4.3 YARN配置文件

[atguigu@hadoop102 hadoop-2.7.2]$ vi etc/hadoop/yarn-env.sh

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

[atguigu@hadoop102 hadoop-2.7.2]$ vi etc/hadoop/yarn-site.xml

<!-- Reducer获取数据的方式 -->
<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop103</value>
</property>

4.4 MapReduce配置文件

[atguigu@hadoop102 hadoop-2.7.2]$ vi etc/hadoop/mapred-env.sh

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

[atguigu@hadoop102 hadoop-2.7.2]$ cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
[atguigu@hadoop102 hadoop-2.7.2]$ vi etc/hadoop/mapred-site.xml

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

5、分发配置文件

[atguigu@hadoop102 hadoop-2.7.2]$ scp -r hadoop102:/opt/module/hadoop-2.7.2/etc/hadoop/ hadoop103:/opt/module/hadoop-2.7.2/etc/
[atguigu@hadoop102 hadoop-2.7.2]$ scp -r hadoop102:/opt/module/hadoop-2.7.2/etc/hadoop/ hadoop104:/opt/module/hadoop-2.7.2/etc/

6、集群单点启动

6.0 如果集群是第一次启动,需要格式化NameNode

[atguigu@hadoop102 hadoop-2.7.2]$ hdfs namenode -format

6.1 hadoop102启动namenode

[atguigu@hadoop102 hadoop-2.7.2]$ hadoop-daemon.sh start namenode

6.2 分别启动datanode

[atguigu@hadoop102 hadoop-2.7.2]$ hadoop-daemon.sh start datanode
[atguigu@hadoop102 hadoop-2.7.2]$ jps
15761 Jps
15609 NameNode
15690 DataNode
[atguigu@hadoop103 hadoop-2.7.2]$ hadoop-daemon.sh start datanode
[atguigu@hadoop103 hadoop-2.7.2]$ jps
15250 DataNode
15321 Jps
[atguigu@hadoop104 hadoop-2.7.2]$ hadoop-daemon.sh start datanode
[atguigu@hadoop104 hadoop-2.7.2]$ jps
15253 DataNode
15324 Jps

6.3 HDFS-WEB验证

image.png

7、配置ssh

3台机器分别执行ssh

$ cd .ssh
$ ssh-keygen -t rsa
$ ssh-copy-id hadoop102
$ ssh-copy-id hadoop103
$ ssh-copy-id hadoop104

3台机器分别验证,都不需要密码则成功

$ ssh hadoop102
$ exit
$ ssh hadoop103
$ exit
$ ssh hadoop104
$ exit

8、集群启动

8.1 指定datanode

[atguigu@hadoop102 hadoop-2.7.2]$ vi etc/hadoop/slaves

hadoop102
hadoop103
hadoop104

分发到其他两台虚拟机

[atguigu@hadoop102 hadoop-2.7.2]$ scp -r hadoop102:/opt/module/hadoop-2.7.2/etc/hadoop/slaves hadoop103:/opt/module/hadoop-2.7.2/etc/hadoop/
[atguigu@hadoop102 hadoop-2.7.2]$ scp -r hadoop102:/opt/module/hadoop-2.7.2/etc/hadoop/slaves hadoop104:/opt/module/hadoop-2.7.2/etc/hadoop/

8.2 群起hdfs

在hadoop102(namenode节点)上启动hdfs
[atguigu@hadoop102 hadoop-2.7.2]$ start-dfs.sh
在hadoop103(sourceManager节点)上启动yarn
[atguigu@hadoop103 hadoop-2.7.2]$ start-yarn.sh

8.3 web界面查看

hadoop102:50070

image.png

hadoop103:8088
image.png

9、运行wordcount

[atguigu@hadoop102 hadoop-2.7.2]$ hadoop fs -put wcinput /
[atguigu@hadoop102 hadoop-2.7.2]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /wcinput /wcoutput
[atguigu@hadoop102 hadoop-2.7.2]$ hadoop fs -cat /wcoutput/*
atguigu 2
hadoop  3
hdfs    1
mapreduce   1
yarn    1

hadoop102:50070

image.png

hadoop103:8088
image.png

10、启动日志聚集功能

日志聚集功能能够解决:当集群庞大,yarn的任务有错时无法定位到是某台节点的异常,日志聚集可以将所有节点日志都收集到历史服务器上,并通过yarn管理界面查看

10.0 关闭hadoop集群

[atguigu@hadoop103 hadoop-2.7.2]$ stop-yarn.sh
[atguigu@hadoop102 hadoop-2.7.2]$ stop-dfs.sh

10.1 配置日志服务器

[atguigu@hadoop102 hadoop-2.7.2]$ vi etc/hadoop/mapred-site.xml
在mapred-site.xml中添加如下内容

<!-- 历史服务器端地址 -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop104:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop104:19888</value>
</property>

[atguigu@hadoop102 hadoop-2.7.2]$ vi etc/hadoop/yarn-site.xml
在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>

10.2 同步配置文件

[atguigu@hadoop102 hadoop-2.7.2]$ scp -r hadoop102:/opt/module/hadoop-2.7.2/etc/hadoop hadoop103:/opt/module/hadoop-2.7.2/etc
[atguigu@hadoop102 hadoop-2.7.2]$ scp -r hadoop102:/opt/module/hadoop-2.7.2/etc/hadoop hadoop104:/opt/module/hadoop-2.7.2/etc

10.3 重启hadoop集群&重启history服务器

在hadoop102(namenode节点)上启动hdfs
[atguigu@hadoop102 hadoop-2.7.2]$ start-dfs.sh
在hadoop103(sourceManager节点)上启动yarn
[atguigu@hadoop103 hadoop-2.7.2]$ start-yarn.sh
在hadoop104上启动history
[atguigu@hadoop104 hadoop-2.7.2]$ mr-jobhistory-daemon.sh start historyserver
此时hadoop04出现JobHistoryServer服务

[atguigu@hadoop104 hadoop-2.7.2]$ jps
8097 DataNode
8276 NodeManager
8424 JobHistoryServer
8472 Jps
8201 SecondaryNameNode

10.4 重跑wordcount任务并查看历史和日志

[atguigu@hadoop102 hadoop-2.7.2]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /wcinput /historytest

发现还是访问不了日志页面,原来是没配pc端hosts文件。哈哈,不能偷懒呀

image.png

image.png

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 210,978评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 89,954评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,623评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,324评论 1 282
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,390评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,741评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,892评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,655评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,104评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,451评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,569评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,254评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,834评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,725评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,950评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,260评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,446评论 2 348

推荐阅读更多精彩内容