新手發(fā)帖,很多方面都是剛?cè)腴T,有錯誤的地方請大家見諒,歡迎批評指正
????
1、環(huán)境說明
???? 群集環(huán)境少至要需3個節(jié)點(也就是3臺服務(wù)器設(shè)備):1個Master,2個Slave,節(jié)點之間局域網(wǎng)連接,可以互相ping通,面下舉例說明,配置節(jié)點IP分配如下:
????
Hostname | IP | 新建戶用 | 新建戶用密碼 |
Master | 10.10.10.213 | hadoop | 123456 |
Slave1 | 10.10.10.214 | hadoop | 123456 |
Slave2 | 10.10.10.215 | hadoop | 123456 |
???? 三個節(jié)點均用使centos?6.3系統(tǒng),為了便于維護(hù),群集環(huán)境配置項最好用使同相戶用名、戶用密碼、同相hadoop、hbase、zookeeper錄目結(jié)構(gòu)。
????
2、準(zhǔn)備工作
????
2.1、修改Hostname
???? 為了群集可以畸形穩(wěn)定的運行,我們要需將個每節(jié)點的hostname別分配置為對應(yīng)的Master、Slave1、Slave2。
???? (1)在Master服務(wù)器中執(zhí)行以下令命:
hostname Master //前當(dāng)效有
vi /etc/sysconfig/network //啟重后失效
HOSTNAME=Master
???? (2)在Slave1服務(wù)器中執(zhí)行以下令命:
hostname Slave1 //前當(dāng)效有
vi /etc/sysconfig/network //啟重后失效
HOSTNAME=Slave1
???? (3)在Slave2服務(wù)器中執(zhí)行以下令命:
hostname Slave2 //前當(dāng)效有
vi /etc/sysconfig/network //啟重后失效
HOSTNAME=Slave2
????
2.2、添加Hosts映射系關(guān)
???? 別分在三個節(jié)點下通過如下令命修改hosts映射系關(guān):
vi /etc/hosts
???? 添加內(nèi)容如下:
Master 10.10.10.213 Slave1 10.10.10.214 Slave2 10.10.10.215
????
2.3、配置JDK環(huán)境
???? Hadoop群集必須賴依JDK環(huán)境,所以這里我們首先要需配置好JDK環(huán)境,樣同為了管理,我們議建服務(wù)器中的節(jié)點JDK安裝環(huán)境均在同相徑路下。
????
2.3.1、解壓安裝包
???? 拷貝jdk件文jdk-6u25-linux-x64.bin到/usr/lib/java件文錄目(該錄目可自行義定)下,解壓安裝包,如果件文權(quán)限被制約,可通過如下令命停止賦權(quán)限作操:
chmod u+w jdk-6u25-linux-x64.bin
????
2.3.2、修改環(huán)境配置息信
vi /etc/profile
???? 在最后加上:
export JAVA_HOME=/usr/lib/java/jdk1.6.0_25 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/rt.jar
???? 通過銷注或者以下令命使修改失效:
source /etc/profile
????
2.3.3、檢查前當(dāng)JDK版本息信
java -version
????
2.3.4、充補(可選)
???? 如果查看前當(dāng)?shù)腏DK版本不是剛才設(shè)置的JDK版本,則可以停止默許JDK版本設(shè)置作操:
sudo update-alternatives --install /usr/bin/java java /usr/lib/java/jdk1.6.0_25/bin/java 300 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/java/jdk1.6.0_25/bin/javac 300 sudo update-alternatives --config java(選擇jdk1.6.0_25版本的序號就行)
????
2.4、安裝SSH
???? Centos系統(tǒng)安裝時默許可以選擇安裝SSH,ubuntu下可以通過如下令命停止安裝(提前是必須聯(lián)網(wǎng)):
sudo apt-get install ssh sudo apt-get install rsync
????
2.5、新建戶用
???? 為了hadoop群集的全安與便利管理,我們要另外新建戶用,并設(shè)置密碼,令命如下:
sudo adduser hadoop sudo passwd hadoop
???? 上述令命中,第一行令命新建了一個user為hadoop的戶用,第二行令命是為這個hadoop戶用設(shè)置密碼,樣同最好服務(wù)器之間均保持一致。
????
2.6、配置群集之間SSH無密碼登岸
???? 群集環(huán)境的用使必須通過ssh無密碼登岸來執(zhí)行,本機登岸本機必須無密碼登岸,主機與從機之間必須可以向雙無密碼登岸,從機與從機之間無制約。以本次為例,比如Master與Slave1之間的無密碼登岸設(shè)置驟步如下:
???? (1)進(jìn)入Master服務(wù)器,停止無密碼自登岸設(shè)置
ssh hadoop@Master //登岸Master ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys //成生密鑰 chmod 700 ~/.ssh && chmod 600 ~/.ssh/* //設(shè)置權(quán)限
???? 如果不知道是不是配置勝利,可通過如下令命停止驗證:
ssh localhost
????如果上述令命不要需輸入密碼則表現(xiàn)配置勝利。
???? 進(jìn)入Slave1服務(wù)器,停止無密碼自登岸設(shè)置,作操同上,只要將對應(yīng)的Master為改Slave1可即,此處省略。
???? (2)進(jìn)入Master服務(wù)器,設(shè)置Master->Slave1的無密碼登岸
ssh hadoop@Master //登岸Master cat ~/.ssh/id_rsa.pub | ssh hadoop@Slave1 'cat - >> ~/.ssh/authorized_keys' ssh hadoop@Slave1 //若此處不要需輸入密碼則配置勝利
???? (3)進(jìn)入Slave1服務(wù)器,設(shè)置Slave1->Master的無密碼登岸
ssh hadoop@Slave1 //登岸Slave1 cat ~/.ssh/id_rsa.pub | ssh hadoop@Master 'cat - >> ~/.ssh/authorized_keys' ssh hadoop@Master //若此處不要需輸入密碼則勝利
???? 以上就是Master與Slave1之間的向雙無密碼登岸配置。Master與Slave2之間的配置道理同上述基本一樣,所以不再贅述。
????
3、Hadoop群集安裝配置
????
3.1、修改hadoop配置件文
???? 在centos系統(tǒng)下解壓hadoop安裝包hadoop-1.0.3.tar.gz,修改conf錄目下的6個件文:
????(1)core-site.xml
<configuration> <property> <name>fs.default.name</name> <value>hdfs://Master:9000</value> </property> </configuration>
????(2)hadoop-env.sh
???? 在該件文中加上如下一行碼代:
export JAVA_HOME=(你配置的jdk徑路,比如:/usr/java/jdk1.6.0_25)
???? (3)hdfs-site.xml
<configuration> <property> <name>dfs.name.dir</name> <value>/home/hadoop/temp/hadoop</value> </property> <property> <name>dfs.data.dir</name> <value>/home/hadoop/temp/hadoop</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.support.append</name> <value>true</value> </property> </configuration>
???? (4)mapred-site.xml
<configuration> <property> <name>mapred.job.tracker</name> <value>Master:9001</value> </property> <property> <name>mapred.acls.enabled</name> <value>false</value> </property> </configuration>
???? (5)Masters
Master
???? (6)Slaves
Slave1 Slave2
????
3.2、步同安裝包
???? 將解壓修改后的hadoop-1.0.3件文夾別分拷貝到Master、Slave1、Slave2的同相hadoop安裝徑路下。
????
3.3、啟動Hadoop群集
???? 進(jìn)入Master的hadoop-1.0.3錄目,執(zhí)行以下作操:
bin/hadoop namenode -format //式格化namenode,第一次啟動服務(wù)前執(zhí)行的作操,后以不要需執(zhí)行 bin/start-all.sh //啟動hadoop jps //用jps令命能看到除jps外有5個進(jìn)程
???? 至此,hadoop群集配置進(jìn)程結(jié)束。可通過瀏覽器地址http://10.10.10.213:50070?查看節(jié)點用啟狀態(tài)驗證配置是不是勝利。
????
4、Zookeeper群集安裝配置
????
4.1、修改zookeeper配置件文zoo.cfg
???? 在centos系統(tǒng)下解壓zookeeper安裝包zookeeper-3.4.3.tar.gz?,進(jìn)入到conf錄目,將zoo_sample.cfg拷貝一份命名為zoo.cfg(Zookeeper?在啟動時會找這個件文作為默許配置件文),開打該件文停止修為改以下式格(注意權(quán)限問題,如果最后配置有問題請檢查進(jìn)程中權(quán)限是不是準(zhǔn)確)。
dataDir=/home/hadoop/temp/zookeeper/data server.0=10.10.10.213:2888:3888 server.1=10.10.10.214:2888:3888 server.2=10.10.10.215:2888:3888
????
4.2、新建錄目、新建并編輯myid件文
???? (本次配置myid件文放在/home/hadoop/temp/zookeeper/data錄目下)
mkdir /home/hadoop/temp/zookeeper/data //dataDir錄目 vi /home/hadoop/temp/zookeeper/data/myid
???? 注意myid件文中的內(nèi)容為:Master中為0,Slave1中為1,Slave2中為2,別分與zoo.cfg中對應(yīng)起來。
????
4.3、步同安裝包
???? 將解壓修改后的zookeeper-3.4.3件文夾別分拷貝到Master、Slave1、Slave2的同相zookeeper安裝徑路下。注意:myid件文的內(nèi)容不是一樣的,各服務(wù)器中別分是對應(yīng)zoo.cfg中的設(shè)置。
????
4.4、啟動zookeeper
???? Zookeeper的啟動與hadoop不一樣,要需個每節(jié)點都執(zhí)行,別分進(jìn)入3個節(jié)點的zookeeper-3.4.3錄目,啟動zookeeper:
bin/zkServer.sh start
????注意:此時如果報錯先不會理,繼承在另兩臺服務(wù)器中執(zhí)行同相作操。
????
4.5、檢查zookeeper是不是配置勝利
???? 待3臺服務(wù)器均啟動后,如果進(jìn)程準(zhǔn)確的話zookeeper應(yīng)當(dāng)經(jīng)已主動選好leader,進(jìn)入每臺服務(wù)器的zookeeper-3.4.3錄目,執(zhí)行以下作操查看zookeeper啟動狀態(tài):
bin/zkServer.sh status
???? 如果涌現(xiàn)以下碼代表現(xiàn)安裝勝利了。
[java] view plaincopy JMX enabled by default Using config: /home/hadoop/zookeeper-3.4.3/bin/../conf/zoo.cfg Mode: follower //或者有且只有一個leader
????
5、HBase群集安裝配置
????
5.1、修改hbase配置件文
???? 在centos系統(tǒng)下解壓hadoop安裝包hadoop-1.0.3.tar.gz,修改conf錄目下的3個件文:
???? (1)hbase-env.sh
export JAVA_HOME=/usr/lib/java/jdk1.6.0_25 //JDK的安裝錄目 export HBASE_CLASSPATH=/home/hadoop/hadoop-1.0.3/conf //hadoop的安裝錄目 export HBASE_MANAGES_ZK=true
???? (2)hbase-site.xml
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://Master:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>Master</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hadoop/temp/zookeeper</value> </property> <property> <name>dfs.support.append</name> <value>true</value> </property> </configuration>
???? (3)regionservers
Slave1 Slave2
????
5.2、步同安裝包
???? 將解壓修改后的hbase-0.94.1-security件文夾別分拷貝到Master、Slave1、Slave2的同相hbase安裝徑路下。
????
5.3、啟動HBase
???? 進(jìn)入Master的hbase-0.94.1-security錄目,執(zhí)行以下作操:
bin/start-hbase.sh //之后用jps查看是不是全部進(jìn)程都已啟動
???? 至此,hbase服務(wù)配置進(jìn)程結(jié)束。可通過瀏覽器地址http://10.10.10.213:60010?查看hbase是不是可用。
???? 也可以執(zhí)行以下令命,進(jìn)入hbase?shell停止驗證。
????
6、結(jié)語
????
關(guān)于hadoop、zookeeper、hbase的啟動與閉關(guān)序順:啟動時hadoop和zookeeper意隨前后,但是hbase必須最后啟動,閉關(guān)時hbase必須首先閉關(guān),然后意隨前后閉關(guān)hadoop、zookeeper。否則,會涌現(xiàn)異常。
關(guān)于各軟件的安裝包可以去官網(wǎng)下載,不同版本的安裝配置可能會有少量的變化,而且版本搭配如果不一樣的話也可能涌現(xiàn)問題,有問題就針對性地去查,這樣學(xué)習(xí)才有步進(jìn)。
文章結(jié)束給大家分享下程序員的一些笑話語錄: 打賭
飛機上,一位工程師和一位程序員坐在一起。程序員問工程師是否樂意和他一起玩一種有趣的游戲。工程師想睡覺,于是他很有禮貌地拒絕了,轉(zhuǎn)身要睡覺。程序員堅持要玩并解釋說這是一個非常有趣的游戲:"我問你一個問題,如果你不知道答案,我付你5美元。然后你問我一個問題,如果我答不上來,我付你5美元。"然而,工程師又很有禮貌地拒絕了,又要去睡覺。 程序員這時有些著急了,他說:"好吧,如果你不知道答案,你付5美元;如果我不知道答案,我付50美元。"果然,這的確起了作用,工程師答應(yīng)了。程序員就問:"從地球到月球有多遠(yuǎn)?"工程師一句話也沒有說,給了程序員5美元。 現(xiàn)在輪到工程師了,他問程序員:"什么上山時有三條腿,下山卻有四條腿?"程序員很吃驚地看著工程師,拿出他的便攜式電腦,查找里面的資料,過了半個小時,他叫醒工程師并給了工程師50美元。工程師很禮貌地接過錢又要去睡覺。程序員有些惱怒,問:"那么答案是什么呢?"工程師什么也沒有說,掏出錢包,拿出5美元給程序員,轉(zhuǎn)身就去睡覺了。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
