真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么部署Hadoop集群

本篇內(nèi)容主要講解“怎么部署Hadoop集群”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么部署Hadoop集群”吧!

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的天涯網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

環(huán)境準(zhǔn)備

一共用5臺(tái)機(jī)器作為硬件環(huán)境,全都是centos 6.4

  • namenode & resourcemanager 主服務(wù)器: 192.168.1.1

  • namenode & resourcemanager 備服務(wù)器: 192.168.1.2

  • datanode & nodemanager 服務(wù)器: 192.168.1.100 192.168.1.101 192.168.1.102

  • zookeeper 服務(wù)器集群(用于namenode 高可用的自動(dòng)切換): 192.168.1.100 192.168.1.101

  • jobhistory 服務(wù)器(用于記錄mapreduce的日志): 192.168.1.1

  • 用于namenode HA的NFS: 192.168.1.100

環(huán)境部署

一、加入CDH4的YUM倉庫

1.***的辦法是把cdh5的包放到自建的yum倉庫中,如何自建yum倉庫請(qǐng)看 自建YUM倉庫

2.如果不想自建yum倉庫,在所有的hadoop機(jī)器執(zhí)行以下操作加入cdn4的yum倉庫

wget http://archive.cloudera.com/cdh5/one-click-install/redhat/6/x86_64/cloudera-cdh-4-0.x86_64.rpm sudo yum --nogpgcheck localinstall cloudera-cdh-4-0.x86_64.rpm

二、創(chuàng)建用于namenode HA的NFS服務(wù)器

1.登錄192.168.1.100,執(zhí)行以下腳本createNFS.sh

#!/bin/bash yum -y install rpc-bind nfs-utils mkdir -p /data/nn_ha/ echo "/data/nn_ha  *(rw,root_squash,all_squash,sync)" >> /etc/exports /etc/init.d/rpcbind start /etc/init.d/nfs  start chkconfig  --level 234 rpcbind   on chkconfig  -level 234 nfs  on

三、Hadoop Namenode & resourcemanager 主服務(wù)器 環(huán)境部署

1.登錄192.168.1.1,創(chuàng)建腳本目錄,把腳本從git倉庫復(fù)制下來

yum –y install git mkdir –p /opt/ cd /opt/ git clone http://git.oschina.net/snake1361222/hadoop_scripts.git /etc/init.d/iptables stop

2.修改hostname

sh /opt/hadoop_scripts/deploy/AddHostname.sh

3.修改部署腳本的配置文件

vim /opt/kingsoft/hadoop_scripts/deploy/config #添加master服務(wù)器的地址,也就是namenode主服務(wù)器 master="192.168.1.1" #添加nfs服務(wù)器地址 nfsserver="192.168.1.100"

4.編輯hosts文件(此文件會(huì)同步到hadoop集群所有機(jī)器)

vim /opt/hadoop_scripts/share_data/resolv_host 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.1.1 nn.dg.hadoop.cn 192.168.1.2 nn2.dg.hadoop.cn 192.168.1.100 dn100.dg.hadoop.cn 192.168.1.101 dn101.dg.hadoop.cn 192.168.1.102 dn102.dg.hadoop.cn

5.執(zhí)行部署腳本CreateNamenode.sh

sh /opt/hadoop_scripts/deploy/CreateNamenode.sh

6.搭建saltstack master

PS:類似于puppet的服務(wù)器管理開源工具,比較輕量,在這里用于管理hadoop集群,調(diào)度datanode,關(guān)于saltstack的詳細(xì)請(qǐng)看 SaltStack部署與使用

a.安裝

yum -y install salt salt-master

b.修改配置文件`/etc/salt/master`,下面標(biāo)志的是需要修改的項(xiàng)

修改監(jiān)聽I(yíng)P: interface: 0.0.0.0 多線程池: worker_threads: 5 開啟任務(wù)緩存:(官方描敘開啟緩存能承載5000minion) job_cache 開啟自動(dòng)認(rèn)證: auto_accept: True

c.開啟服務(wù)

/etc/init.d/salt-master start chkconfig  salt-master on

7.部署過程中已經(jīng)把我的sample配置復(fù)制過去了,所以只需要修改部分配置文件

a. /etc/hadoop/conf/hdfs-site.xml (其實(shí)就是按實(shí)際修改主機(jī)名地址)

   dfs.namenode.rpc-address.mycluster.ns1   nn.dg.hadoop.cn:8020   定義ns1的rpc地址     dfs.namenode.rpc-address.mycluster.ns2   nn2.dg.hadoop.cn:8020   定義ns2的rpc地址       ha.zookeeper.quorum     dn100.dg.hadoop.cn:2181,dn101.dg.hadoop.cn:2181,dn102.dg.hadoop.cn:2181,     指定用于HA的ZooKeeper集群機(jī)器列表 

b. mapred-site.xml

  mapreduce.jobhistory.address  nn.dg.hadoop.cn:10020    mapreduce.jobhistory.webapp.address  nn.dg.hadoop.cn:19888 

c. yarn-site.xml

property>   yarn.resourcemanager.resource-tracker.address   nn.dg.hadoop.cn:8031     yarn.resourcemanager.address   nn.dg.hadoop.cn:8032     yarn.resourcemanager.scheduler.address   nn.dg.hadoop.cn:8030     yarn.resourcemanager.admin.address   nn.dg.hadoop.cn:8033 

三、Hadoop Namenode & resourcemanager 備服務(wù)器 環(huán)境部署

1.登錄192.168.1.2,創(chuàng)建腳本目錄,從主服務(wù)器把腳本同步過來

/etc/init.d/iptables stop mkdir –p /opt/hadoop_scripts rsync –avz 192.168.1.1::hadoop_s   /opt/hadoop_scripts

2.執(zhí)行部署腳本CreateNamenode.sh

sh /opt/hadoop_scripts/deploy/CreateNamenode.sh

3.同步hadoop配置文件

rsync –avz 192.168.1.1::hadoop_conf  /etc/hadoop/conf

4.部署saltstack客戶端

sh /opt/hadoop_scripts/deploy/salt_minion.sh

四、zookeeper服務(wù)器集群部署

zookeeper是一個(gè)開源分布式服務(wù),在這里用于namenode 的auto fail over功能。

1.安裝

yum install zookeeper zookeeper-server

2.修改配置文件/etc/zookeeper/conf/zoo.cfg

maxClientCnxns=50 # The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. dataDir=/var/lib/zookeeper # the port at which the clients will connect clientPort=2181 #這里指定zookeeper集群內(nèi)的所有機(jī)器,此配置集群內(nèi)機(jī)器都是一樣的 server.1=dn100.dg.hadoop.cn :2888:3888 server.2=dn101.dg.hadoop.cn:2888:3888

3.指定當(dāng)前機(jī)器的id,并開啟服務(wù)

#譬如當(dāng)前機(jī)器是192.168.1.100(dn100.dg.hadoop.cn),它是server.1,id是1,SO: echo "1" >  /var/lib/zookeeper/myid chown -R zookeeper.zookeeper /var/lib/zookeeper/ service zookeeper-server init /etc/init.d/zookeeper-server start chkconfig zookeeper-server on #如此類推,部署192.168.1.101

五、datanode & nodemanager 服務(wù)器部署

1.登錄datanode機(jī)器,創(chuàng)建腳本目錄,從主服務(wù)器把腳本同步過來

/etc/init.d/iptables stop mkdir –p /opt/hadoop_scripts rsync –avz 192.168.1.1::hadoop_s   /opt/hadoop_scripts

2.修改hostname,執(zhí)行部署腳本 CreateDatanode.sh

sh /opt/hadoop_scripts/deploy/AddHostname.sh sh /opt/hadoop_scripts/deploy/CreateDatanode.sh

集群初始化

到這里,hadoop集群的環(huán)境已部署完畢,現(xiàn)在開始初始化集群

一、namenode的HA高可用初始化

1.在namenode主服務(wù)器(192.168.1.1)執(zhí)行zookeeper的failover功能格式化

sudo –u hdfs hdfs zkfc –formatZK

2.把zookeeper集群服務(wù)啟動(dòng)(192.168.1.100  192.168.1.101 )

/etc/init.d/zookeeper-server start

3.把namenode主備服務(wù)器的zkfc服務(wù)起來(192.168.1.1  192.168.1.2)

/etc/init.d/hadoop-hdfs-zkfc start

4.在namenode主服務(wù)器(192.168.1.1)格式化hdfs

#確保是用hdfs用戶格式化 sudo -u hdfs hadoop namenode –format

5.***次搭建namenode高可用,需要把name.dir下面的數(shù)據(jù)復(fù)制到namenode備服務(wù)器(此坑花了好多時(shí)間)

a.在主服務(wù)器(192.168.1.1)執(zhí)行

tar -zcvPf /tmp/namedir.tar.gz /data/hadoop/dfs/name/ nc -l 9999 < /tmp/namedir.tar.gz

b.在備服務(wù)器(192.168.1.2)執(zhí)行

wget 192.168.1.1:9999 -O /tmp/namedir.tar.gz tar -zxvPf /tmp/namedir.tar.gz

6.主從服務(wù)都啟動(dòng)

/etc/init.d/hadoop-hdfs-namenode start /etc/init.d/hadoop-yarn-resourcemanager start

7.查看hdfs的web界面

http://192.168.1.1:9080 http://192.168.1.2:9080 #如果在web界面看到兩個(gè)namenode都是backup狀態(tài),那就是auto fail over配置不成功 #查看zkfc日志(/var/log/hadoop-hdfs/hadoop-hdfs-zkfc-nn.dg.s.kingsoft.net.log) #查看zookeeper集群的日志(/var/log/zookeeper/zookeeper.log)

8.現(xiàn)在可以嘗試關(guān)閉namenode主服務(wù),看是否能主從切換

二、hdfs集群開啟

到這里,所有hadoop部署已完成,現(xiàn)在開始把集群?jiǎn)?dòng),驗(yàn)證效果

1.把所有datanode服務(wù)器啟動(dòng)

#還記得之前搭建的saltstack管理工具不,現(xiàn)在開始發(fā)揮它的作用,登錄saltstack master(192.168.1.1)執(zhí)行 salt -v "dn*" cmd.run "/etc/init.d/hadoop-hdfs-datanode start"

2.查看hdfs web界面,看是否都成為live nodes

3.如果沒有問題,現(xiàn)在可以嘗試hdfs操作

#創(chuàng)建一個(gè)tmp目錄 sudo -u hdfs hdfs dfs -mkdir /tmp #創(chuàng)建一個(gè)10G大小的空文件,計(jì)算它的MD5值,并放入hdfs dd if=/dev/zero of=/data/test_10G_file bs=1G count=10 md5sum /data/test_10G_file sudo -u hdfs hdfs dfs -put /data/test_10G_file  /tmp sudo -u hdfs hdfs dfs -ls /tmp #現(xiàn)在可以嘗試關(guān)閉一臺(tái)datanode,然后把剛才的測(cè)試文件拉取出來,再算一次MD5看是否一樣 sudo -u hdfs hdfs dfs -get /tmp/test_10G_file /tmp/ md5sum /tmp/test_10G_file

三、yarn集群開啟

hadoop除了hdfs用于大數(shù)據(jù)的分布式存儲(chǔ),還有更重要的組件,分布式計(jì)算(mapreduce)?,F(xiàn)在我們來把mapreducev2 yarn集群?jiǎn)?dòng)

1.在主服務(wù)器把resourcemanager服務(wù)起來(192.168.1.1)

/etc/init.d/hadoop-yarn-resourcemanager start

2.把所有nodemanager服務(wù)啟動(dòng)

#還是登陸saltstack master,執(zhí)行 salt -v "dn*" cmd.run "/etc/init.d/hadoop-yarn-nodemanager start"

3.查看yarn 任務(wù)追蹤界面(http://192.168.1.1:9081/),看是否所有nodes都已加入

4.hadoop自帶有基準(zhǔn)測(cè)試的mapreduce實(shí)例,我們利用它來測(cè)試yarn環(huán)境是否正常

#TestDFSIO測(cè)試HDFS的讀寫性能,寫10個(gè)文件,每個(gè)文件1G. su hdfs - hadoop jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-2.0.0-cdh5.2.1-tests.jar TestDFSIO  -write -nrFiles 10 -fileSize 1000 #Sort測(cè)試MapReduce ##向random-data目錄輸出數(shù)據(jù) hadoop jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar randomwriter  random-data ##運(yùn)行sort程序 hadoop jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar sort random-data sorted-data ##驗(yàn)證sorted-data 文件是否排好序 hadoop jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-2.0.0-cdh5.2.1-tests.jar testmapredsort -sortInput random-data \ -sortOutput sorted-data

到此,相信大家對(duì)“怎么部署Hadoop集群”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


當(dāng)前題目:怎么部署Hadoop集群
本文地址:http://weahome.cn/article/gijhdg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部