溫馨提示×

溫馨提示×

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

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

Hadoop+Hbase 安裝配置實(shí)錄

發(fā)布時(shí)間:2020-07-04 21:59:09 來源:網(wǎng)絡(luò) 閱讀:308 作者:Cisco527 欄目:關(guān)系型數(shù)據(jù)庫

生產(chǎn)環(huán)境:

3臺機(jī)器:master(192.168.0.61),slave1(192.168.0.62),slave2(192.168.0.63)
注意:hostname設(shè)置為master/slave1/slave2
操作系統(tǒng):rhel5.4 x86_64

master做為namenonde,將slave1和slave2做為datanode

1.在master:(在slave1和slave2上操作和以下相同)
vi /etc/hosts
192.168.0.61  master
192.168.0.62  slave1
192.168.0.63  slave2

2.用root操作

3.免密碼登錄
#ssh-keygen -t rsa #建立ssh目錄,敲回車到底 ,這一步需要先在每臺機(jī)器上執(zhí)行。
在master上
#scp ~/.ssh/id_rsa.pub root@slave1:/root/.ssh/id_rsa.pub_m 將master上的密鑰傳到slave1的/home/hadoop下
在slave1上
#cat /root/.ssh/id_rsa.pub_m >> ~/.ssh/authorized_keys
#chmod 644 ~/.ssh/authorized_keys

反復(fù)操作第3步,完成master<-->slave1 master<-->slave2的免密碼登錄
這樣主節(jié)點(diǎn)和從節(jié)點(diǎn)之間就可以不用密碼直接ssh訪問,另外,在啟動(dòng)hadoop時(shí)需要master ssh master,
因此,在master的~/.ssh下,也執(zhí)行下cat id_rsa.pub >> authorized_keys即可。

4.安裝JDK到/usr/local下命名為jdk6
然后:
編輯三臺機(jī)器的/etc/profile,增加如下內(nèi)容
export JAVA_HOME=/usr/local/jdk6
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export HADOOP_HOME=/hadoop/hadoop
export HBASE_HOME=/hadoop/hbase
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin

#vi /root/.bashrc
增加
export HADOOP_CONF_DIR=/hadoop/hadoop-config
export HBASE_CONF_DIR=/hadoop/hbase-config

5、防火墻
   各機(jī)器加入iptables策略:
#iptables -I INPUT -s 192.168.0.0/255.255.255.0 -j ACCPET
#service iptables save

-----------------------------------------
hadoop配置:

1.下載安裝
#cd /hadoop
#wget http://labs.renren.com/apache-mirror//hadoop/core/hadoop-0.20.2/hadoop-0.20.2.tar.gz
#tar -zxvf hadoop-0.20.2.tar.gz
#ln -s hadoop-0.20.2 hadoop
    由于上述目錄中hadoop的配置文件和hadoop的安裝目錄是放在一起的,這樣一旦日后升級hadoop版本的時(shí)候所有的配置文件都會被覆蓋,因 此將配置文件與安裝目錄分離,一

種比較好的方法就是建立一個(gè)存放配置文件的目錄,/hadoop/hadoop-config/,然后將 /hadoop/hadoop/conf/目錄中的core-site.xml,slaves,hadoop-env.sh,masters, hdfs-

site.xml,mapred-site.xml,這6個(gè)文件拷貝到 /hadoop/hadoop-config/目錄中,并指定環(huán)境變量$HADOOP_CONF_DIR指向該目錄。環(huán)境變量在/root/.bashrc 中設(shè)定。
#mkdir /hadoop/hadoop-config
#cd  /hadoop/hadoop/conf/
#cp core-site.xml slaves hadoop-env.sh masters hdfs-site.xml mapred-site.xml /hadoop/hadoop-config/


2.修改6個(gè)文件
masters:
master

slaves:
slave1
slave2

#切忌不要?jiǎng)?chuàng)建:/hadoop/hadoop/tmp
hadoop-env.sh:
export JAVA_HOME=/usr/local/jdk6
export HADOOP_PID_DIR=/hadoop/hadoop/tmp

core-site.xml:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
   <name>fs.default.name</name>
   <value>hdfs://master:54310</value>
</property>
</configuration>

#切忌不要?jiǎng)?chuàng)建:/hadoop/hadoop/name
#mkdir /hadoop/hadoop/data
hdfs-site.xml:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/hadoop/hadoop/name/</value>  #hadoop的name目錄路徑      
</property>
<property>
<name>dfs.data.dir</name>
<value>/hadoop/hadoop/data/</value>  #hadoop的data目錄路徑
</property>
<property>
   <name>dfs.replication</name>
   <value>3</value>      #指定 HDFS 中每個(gè) Block 被復(fù)制的次數(shù),起數(shù)據(jù)冗余備份的作用。在典型的生產(chǎn)系統(tǒng)中,這個(gè)數(shù)常常設(shè)置為3
</property>
</configuration>

mapred-site.xml:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
   <name>mapred.job.tracker</name>
   <value>hdfs://master:54311/</value>
</property>
</configuration>


3、格式化namenode
#cd /hadoop/hadoop/bin
#./hadoop namenode -format
#cd /hadoop
#scp -r ./* root@slave1:/hadoop/
#scp -r ./* root@slave2:/hadoop/
到slave1和slave2上,分別重做軟鏈接
#cd /hadoop
#rm -rf hadoop
#ln -s hadoop-0.20.2 hadoop

4、啟動(dòng)所有hadoop守護(hù)進(jìn)程
# ./start-all.sh
說明:
在bin/下面有很多啟動(dòng)腳本,可以根據(jù)自己的需要來啟動(dòng)。
* start-all.sh 啟動(dòng)所有的Hadoop守護(hù)。包括namenode, datanode, jobtracker, tasktrack
* stop-all.sh 停止所有的Hadoop
* start-mapred.sh 啟動(dòng)Map/Reduce守護(hù)。包括Jobtracker和Tasktrack
* stop-mapred.sh 停止Map/Reduce守護(hù)
* start-dfs.sh 啟動(dòng)Hadoop DFS守護(hù).Namenode和Datanode
* stop-dfs.sh 停止DFS守護(hù)
[root@master bin]# jps
6813 NameNode
7278 Jps
7164 JobTracker
7047 SecondaryNameNode
出現(xiàn)4個(gè)這樣的進(jìn)程,且datanode沒有error,同時(shí)訪問ui正常才算成功。
ui:http://masterip:50070  --web UI for HDFS name node(s)
http://masterip:50030  --web UI for MapReduce job tracker(s)
http://slaveip:50060    --web UI for task tracker(s)

5、hdfs簡單測試
#cd /hadoop/hadoop/bin
#./hadoop dfs -mkdir testdir
#./hadoop dfs -put /root/install.log testdir/install.log-dfs
將/root/install.log 存儲到hdfs中的testdir中,重命名為install.log-dfs
#./hadoop dfs -ls
#./hadoop dfs -ls testdir


----------------------------------
1、hbase安裝部署
#cd /hadoop
#wget http://apache.etoak.com//hbase/hbase-0.20.6/hbase-0.20.6.tar.gz
#tar -zxvf hbase-0.20.6.tar.gz
#ln -s hbase-0.20.6 hbase
#mkdir hbase-config
#cd /hadoop/hbase/conf/
#cp hbase-env.sh hbase-site.xml regionservers /hadoop/hbase-config/

2、配置文件修改
#mkdir /hadoop/hbase/tmp
#vim /hadoop/hbase-config/hbase-env.sh
增加
export JAVA_HOME=/usr/local/jdk6
export HBASE_MANAGES_ZK=true
export HBASE_PID_DIR=/hadoop/hbase/tmp

#vim hbase-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
    <name>hbase.rootdir</name>
    <value>hdfs://master:54310/hbase</value> 注意主機(jī)名和端口號要與hadoop的dfs name的對應(yīng)
</property>
<property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
</property>
<property>
    <name>hbase.zookeeper.quorum</name>
    <value>master</value>
</property>
<property>
    <name>zookeeper.session.timeout</name>
    <value>60000</value>
</property>
<property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2222</value>
</property>
</configuration>

配置hbase服務(wù)器名稱
#vi regionservers
slave1
slave2

3、復(fù)制hbase文件
在master上
#cd /hadoop
#scp -r  hbase-0.20.6 hbase-0.20.6.tar.gz hbase-config root@slave1:/hadoop/
#scp -r  hbase-0.20.6 hbase-0.20.6.tar.gz hbase-config root@slave2:/hadoop/
在slave1和slave2上,分別重做軟鏈接
#cd /hadoop
#ln -s  hbase-0.20.6 hbase

4、測試
在master上啟動(dòng)
#cd /hadoop/hbase/bin
#./hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Version: 0.20.6, r965666, Mon Jul 19 16:54:48 PDT 2010
hbase(main):001:0> create 'test','data'
0 row(s) in 1.1920 seconds
hbase(main):002:0> list
test                                                                                                          
1 row(s) in 0.0200 seconds
hbase(main):003:0> quit


----------------------------------------------
總結(jié):
在安裝hadoop-0.21.0+hbase-0.20.6過程中,出現(xiàn):org.apache.hadoop.hbase.masternotrunningexception異常。
使用hadoop-0.20.2+hbase-0.20.6問題解決。

51cto.com/a/luyoujiaohuan/index.html
http://www.net527.com
linux系統(tǒng)思科論壇Cisco


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

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

AI