CentOS上Hadoop環(huán)境的搭建與管理-創(chuàng)新互聯(lián)

CentOS上Hadoop環(huán)境的搭建與管理

我們擁有十余年網(wǎng)頁設(shè)計和網(wǎng)站建設(shè)經(jīng)驗,從網(wǎng)站策劃到網(wǎng)站制作,我們的網(wǎng)頁設(shè)計師為您提供的解決方案。為企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、手機網(wǎng)站制作、H5開發(fā)、等業(yè)務(wù)。無論您有什么樣的網(wǎng)站設(shè)計或者設(shè)計方案要求,我們都將富于創(chuàng)造性的提供專業(yè)設(shè)計服務(wù)并滿足您的需求。

please down load the p_w_upload

編輯日期:2015年9月1日

實驗要求:
完成Hadoop平臺安裝部署、測試Hadoop平臺功能和性能,記錄實驗過程,提交實驗報告。
1)    掌握Hadoop安裝過程
2)    理解Hadoop工作原理
3)    測試Hadoop系統(tǒng)的可擴展性
4)    測試Hadoop系統(tǒng)的穩(wěn)定性
一、先決條件
確保在集群中的每個節(jié)點上都安裝所有必需軟件:JDK ,ssh,Hadoop (2.6.0)。
1)JDK,必須安裝(版本1.7以上),建議選擇Sun公司發(fā)行的Java版本。
2)ssh 必須安裝并且保證 sshd一直運行,以便用Hadoop 腳本管理遠端Hadoop守護進程。

二、Hadoop的安裝與配置
HDFS在Master節(jié)點啟動dfs和yarn服務(wù)時,需要自動啟動Slave節(jié)點服務(wù),HDFS需要通過ssh訪問Slave節(jié)點機。HDFS需要搭建多臺服務(wù)器組成分布式系統(tǒng),節(jié)點機間需要無密碼訪問。本節(jié)任務(wù)是進行ssh的設(shè)置、用戶的創(chuàng)建、hadoop參數(shù)的設(shè)置,完成HDFS分布式環(huán)境的搭建。
任務(wù)實施:
本節(jié)任務(wù)需要四臺節(jié)點機組成集群,每個節(jié)點機上安裝CentOS-6.5-x86_64系統(tǒng)。四臺節(jié)點機使用的IP地址分別為:192.168.23.111、192.168.23.112、192.168.23.113、192.168.23.114,對應(yīng)節(jié)點主機名為:node1、node2、node3、node4。節(jié)點機node1作為NameNode,其他作為DataNode。
在node1主機上,
編輯 vi /etc/hosts,添加如下內(nèi)容:
192.168.23.111 node1
192.168.23.112 node2
192.168.23.113 node3
192.168.23.114 node4
編輯 vi /etc/sysconfig/network,修改
HOSTNAME=node1
關(guān)閉防火墻
chkconfig iptables off
service iptables stop
在其他節(jié)點主機上進行類似的操作,但需要將HOSTNAME的值分別修改為對應(yīng)的主機名。

步驟1
創(chuàng)建hadoop用戶,分別在四臺節(jié)點機上創(chuàng)建用戶hadoop,uid=660,密碼分別為h2111, h3222, h4333, h5444。登錄node1節(jié)點機,創(chuàng)建hadoop用戶和設(shè)置密碼。操作命令如下。
[root@node1 ~]# useradd -u 660 hadoop
[root@node1 ~]# passwd hadoop
其他節(jié)點機的操作相同。

步驟2
設(shè)置master節(jié)點機ssh無密碼登錄slave節(jié)點機。
(1)在node1節(jié)點機上,以用戶hadoop用戶登錄或者使用su – hadoop切換到hadoop用戶。操作命令如下。
[root@node1 ~]# su - hadoop
(2)使用ssh-keygen生成證書密鑰,操作命令如下。
[hadoop@node1 ~]$ssh-keygen -t dsa
(3)使用ssh-copy-id分別拷貝證書公鑰到node1,node2,node3,node4節(jié)點機上,操作命令如下。

[hadoop@node1 ~]$ cd ~
hadoop@node1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub node1
[hadoop@node1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub node2
[hadoop@node1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub node3
[hadoop@node1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub node4
(4)在node1節(jié)點機上使用ssh測試無密碼登錄node1節(jié)點機,操作命令如下。
[hadoop@node1 ~]$ ssh node1
Last Login: Mon Dec 22 08:42:38 2014 from node1
[hadoop@node1 ~]$ exit
Logout
Connection to node1 closed.
以上表示操作成功。
在node1節(jié)點機上繼續(xù)使用ssh測試無密碼登錄node2、node3和node4節(jié)點機,操作命令如下。
[hadoop@node1 ~]$ ssh node2
[hadoop@node1 ~]$ ssh node3
[hadoop@node1 ~]$ ssh node4
測試登錄每個節(jié)點機后,輸入exit退出。

步驟3
上傳或下載hadoop-2.6.0.tar.gz軟件包到node1節(jié)點機的root目錄下。如果hadoop軟件包在node1節(jié)點機上編譯,則把編譯好的包拷貝到root目錄下即可。首先找到所需軟件包的地址http://mirror.bit.edu.cn/apache/hadoop/common/,如圖所示。

然后使用wget命令或其他命令下載所需的軟件包,操作示例如:
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz

步驟4
解壓文件,安裝文件。操作命令如下。
[root@node1 ~]# cd
[root@node1 ~]# tar xvzf hadoop-2.6.0.tar.gz
[root@node1 ~]# cd hadoop-2.6.0
[root@node1 hadoop-2.6.0]# mv * /home/hadoop/
步驟5
修改hadoop配置文件。Hadoop配置文件主要有:hadoop-env.sh、yarn-env.sh、slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml。配置文件在/home/hadoop/etc/hadoop/目錄下,可進入該目錄進行配置。操作命令如下。
[root@node1 hadoop-2.6.0]# cd /home/hadoop/etc/hadoop/
(1)修改hadoop-env.sh,
如果還沒有安裝java,先安裝java
   yum -y install java-1.7.0-openjdk*
安裝出現(xiàn)問題可以參考以下網(wǎng)址教程進行處理.
http://jingyan.baidu.com/article/4853e1e51d0c101909f72607.html
檢查各主機的/etc/profile是否有JAVA_HOME變量,沒有就在末尾添加:

JAVA_HOME=/usr/lib/jvm/java-1.7.0
export JAVA_HOME

PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH
export CLASSPATH

export HADOOP_HOME=/home/hadoop/
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

保存退出后執(zhí)行 source /etc/profile

將hadoop-env.sh文件中的export JAVA_HOME=${JAVA_HOME}修改為

export JAVA_HOME=/usr/lib/jvm/java-1.7.0

(2)修改slaves,該文件登記DataNode節(jié)點主機名,本處添加node2,node3,node4三臺節(jié)點主機名。如下所示。
[root@node1 hadoop]# vi slaves
node2
node3
node4
(3)修改core-site.xml,將文件中的<configuration></configuration>修改為如下內(nèi)容。
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
</configuration>
其中node1為集群的NameNode(Master)節(jié)點機,node1可以使用IP地址表示。
(4)修改hdfs-site.xml,將文件中的<configuration></configuration>修改為如下內(nèi)容。
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node1:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
其中為了便于教學,第二個NameNode也使用node1節(jié)點機,NameNode產(chǎn)生的數(shù)據(jù)存放在/home/hadoop/dfs/name目錄下,DataNode產(chǎn)生的數(shù)據(jù)存放在/home/hadoop/dfs/data目錄下,設(shè)置3份備份。
(5)將文件mapred-site.xml.template改名為mapred-site.xml。操作如下。
[root@node1 hadoop]# mv mapred-site.xml.template mapred-site.xml
將文件中的<configuration></configuration>修改為如下內(nèi)容。
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>node1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node1:19888</value>
</property>
</configuration>
(6)修改yarn-site.xml,將文件中的<configuration></configuration>修改為如下內(nèi)容。
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.23.111</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>node1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>node1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>node1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>node1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>node1:8088</value>
</property>
</configuration>
步驟6
修改“/home/hadoop/”文件用戶主/組屬性,操作如下。
[root@node1 hadoop]# chown -R hadoop:hadoop /home/hadoop
步驟7
將配置好的hadoop系統(tǒng)復(fù)制到其他節(jié)點機上,操作如下。
[root@node1 hadoop]# cd /home/hadoop
[root@node1 hadoop]# scp -r hadoop-2.6.0 hadoop@node2:/home/hadoop
[root@node1 hadoop]# scp -r hadoop-2.6.0 hadoop@node3:/home/hadoop
[root@node1 hadoop]# scp -r hadoop-2.6.0 hadoop@node4:/home/hadoop
步驟8
分別登錄node2,node3,node4節(jié)點機,修改 “/home/hadoop/”文件用戶主/組屬性。
[root@node2~]# chown -R hadoop:hadoop /home/hadoop
[root@node3~]# chown -R hadoop:hadoop /home/hadoop
[root@node4~]# chown -R hadoop:hadoop /home/hadoop
至此,整個hadoop分布式系統(tǒng)搭建完成。
三、Hadoop的管理

1.格式化一個新的分布式文件系統(tǒng)
先格式化一個新的分布式文件系統(tǒng)
$ cd /home/hadoop
$ bin/hadoop namenode -format
成功情況下系統(tǒng)輸出:
/opt/hadoop/hadoopfs/name has been successfully formatted.

查看輸出保證分布式文件系統(tǒng)格式化成功
執(zhí)行完后可以到master機器上看到/home/hadoop/name目錄。
2.啟動分布式文件服務(wù)
 sbin/start-all.sh

sbin/start-dfs.sh
sbin/start-yarn.sh
使用瀏覽器瀏覽Master節(jié)點機 http://192.168.23.111:50070,查看NameNode節(jié)點狀態(tài)和瀏覽Datanodes數(shù)據(jù)節(jié)點。

使用瀏覽器瀏覽Master節(jié)點機 http://192.168.23.111:8088查看所有應(yīng)用。

3.關(guān)閉分布式文件服務(wù)
sbin/stop-all.sh
4.文件管理
在hdfs創(chuàng)建swvtc目錄,操作命令如下。
[hadoop@node1 ~]$ hdfs dfs -mkdir /swvtc        #類似 mkdir /swvtc
在hdfs查看當前目錄,操作命令如下。
[hadoop@node1 ~]$ hdfs dfs -ls /                #類似 ls /
Found 1 items
drwxr-xr-x  - hadoop supergroup         0 2014-12-23 10:07 /swvtc
在本地系統(tǒng)編輯文件jie.txt,操作命令如下。
[hadoop@node1 ~]$ vi jie.txt
添加內(nèi)容:
Hi,Hadoop!
上傳文件jie.txt到hdfs的/swvtc目錄中,操作命令如下。
[hadoop@node1 ~]$ hdfs dfs -put jie.txt /swvtc
從hdfs中下載文件。操作命令:
[hadoop@node1 ~]$ hdfs dfs -get /swvtc/jie.txt
查看hdfs中/swvtc/jie.txt的內(nèi)容,操作命令:
[hadoop@node1 ~]$ hdfs dfs -text /swvtc/jie.txt
Hi,Hadoop!
hadoop dfs -get in getin 從HDFS獲取文件并且重新命名為getin,同put一樣可操作文件也可操作目錄
hadoop dfs -rmr out 刪除指定文件從HDFS上
hadoop dfs -cat in/* 查看HDFS上in目錄的內(nèi)容
hadoop dfsadmin -report 查看HDFS的基本統(tǒng)計信息,結(jié)果如下
hadoop dfsadmin -safemode leave 退出安全模式
hadoop dfsadmin -safemode enter 進入安全模式

5.添加節(jié)點
可擴展性是HDFS的一個重要特性,首先在新加的節(jié)點上安裝hadoop,然后修改$HADOOP_HOME/conf /master文件,加入 NameNode主機名,然后在NameNode節(jié)點上修改$HADOOP_HOME/conf/slaves文件,加入新加節(jié)點主機名,再建立到新加節(jié)點無密碼的SSH連接。
運行啟動命令:
./start-all.sh
然后可以通過http://(Masternode的主機名):50070查看新添加的DataNode
6.負載均衡
運行命令:
./start-balancer.sh
可以使DataNode節(jié)點上選擇策略重新平衡DataNode上的數(shù)據(jù)塊的分布。

附件:http://down.51cto.com/data/2366095

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

本文題目:CentOS上Hadoop環(huán)境的搭建與管理-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://bm7419.com/article0/gdsio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、移動網(wǎng)站建設(shè)、企業(yè)建站、網(wǎng)站設(shè)計、建站公司、網(wǎng)站維護

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作