完全分布式部署Hadoop

基本流程:

  • 准备3台客户机(关闭防火墙、静态ip、主机名称)
  • 安装jdk
  • 配置环境变量
  • 安装hadoop
  • 配置环境变量
  • ssh免密登录(注意,也需要给本机设立免密)
  • 配置集群
  • 启动测试集群

一、集群分发脚本xsync

1.在/usr/local/bin目录下创建xsync文件,文件内容如下:

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`

#5 循环
for((host=102; host<103; host++)); do
        #echo $pdir/$fname $user@hadoop$host:$pdir
        echo --------------- hadoop$host ----------------
        rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done

2.修改脚本 xsync 具有执行权限

[root@hadoop102 bin]# chmod a+x xsync

3.调用脚本形式

xsync 文件名称

二、分发脚本xcall

1.在/usr/local/bin目录下创建xcall文件,文件内容如下:

#!/bin/bash
pcount=$#
if((pcount==0));then
        echo no args;
        exit;
fi

echo -------------localhost----------
$@
for((host=101; host<=103; host++)); do
        echo ----------hadoop$host---------
        ssh hadoop$host $@
done

2.修改脚本 xcall 具有执行权限

[root@hadoop101 bin]# chmod a+x xcall

3.调用脚本形式: xcall 操作命令

[root@hadoop101 ~]# xcall mkdir /opt/moudle/test

三、配置集群:

1.集群部署规划:

hadoop101 hadoop102 hadoop103
HDFS NameNode/DataNode DataNode SecondaryNameNode/DataNode
YARN NodeManager ResourceManager/NodeManager NodeManager

2.配置文件

1)core-site.xml

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

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

2)HDFS
hadoop-env.sh

export JAVA_HOME=/opt/module/jdk1.7.0_79

hdfs-site.xml

<configuration> 
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>

    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop103:50090</value>
    </property>
</configuration>

slaves

hadoop101
hadoop102
hadoop103

3)yarn
yarn-env.sh

export JAVA_HOME=/opt/module/jdk1.7.0_79

yarn-site.xml

<configuration>

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

    <!-- 指定YARN的ResourceManager的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop102</value>
    </property>

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

4)mapreduce
mapred-env.sh

export JAVA_HOME=/opt/module/jdk1.7.0_79

mapred-site.xml

<configuration>
    <!-- 指定mr运行在yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <!-- jobhistory历史服务器 -->
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop101:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop101:19888</value>
    </property>
</configuration>

3.在集群上分发以上所有文件

cd /opt/module/hadoop-2.7.2/etc/hadoop
xsync /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml
xsync /opt/module/hadoop-2.7.2/etc/hadoop/yarn-site.xml
xsync /opt/module/hadoop-2.7.2/etc/hadoop/slaves

4.查看文件分发情况

xcall cat /opt/module/hadoop-2.7.2/etc/hadoop/slaves

四、集群启动及测试

1.启动集群

1)如果集群是第一次启动,需要格式化namenode

[root@hadoop101 hadoop-2.7.2]# bin/hdfs namenode -format

2)启动HDFS

[root@hadoop101 hadoop-2.7.2]# sbin/start-dfs.sh
[root@hadoop101 hadoop-2.7.2]# jps
4166 NameNode
4482 Jps
4263 DataNode

[root@hadoop102 hadoop-2.7.2]# jps
3218 DataNode
3288 Jps

[root@hadoop103 hadoop-2.7.2]# jps
3221 DataNode
3283 SecondaryNameNode
3364 Jps

3)启动yarn

[root@hadoop102 hadoop-2.7.2]# sbin/start-yarn.sh
#注意:Namenode和ResourceManger如果不是同一台机器,
#不能在NameNode上启动 yarn,应该在ResouceManager所在的机器上启动yarn。

4)启动history历史服务器

[root@hadoop101 hadoop-2.7.2]# sbin/mr-jobhistory-daemon.sh start historyserver

2.网页查看

3.集群基本测试

1)上传文件到集群

  • 上传小文件
[honey@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -mkdir -p /user/honey/tmp/conf
[honey@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -put etc/hadoop/*-site.xml /user/honey/tmp/conf
  • 上传大文件
[honey@hadoop101 hadoop-2.7.2]$ bin/hadoop fs -put /opt/software/hadoop-2.7.2.tar.gz  /user/honey/input

2)上传文件后查看文件存放在什么位置

  • 文件存储路径
[honey@hadoop101 subdir0]$ pwd
/opt/module/hadoop-2.7.2/data/tmp/dfs/data/current/BP-938951106-192.168.10.107-1495462844069/current/finalized/subdir0/subdir0
  • 查看文件内容
[honey@hadoop101 subdir0]$ cat blk_1073741825
hadoop
honey
honey

3)拼接
-rw-rw-r--. 1 honey honey 134217728 5月 23 16:01 blk_1073741836
-rw-rw-r--. 1 honey honey 1048583 5月 23 16:01 blk_1073741836_1012.meta
-rw-rw-r--. 1 honey honey 63439959 5月 23 16:01 blk_1073741837
-rw-rw-r--. 1 honey honey 495635 5月 23 16:01 blk_1073741837_1013.meta

[honey@hadoop102 subdir0]$ cat blk_1073741836>>tmp.file
[honey@hadoop102 subdir0]$ cat blk_1073741837>>tmp.file
[honey@hadoop102 subdir0]$ tar -zxvf tmp.file

4)下载

[honey@hadoop102 hadoop-2.7.2]$ bin/hadoop fs -get /user/honey/input/hadoop-2.7.2.tar.gz

五、Hadoop启动停止方式

1.各个服务组件逐一启动

1)分别启动hdfs组件
hadoop-daemon.sh  start|stop  namenode|datanode|secondarynamenode

2)启动yarn
yarn-daemon.sh  start|stop  resourcemanager|nodemanager

2.各个模块分开启动(配置ssh是前提)(常用)

(1)整体启动/停止hdfs
   start-dfs.sh
   stop-dfs.sh
(2)整体启动/停止yarn
   start-yarn.sh
   stop-yarn.sh

3.全部启动(不建议使用)

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

推荐阅读更多精彩内容