5.分布式集群环境

1.虚拟机VMware Tools安装:

安装VMWare Tools非常简单,右键一个虚拟机,选择“安装VMware Tools” (其实,这时候就将VMware Tools安装包加载到光驱了) 。

以root用户登录该台服务器。将光驱挂载到任一目录下(我这里使用 /mnt):

mount /dev/cdrom /mnt

这时候,在 /mnt 目录可以看到文件 “VMwareTools-10.0.0-2977863.tar.gz”。

由于,我们要将该压缩文件解压,而/mnt目录当前挂载的是光驱,是不可写的,所以要将该文件拷贝到其他目录(我们就使用/tmp目录即可)。

cp VMwareTools-10.0.0-2977863.tar.gz /tmp/

cd /tmp

tar zxf VMwareTools-10.0.0-2977863.tar.gz

解压完成后,进入vmware-tools-distrib目录 ,执行脚本 vmware-install.real.pl 

perl vmware-install.pl

后边,就一路使用默认项,回车,回车即可完成安装了。

安装完成后重启虚拟机。


2.分布式集群硬件规划和系统环境准备:

namenode建议使用raid1/raid5,datanode不建议使用raid。

1. Hadoop集群实验环境规划:

目前为止,我们需要在三台集群环境上规划我们的现有的Hadoop角色,我们需要设计下面的这些角色都安装到哪台服务器上:

HDFS :  namenode 、 datanode 、 secondarynamenode

YARN : resourcemanager   nodemanager

HISTORY:  historyserver

2. 角色安装规划表:

Hadoop角色安装规划

如果我们需要安装更多的角色,或者我们有更多的主机,也可以按照上表的方式来进行规划,然后按照这张表来进行环境的安装搭建。下面我们按照上表的配置来就行环境的搭建。

3. 准备系统环境:

注意:以下4个步骤的操作,需要在三个服务器上分别执行。

(1)关闭三台服务器的selinux和防火墙。

该操作需要使用root用户执行。

a). 关闭selinux,需要修改配置文件:

# vi /etc/sysconfig/selinux

修改配置:

SELINUX=disabled

b). 关闭防火墙:

修改后一次生效:

# service iptables stop

下次重启时也生效:

# chkconfig iptables off

(2)固定主机名:

我的三台主机名分别是 :

hadoop-senior01.pmpa.com

hadoop-senior02.pmpa.com

hadoop-senior03.pmpa.com

需要修改文件:

# vi /etc/sysconfig/network

修改下边一行:

HOSTNAME=hadoop-senior01.pmpa.com

(3)添加hosts文件:

修改/etc/hosts文件,添加下边内容:

192.168.8.128    hadoop-senior01.pmpa.com

192.168.8.129    hadoop-senior02.pmpa.com

192.168.8.130    hadoop-senior03.pmpa.com

(4) 在三个服务器上,都新建用户 natty:

# useradd natty

# echo 123456 | passwd --stdin natty


3.NTP时间同步:

NTP代表 Network Time Protocal , 也就是同步互联网上的时间服务器的时间。我们把第一台服务器hadoop-senior01.pmpa.com作为NTP服务器的Server端,其余两台服务器同步这个服务器的时间。

注意:该项操作需要使用root用户,但是在一台服务器上做即可,其他服务器同步这台服务器,我们在hadoop-senior01上做。

(1)修改服务器的时区

如果操作系统在安装时,选择的不是上海的时区,要首先修改成shanghai时区,否则时间同步会失败。先将原来的时区文件(/etc/localtime)改名备份:

mv /etc/localtime /etc/localtime_bak

再创建一个软链接文件,指向上海的时区文件:

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

(2)同步服务器的时间:

使用ntpdate命令来同步时间。选择亚洲时间服务器来同步时间:

# ntpdate asia.pool.ntp.org

把当前时间写入硬件BIOS:

# hwclock -w

(3)修改NTP配置文件:

关于NTP配置文件的详细介绍,可以参考下链接:Linux NTP配置详解

ntp配置文件的位置在 /etc/ntp.conf

a. 去掉下边这行的注释,并改成自己机器IP的网段:

该行用来控制相关权限,语法为: restrict IP地址 mask 子网掩码 参数  。

其中,nomodify notrap 都是参数。

nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。

notrap :不提供trap远端登陆:拒绝为匹配的主机提供模式 6 控制消息陷阱服务。陷阱服务是 ntpdq 控制消息协议的子系统,用于远程事件日志记录程序。

restrict 192.168.8.0 mask 255.255.255.0 nomodify notrap

b. 下面3行加上注释:

这三行原本的作用是设定NTP主机来源,由于我们将hadoop-senior01设定为了NTP Server端,所以这几行都注释掉。

#server 0.centos.pool.ntp.org

#server 1.centos.pool.ntp.org

#server 2.centos.pool.ntp.org

以下两行去掉注释:

如果无法与上层ntp server通信以本地时间为标准时间。

server  127.127.1.0    # local clock

fudge  127.127.1.0 stratum 10

(4)修改nptd服务配置:

重启nptd服务:

# service ntpd restart

设置ntpd服务,开机后启动(默认是开机后不启动ntpd服务):

# chkconfig ntpd on

(5)设置hadoop-senior02和hadoop-senior03两个服务器,每隔5分钟向hadoop-senior01同步一次时间,使用crontab来实现。

# crontab -e

*/10 * * * * /usr/sbin/ntpdate hadoop-senior01.pmpa.com


4.SSH无秘钥登录:

注意:该项操作,需要使用natty用户进行。

1. 使用SSH无秘钥登陆的作用:

(1)方便使用scp命令在 不同节点间拷贝文件;

(2)按模块启动服务, start-dfs.sh   start-yarn.sh。

2. 配置无秘钥登陆:

配置hadoop-senior01可以无秘钥登陆 hadoop-senior01、hadoop-senior02、hadoop-senior03。在hadoop-senior01上执行:

$ ssh-keygen -t rsa

执行后,不输入任何内容,一直回车就可以。

下面步骤,将上一步在hadoop-senior01上生成的公钥copy到hadoop-senior02和hadoop-senior03上。第一次需要输一次密码。

$ ssh-copy-id natty@hadoop-senior01.pmpa.com

$ ssh-copy-id natty@hadoop-senior02.pmpa.com

$ ssh-copy-id natty@hadoop-senior03.pmpa.com

在hadoop-senior02和 hadoop-senior03上重复上边的步骤。


5.分布式环境搭建和测试启动:

1. 在02和03机器上,创建/opt/modules目录,并赋权限(跟01保持一致)。

# mkdir /opt/modules

# chown -R natty:natty /opt/modules/


2. 在02和03上配置环境变量

# vi /etc/profile

把java环境变量的配置复制到02和03的/etc/profile文件中。


3. 拷贝java安装目录到02和03服务器:

$ scp -r /opt/modules/jdk1.7.0_67/ natty@hadoop-senior02.pmpa.com:/opt/modules/


4. 修改 hadoop的配置文件:

需要修改以下4个组件:

core-site.xml

hdfs-site.xml

yarn-site.xml

mapred-site.xml

datanode在$HADOOP_HOME/etc/hadoop/slaves 文件中配置。把所有作为datanode的节点的主机名列在这个文件中就可以。

slaves


5. 拷贝一个配置好的节点的haoop目录内容,到其他2个节点上。

在这里,由于我之前配置了伪分布式模式,在hadoop-senior01机器上,所以将hadoop-senior01配置好的内容,直接scp到hadoop-senior02和hadoop-senior03上。


$ scp -r hadoop-2.5.0/ natty@hadoop-senior02.pmpa.com:/opt/modules/ ; scp -r hadoop-2.5.0/ natty@hadoop-senior03.pmpa.com:/opt/modules/


6.删除02和03机器上已经安装好的java(操作系统默认安装的)

切换到root用户,查看已经安装的版本:

# rpm -qa | grep java

删除这些已经安装的java,进而使用我们安装jdk 1.7 

# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64 tzdata-java-2012j-1.el6.noarch java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64

执行环境变量(当然重启系统也是可以的):

# source /etc/profile


7.  格式化hdfs:

$ bin/hdfs namenode -format


8. 启动hdfs、yarn 和 jobhistory组件:

根据在文章最开始时候,我设计的安装规划表,namenode是安装在hadoop-senior01上的,所以启动hdfs需要在hadoop-senior01上执行;ResourceManager是安装在hadoop-senior02上的,所以在hadoop-senior02 上启动yarn。 jobhistoryserver是在hadoop-senior03上安装的,jobhistory启动在hadoop-senior03上。

在第一台服务器上启动hdfs:

$ sbin/start-dfs.sh

在第二台服务器上启动yarn(配置的resourcemanager在hadoop-senior02上)

$ sbin/start-yarn.sh

在第三台服务器上启动 jobhistory 服务:

$ sbin/mr-jobhistory-daemon.sh  start historyserver


9.测试集群有效性:

可以执行一些hdfs的命令来进行测试:

$ bin/hdfs dfs -mkdir /input

$ bin/hdfs dfs -ls /

$ bin/hdfs dfs -put etc/hadoop/core-site.xml /input/

$ bin/hdfs dfs -text /input/core-site.xml

运行 yarn上的mapreduce来测试:

$ bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /input/core-site.xml /output01

$ bin/hdfs dfs -text /output01/part*

修改windows本地的hosts文件(C:\Windows\System32\drivers\etc\hosts)添加映射,来用浏览器来测试:

HDFS访问页面(hdfs-site.xml):  http://hadoop-senior01.pmpa.com:50070/

YARN访问页面(可以进入yarn的管理页面,默认配置):http://hadoop-senior02.pmpa.com:8088   

在上一个页面,点击“History” 可以跳转到第三个服务器的地址。


yarn管理界面

点击了History直接跳转:


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

推荐阅读更多精彩内容