九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Ubuntu_10.04下Hadoop-0.20.2集群配置手冊(cè)

Ubuntu_10.04下Hadoop-0.20.2集群配置手冊(cè)


一、軟硬件環(huán)境的準(zhǔn)備


下面的文章來(lái)自hadoopor.com,我先交待一下我自己的環(huán)境: 兩臺(tái)機(jī)器,每臺(tái)機(jī)器上面兩個(gè)虛機(jī)(vmware 均以橋接方式,也就是說(shuō)4個(gè)虛機(jī)都有各自獨(dú)立的內(nèi)網(wǎng)IP)都是ubuntu10.04,宿主機(jī)都是windowsxp,用SecureCRT(嚴(yán)重推薦,好使)連接各個(gè)副機(jī)。最后按下文配置,成功運(yùn)行~另:機(jī)器之間的文件用SCP命令吧,好使~~~

////////////////////////////////////////////////////////////////////////////////

集群包含三個(gè)節(jié)點(diǎn):1個(gè)namenode,3個(gè)datanode,節(jié)點(diǎn)之間局域網(wǎng)連接,可以相互ping通。操作系統(tǒng)ubuntu 10.04節(jié)點(diǎn)IP地址分布如下:


hadoop-namenode:

hadoop-datanode1:

hadoop-datanode2:

hadoop-datanode3:


修改/etc/hosts文件如下:

192.168.7.132  hadoop-namenode

192.168.8.2    hadoop-datanode1

192.168.7.123  hadoop-datanode2

192.168.7.179  hadoop-datanode3

把namenode上面的hosts文件覆蓋所有datanode上面的hosts,是他們內(nèi)容一致。

安裝JDK環(huán)境:

下載JDK安裝包jdk-6u20-linux-i586.bin,進(jìn)行安裝,然后把安裝目錄移到/usr/lib/ jdk1.6.0_20,

然后ln –s /usr/lib/jdk1.6.0_20/bin/java /usr/bin/java

在/etc/profile下面設(shè)置JDK_HOME變量

export JDK_HOME=/usr/lib/jdk1.6.0_20


JDK環(huán)境的操作需要在所有的namenode和datanode上面進(jìn)行操作。

SSH無(wú)密碼驗(yàn)證配置


Hadoop需要使用SSH協(xié)議,namenode將使用SSH協(xié)議啟動(dòng)namenode和datanode進(jìn)程,(datanode向namenode傳遞心跳信息可能也是使用SSH協(xié)議,這是我認(rèn)為的,還沒(méi)有做深入了解)。許多教程上介紹Hadoop集群配置時(shí)只說(shuō)明了namenode上SSH無(wú)密碼登錄所有datanode,我在配置時(shí)發(fā)現(xiàn)必須使datanode上也能SSH無(wú)密碼登錄到namenode,Hadoop集群才能正常啟動(dòng)(也許這不是必須的,只是我的一個(gè)失誤,但是這樣能夠正常啟動(dòng)Hadoop集群)。

*配置Namenode無(wú)密碼登錄所有Datanode

(0)原理

Namenode作為客戶端,要實(shí)現(xiàn)無(wú)密碼公鑰認(rèn)證,連接到服務(wù)端datanode上時(shí),需要在namenode上生成一個(gè)密鑰對(duì),包括一個(gè)公鑰和一個(gè)私鑰,而后將公鑰復(fù)制到datanode上。當(dāng)namenode通過(guò)ssh連接datanode時(shí),datanode就會(huì)生成一個(gè)隨機(jī)數(shù)并用namenode的公鑰對(duì)隨機(jī)數(shù)進(jìn)行加密,并發(fā)送給namenode。namenode收到加密數(shù)之后再用私鑰進(jìn)行解密,并將解密數(shù)回傳給datanode,datanode確認(rèn)解密數(shù)無(wú)誤之后就允許namenode進(jìn)行連接了。這就是一個(gè)公鑰認(rèn)證過(guò)程,其間不需要用戶手工輸入密碼。重要過(guò)程是將客戶端namenode公鑰復(fù)制到datanode上。

(1)所有機(jī)器上生成密碼對(duì)

所有節(jié)點(diǎn)上執(zhí)行以下命令:

root@hadoop-namenode# ssh-keygen

然后一路回車(chē)就可以了。

這將在/root/.ssh/目錄下生成一個(gè)私鑰id_rsa和一個(gè)公鑰id_rsa.pub。

把namenode節(jié)點(diǎn)上面的id_rsa.pub 復(fù)制到所有datanode節(jié)點(diǎn)/root/.ssh/位置。

(注意:原文沒(méi)有細(xì)說(shuō),這是指把id_rsa.pub先拷貝成authorized_keys,再將authorized_keys復(fù)制到其它datanode上的

root@hadoop-namenode# cp id_rsa.pub authorized_keys

namenode的公鑰

root@hadoop-namenode# chmod 644 authorized_keys

使用SSH協(xié)議將namenode的公鑰信息authorized_keys復(fù)制到所有DataNode的.ssh目錄下(.ssh下最初沒(méi)有authorized_keys,如果有,則需要復(fù)制追加,后面會(huì)講到如何追加)。

root@hadoop-namenode# scp authorized_keys data節(jié)點(diǎn)ip地址:/root/.ssh


這樣配置過(guò)后,namenode可以無(wú)密碼登錄所有datanode,可以通過(guò)命令

“ssh 節(jié)點(diǎn)ip地址”來(lái)驗(yàn)證。有些手冊(cè)上介紹的配置方法與此不一致,但是這種方法是成功的。很多手冊(cè)到此步SSH配置就完成了,但是我實(shí)驗(yàn)時(shí)發(fā)現(xiàn)不能正常啟動(dòng)hadoop,所以我還繼續(xù)做了配置。


*配置每個(gè)Datanode無(wú)密碼登錄Namenode

(0)原理

Namenode連接datanode時(shí)namenode是客戶端,需要將namenode上的公鑰復(fù)制到datanode上,那么,如果datanode主動(dòng)連接namenode,datanode是客戶端,此時(shí)需要將datanode上的公鑰信息追加到namenode中的authorized_keys之中。(此時(shí),由于namenode中已經(jīng)存在authorized_keys文件,所以這里是追加)。

如果進(jìn)一步需要datanode之間實(shí)現(xiàn)公鑰無(wú)密碼驗(yàn)證,則同樣需要相互之間追加公鑰信息

(1)將各個(gè)datanode上的id_rsa.pub追加到namenode的authorized_keys


在所有datanode上依次執(zhí)行如下命令:

root@hadoop-datanode1# scp id_rsa.pub namenode ip地址:/root/.ssh/datanode ip地址.id_rsa.pub

這將datanode上之前產(chǎn)生的公鑰id_rsa.pub復(fù)制到namenode上的.ssh目錄中,并重命名為datanode ip地址.id_rsa.pub,這是為了區(qū)分從各個(gè)datanode上傳過(guò)來(lái)的公鑰。

復(fù)制完畢,在namenode上執(zhí)行以下命令,將每個(gè)datanode的公鑰信息追加:

root@hadoop-namenode# cat datanode ip地址.id_rsa.pub >> authorized_keys

這樣,namenode和datanode之間便可以相互ssh上并不需要密碼......

注意:整個(gè)過(guò)程中只涉及到創(chuàng)建密鑰,復(fù)制公鑰,添加公鑰內(nèi)容,沒(méi)有更改配置文件,實(shí)際上配置文件/etc/ssh/sshd_config中開(kāi)啟了公鑰驗(yàn)證

{

RSAAuthentication yes

PubkeyAuthentication yes

}


(2)SSH配置完畢


至此,namenode能無(wú)密碼驗(yàn)證登陸每個(gè)datanode。每個(gè)datanode也能無(wú)密碼驗(yàn)證SSH登陸到namenode。


二、hadoop配置

1.安裝

下載hadoop發(fā)行版,地址:http://apache.freelamp.com/hadoop/core/stable/

安裝Hadoop集群通常要將安裝軟件解壓到集群內(nèi)的所有機(jī)器上。并且安裝路徑要一致,如果我們用HADOOP_HOME指代安裝的根路徑,通常,集群里的所有機(jī)器的HADOOP_HOME路徑相同。

通常,集群里的一臺(tái)機(jī)器被指定為NameNode,另一臺(tái)不同的機(jī)器被指定為JobTracker。這些機(jī)器是masters。余下的機(jī)器即作為DataNode也作為T(mén)askTracker。這些機(jī)器是slaves。

下載安裝包后,直接解壓安裝即可:

$tar –zxvf hadoop-0.20.2.tar.gz

$cd hadoop-0.20.2

注:如果集群內(nèi)機(jī)器的環(huán)境完全一樣,可以在一臺(tái)機(jī)器上把Hadoop0.20.2集群配置好,然后把配置好的軟件即hadoop-0.20.2整個(gè)文件夾拷貝到其他機(jī)器的相同位置即可。

2.配置

編輯conf/hadoop-env.sh文件,至少需要將JAVA_HOME設(shè)置為Java安裝根路徑。

配置core-site.xml

<configuration>

<property>

<name>hadoop.tmp.dir</name>

<value>/opt/hadoop/tmp</value>

(注意,請(qǐng)先在hadoop目錄下建立tmp文件夾)

<description>A base for other temporary directories.</description>

</property>

<!-- file system properties -->

<property>

<name>fs.default.name</name>

<value>hdfs://hadoop-namenode:9000</value>

</property>

</configuration>


dfs.name.dir是NameNode持久存儲(chǔ)名字空間及事務(wù)日志的本地文件系統(tǒng)路徑。當(dāng)這個(gè)值是一個(gè)逗號(hào)分割的目錄列表時(shí),nametable數(shù)據(jù)將會(huì)被復(fù)制到所有目錄中做冗余備份。

dfs.data.dir是DataNode存放塊數(shù)據(jù)的本地文件系統(tǒng)路徑,逗號(hào)分割的列表。當(dāng)這個(gè)值是逗號(hào)分割的目錄列表時(shí),數(shù)據(jù)將被存儲(chǔ)在所有目錄下,通常分布在不同設(shè)備上。

dfs.replication是數(shù)據(jù)需要備份的數(shù)量,默認(rèn)是3,如果此數(shù)大于集群的機(jī)器數(shù)會(huì)出錯(cuò)。

注意:此處的name1、name2、data1、data2目錄不能預(yù)先創(chuàng)建,hadoop格式化時(shí)會(huì)自動(dòng)創(chuàng)建,如果預(yù)先創(chuàng)建反而會(huì)有問(wèn)題。

(c)配置hdfs-site.xml


<configuration>

<property>

<name>dfs.replication</name>

<value>3</value>

(replication 是數(shù)據(jù)副本數(shù)量,默認(rèn)為3,datanode 少于3臺(tái)就會(huì)報(bào)錯(cuò))

</property>

</configuration>


(d)配置mapred-site.xml


<configuration>

<property>

<name>mapred.job.tracker</name>

<value> hadoop-namenode:9001</value>

</property>

</configuration>


配置conf/masters和conf/slaves來(lái)設(shè)置主從結(jié)點(diǎn),注意最好使用主機(jī)名,并且保證機(jī)器之間通過(guò)主機(jī)名可以互相訪問(wèn),每個(gè)主機(jī)名一行。

(e)配置masters文件,加入namenode的ip地址

hadoop-namenode


(f)配置slaves文件, 加入所有datanode的ip地址

hadoop-datanode1

hadoop-datanode2

hadoop-datanode3


將namenode上配置好的hadoop所在文件夾hadoop復(fù)制到所有datanode的 /opt目錄下(實(shí)際上masters,slavers文件時(shí)不必要的,復(fù)制了也沒(méi)問(wèn)題)。


三、Hadoop集群?jiǎn)?dòng)


IP地址分布:

NameNode:210.77.9.204

DataNode1: 210.77.9.199

DataNode2: 210.77.9.216

Namenode執(zhí)行:

格式化hadoop,

root@hadoop-namenode:/opt/hadoop/hadoop-0.20.2/bin# ./hadoop namenode –format


啟動(dòng)hadoop,

root@hadoop-namenode:/opt/hadoop/hadoop-0.20.2/bin#./start-all.sh

可以通過(guò)以下啟動(dòng)日志看出,首先啟動(dòng)namenode,然后啟動(dòng)datanode1,datanode2,datanode3,


啟動(dòng)hadoop成功后,在namenode中的tmp文件夾中生成了dfs文件夾,在datanode中的tmp文件夾中均生成了dfs文件夾和mapred文件夾。

在namenode上查看集群狀態(tài)

root@hadoop-namenode:/opt/hadoop/hadoop-0.20.2/bin# ./hadoop dfsadmin -report

Configured Capacity: 22339694592 (20.81 GB)

Present Capacity: 10691964928 (9.96 GB)

DFS Remaining: 10691891200 (9.96 GB)

DFS Used: 73728 (72 KB)

DFS Used%: 0%

Under replicated blocks: 0

Blocks with corrupt replicas: 0

Missing blocks: 0

-------------------------------------------------

Datanodes available: 3 (3 total, 0 dead)

Name: 192.168.7.179:50010

Decommission Status : Normal

Configured Capacity: 7446564864 (6.94 GB)

DFS Used: 24576 (24 KB)

Non DFS Used: 3950833664 (3.68 GB)

DFS Remaining: 3495706624(3.26 GB)

DFS Used%: 0%

DFS Remaining%: 46.94%

Last contact: Thu Jul 15 14:03:33 CST 2010

Name: 192.168.8.2:50010

Decommission Status : Normal

Configured Capacity: 7446564864 (6.94 GB)

DFS Used: 24576 (24 KB)

Non DFS Used: 3746869248 (3.49 GB)

DFS Remaining: 3699671040(3.45 GB)

DFS Used%: 0%

DFS Remaining%: 49.68%

Last contact: Thu Jul 15 14:03:33 CST 2010

Name: 192.168.7.123:50010

Decommission Status : Normal

Configured Capacity: 7446564864 (6.94 GB)

DFS Used: 24576 (24 KB)

Non DFS Used: 3950026752 (3.68 GB)

DFS Remaining: 3496513536(3.26 GB)

DFS Used%: 0%

DFS Remaining%: 46.95%

Last contact: Thu Jul 15 14:03:33 CST 2010


web 方式查看:http:// namenode ip地址:50070 例如:http://192.168.7.132:50070


ERROR:

[root@localhost ~]# hadoop fs -ls #會(huì)出現(xiàn)如下情況
09/04/27 01:23:28 INFO ipc.Client: Retrying connect to server: /192.168.13.129:9000. Already tried 0 time(s).   這里為什么連接不上呢?
09/04/27 01:23:29 INFO ipc.Client: Retrying connect to server: /192.168.13.129:9000. Already tried 1 time(s).
09/04/27 01:23:30 INFO ipc.Client: Retrying connect to server: /192.168.13.129:9000. Already tried 2 time(s).
09/04/27 01:23:31 INFO ipc.Client: Retrying connect to server: /192.168.13.129:9000. Already tried 3 time(s).
09/04/27 01:23:32 INFO ipc.Client: Retrying connect to server: /192.168.13.129:9000. Already tried 4 time(s).
09/04/27 01:23:33 INFO ipc.Client: Retrying connect to server: /192.168.13.129:9000. Already tried 5 time(s).
09/04/27 01:23:34 INFO ipc.Client: Retrying connect to server: /192.168.13.129:9000. Already tried 6 time(s).
09/04/27 01:23:35 INFO ipc.Client: Retrying connect to server: /192.168.13.129:9000. Already tried 7 time(s).
09/04/27 01:23:36 INFO ipc.Client: Retrying connect to server: /192.168.13.129:9000. Already tried 8 time(s).
09/04/27 01:23:37 INFO ipc.Client: Retrying connect to server: /192.168.13.129:9000. Already tried 9 time(s).




查看log 日志vim logs/hadoop-root-namenode-cwb.com.log

ERROR org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed.
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /tmp/hadoop-root/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible.


問(wèn)題解決方法hadoop namenode -format

不過(guò)這個(gè)要注意,如果hdfs里面有數(shù)據(jù),那么這么做之后,數(shù)據(jù)會(huì)丟失。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Hadoop集群安裝詳細(xì)步驟|Hadoop安裝配置
1、hadoop HA分布式集群搭建
使用 Docker 搭建本地 Hadoop 集群
Hadoop分布式集群
Hadoop集群搭建過(guò)程
Hadoop2.6(NN/RM)高可用集群安裝與部署
更多類(lèi)似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服