溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

hadoop+hbase+zookeeper完全分布安裝(1)

發(fā)布時(shí)間:2020-08-01 16:43:17 來源:網(wǎng)絡(luò) 閱讀:1132 作者:hujunshao 欄目:關(guān)系型數(shù)據(jù)庫

版本選擇

選擇 Hadoop 版本對(duì)HBase部署很關(guān)鍵。下表顯示不同HBase支持的Hadoop版本信息?;贖Base版本,應(yīng)該選擇合適的Hadoop版本。



HBase-0.92.xHBase-0.94.xHBase-0.96
Hadoop-0.20.205SXX
Hadoop-0.22.xSXX
Hadoop-1.0.xSSS
Hadoop-1.2.xNTSS
Hadoop-0.23.xXSNT
Hadoop-2.xXSS


S = supported and tested,支持
X = not supported,不支持
NT = not tested enough.可以運(yùn)行但測試不充分


一.準(zhǔn)備工作

1.選擇合適的配套軟件。本文所使用的軟件包分別為

hadoop-1.2.1-bin.tar.gz

hbase-0.94.10.tar.gz

jdk-6u20-linux-i586.bin

zookeeper-3.4.6.tar.gz


2.環(huán)境準(zhǔn)備,本實(shí)驗(yàn)是已三臺(tái)機(jī)器做一個(gè)集群,1個(gè)master,2個(gè)slave。

1)每臺(tái)機(jī)器上安裝openssl,rsync


2)每臺(tái)機(jī)器上建立用戶hadoop,并且在/etc/sysconfig/network修改主機(jī)名,

和在/etc/hosts里加入如下映射

192.168.10.1 master

192.168.10.2 slave1

192.168.10.3 slave2


注: DNS映射的這3主機(jī)不能有其它的dns映射名。否則 建好集群準(zhǔn)備建表的hbase會(huì)非常奇葩的報(bào)錯(cuò)

org.apache.hadoop.hbase.PleaseHoldException: Master is initializing   


導(dǎo)致 建表和寫入

3) 安裝JDK

創(chuàng)建文件夾/usr/java ,將jdk-6u20-linux-i586.bin移到此文件夾后執(zhí)行

將java路徑加入 /etc/profile

export JAVA_HOME=/usr/java/jdk1.6.0_45

export JRE_HOME=/usr/java/jdk1.6.0_45/jre

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

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


二 . 安裝hadoop

1.master 與兩臺(tái)slave機(jī)間相互建立ssh無密碼登錄(出于安全考慮最好是通過hadoop用戶來建立)


1)首先所有機(jī)切換到hadoop 用戶 輸入

ssh-keygen -t rsa

這樣就會(huì)在hadoop用戶主目錄下生成 ~/.ssh/ 一對(duì)公私匙 id_rsa id_rsa.pub


2) 然后在master機(jī)上將id_rsa.pub的內(nèi)容追加到同一目錄的授權(quán)key authorized_keys文件里(沒有就創(chuàng)建一 個(gè))

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

這樣就實(shí)現(xiàn)了 ssh 無密碼自登陸,可以試試 命令 ssh localhost 登錄 看是否需要密碼


3) 將文件 id_rsa.pub通過scp命令傳到slave1 和2 里面

scp id_rsa.pub hadoop@192.168.10.2:~

scp id_rsa.pub hadoop@192.168.10.3:~

然后一樣的將里面的內(nèi)容追加到key authorized_keys里

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

這樣maser機(jī)就能夠無密碼的登錄這兩臺(tái)slave了


4)照上面的做法,依次將slave1和slave2的id_rsa.pub內(nèi)容追加到 master上的authorized_keys里

達(dá)到master與slave相互之間無密碼ssh登錄。


5) 注意 一定要用主機(jī)名相互登錄一次。否則后面啟動(dòng)hadoop時(shí)候會(huì)出現(xiàn) ssh報(bào)錯(cuò) 導(dǎo)致啟動(dòng)失敗



2.將hadoop壓縮包解壓,并放到/usr/local/hadoop目錄下,添加一個(gè)目錄tmp ,

并將整個(gè)目錄的所有者改為hadoop

tar zxvf hadoop-1.2.1-bin.tar.gz

mv hadoop-1.2.1/ /usr/local/hadoop

mkdir /usr/local/hadoop/tmp

chown -R hadoop:hadoop /usr/local/hadoop


3.修改hadoop的配置文件,一般想讓hadoop正常啟動(dòng)起來,最少需要配置修改4個(gè)配置文件

分別是


1) 修改配置文件 /usr/local/hadoop/conf/hadoop-env.sh

 在文件的末尾處加上

export JAVA_HOME=/usr/java/jdk1.6.0_45


2) 修改配置文件 /usr/local/hadoop/conf/core-site.xml 內(nèi)容如下

<configuration>

<property>

<name>hadoop.tmp.dir</name> 配置tmp存儲(chǔ)目錄

<value>/usr/local/hadoop/tmp</value>

</property>

<property>

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

<value>hdfs://master:9000</value> 配置HDFS的地址和端口號(hào)

</property>

</configuration>



3) 修改配置文件/usr/local/hadoop/conf/hdfs-site.xml 內(nèi)容如下

<configuration>

<property>

<name>dfs.name.dir</name>

<value>${hadoop.tmp.dir}/dfs/name</value>

</property>

<property>

<name>dfs.data.dir</name>

<value>/usr/local/hadoop/data</value>

</property>


<property>

<name>dfs.replication</name>

<value>1</value>

</property>


</configuration>


4.修改配置文件/usr/local/hadoop/conf/mapred-site.xml


<configuration>

<property>

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

<value>hbase1:9001</value>  

</property>

</configuration>


5.在/etc/profile中里添加hadoop的路徑

export HADOOP_HOME=/usr/local/hadoop

export PATH=$HADOOP_HOME/bin:$PATH

使之生效

source /etc/profile


這樣master的hadoop已經(jīng)安裝好了


6.使用scp將 文件夾/usr/local/hadoop 傳到兩臺(tái)slave機(jī)上相同的路徑

scp -r /usr/local/hadoop root@192.168.10.2:/usr/local

scp -r /usr/local/hadoop root@192.168.10.3:/usr/local

修改所有者

chown -R hadoop:hadoop /usr/local/hadoop

在 /etc/profile 添加如下變量

export HADOOP_HOME=/usr/local/hadoop

export PATH=$HADOOP_HOME/bin:$PATH

使之生效

source /etc/profile


三。 啟動(dòng)分布式文件系統(tǒng)hadoop

首先 ,在第一次啟動(dòng)時(shí)要在master上 ,su切換到hadoop用戶執(zhí)行以下命令

hadoop namenode -format

出現(xiàn) sucessfully formatted 就說明格式化成功了


然后用hadoop用戶 運(yùn)行腳本文件 start-all.sh 即可啟動(dòng)


四。 驗(yàn)證hadoop

啟動(dòng)后 使用命令jsp 來查看進(jìn)程。

一般來說 正常的master下會(huì)有如下幾個(gè)進(jìn)程

JobTracker

NameNode

SecondaryNameNode


正常的slave下有以下2個(gè)

JobTracker

NameNode



這樣hadoop就安裝成功了









向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI