基於Hadoop集羣的HBase集羣的配置【2】

基於Hadoop集羣的HBase集羣的配置

1.準備工作

a.已經完成安裝的Hadoop集羣環境

b.所需要的軟件包

zookeeper-3.4.4.tar.gz下載地址:

http://downloads.gotsoft.com/pub/apache/zookeeper/zookeeper-3.4.4/

 

hbase-0.94.6.1tar.gz下載地址:

http://labs.mop.com/apache-mirror/hbase/stable/hbase-0.94.6.1.tar.gz

 

2.單獨安裝的ZooKeeper集羣,不基於Hbase集羣管理

a.在Master節點上解壓zookeeper

##建議使用hduser權限,避免之後出現SSH錯誤

hduser@master:/usr/local$sudo tar -zxvfzookeeper-3.4.4.tar.gz

 

##server後面的數字是zooKeeper識別時後的Id,需要與後面的設置保持一致

hduser@master:/usr/local$tvi /zookeeper/conf/zoo.cfg

 

tickTime=2000

      initLimit=5

      syncLimit=2

     dataDir=/data/zookeeper

      clientPort=2181

     server.1=master:2888:3888

     server.2=slave1:2888:3888

      server.3=slave2:2888:3888

 

root@master:/usr/local# chown -Rhduser:hadoop zookeeper

 

3.將zookeeper複製到其他機器

hduser@master:/usr/local$scp -r zookeeper-3.4.5hduser@slave1:/home/hduser

hduser@master:/usr/local$ scp -rzookeeper-3.4.5 hduser@slave2:/home/hduser

 

hduser@slave1:~#sudomv zookeeper-3.4.5/ /usr/local/zookeeper-3.4.5

 

hduser@slave2:~$sudomv zookeeper-3.4.5/ /usr/local/zookeeper-3.4.5

 

4.在每臺機器配置的dataDir目錄下面,創建myid文件標誌當前主機

Master:     $touch /data/zookeeper/myid

                $echo "1" >/data/zookeeper/myid

Slave1:      $mkdir -p /data/zookeeper

                $touch /data/zookeeper/myid

                $echo "3" > /data/zookeeper/myid

Slave2:       $mkdir -p/data/zookeeper

                $touch /data/zookeeper/myid

                $echo "5" > /data/zookeeper/myid

 

5. 啓動zookeeper集羣

hduser@master:/usr/local/zookeeper/bin$./zkServer.sh start
JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
問題1Starting zookeeper ... ./zkServer.sh: line 113:/data/zookeeper/zookeeper_server.pid: Permission denied
FAILED TO WRITE PID

原因是剛纔/data/zookeeper是root權限,而不是hduser的,修改權限之~

問題1解決root@master:/# chown -Rhduser:hadoop /data

其他兩個slave節點也一樣~

然後問題解決:

hduser@master:/usr/local/zookeeper$ cd bin
hduser@master:/usr/local/zookeeper/bin$ ./zkServer.sh start
JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

其他節點也同樣啓動zookeeper~
hduser@master:/usr/local/zookeeper/bin$ 

hduser@slave1:/usr/local/zookeeper/bin$./zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
問題2Error contacting service. It is probably notrunning.


1)查看zoopkeeper.out

r@232] - Unexpected exception,tries=0, connecting to slave1/192.168.123.12:2888
java.net.ConnectException: Connection refused
        atjava.net.PlainSocketImpl.socketConnect(Native Method)
        atjava.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
        atjava.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
        atjava.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
        atjava.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:529)

 


root@master:/usr/local/zookeeper/bin#cat zookeeper.out 

2013-04-27 00:22:37,595 [myid:] - INFO [main:QuorumPeerConfig@101] - Reading configuration from:/usr/local/zookeeper/bin/../conf/zoo.cfg

2013-04-27 00:22:37,615 [myid:] - ERROR[main:QuorumPeerMain@85] - Invalid config, exiting abnormally

org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException:Error processing /usr/local/zookeeper/bin/../conf/zoo.cfg

        at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:121)

        atorg.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:101)

        atorg.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)

Caused by:java.lang.IllegalArgumentException: dataLogDir /home/hduser/zookeeper/log ismissing.

        atorg.apache.zookeeper.server.quorum.QuorumPeerConfig.parseProperties(QuorumPeerConfig.java:247)

        atorg.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:117)

        ... 2 more

Invalid config, exiting abnormally

 


【錯誤2解決】沒有將zookeeper複製到其他的節點!!!

                   沒有在每個節點啓動zookeeper

6.安裝配置Hbase集羣

a>啓動HDFS集羣實例,並創建目錄

##hdfs://master01:54310/hbase【注意與hadoop,core-site.xml中的fs.default.name中的端口號保持一致,統一設置爲54310;hbase-site.xml中的hbase:rootdir中的端口號】

hduser@master:/usr/local/hadoop$bin/hadoop fs -mkdir /hbase

Warning: $HADOOP_HOME is deprecated.

 

13/04/27 02:08:46 INFO ipc.Client: Retryingconnect to server: master/127.0.1.1:54310. Already tried 0 time(s).

13/04/27 02:08:47 INFO ipc.Client: Retryingconnect to server: master/127.0.1.1:54310. Already tried 1 time(s).

13/04/27 02:08:48 INFO ipc.Client: Retryingconnect to server: master/127.0.1.1:54310. Already tried 2 time(s).

13/04/27 02:08:49 INFO ipc.Client: Retryingconnect to server: master/127.0.1.1:54310. Already tried 3 time(s).

13/04/27 02:08:50 INFO ipc.Client: Retryingconnect to server: master/127.0.1.1:54310. Already tried 4 time(s).

13/04/27 02:08:51 INFO ipc.Client: Retryingconnect to server: master/127.0.1.1:54310. Already tried 5 time(s).

13/04/27 02:08:52 INFO ipc.Client: Retryingconnect to server: master/127.0.1.1:54310. Already tried 6 time(s).

13/04/27 02:08:53 INFO ipc.Client: Retryingconnect to server: master/127.0.1.1:54310. Already tried 7 time(s).

13/04/27 02:08:54 INFO ipc.Client: Retryingconnect to server: master/127.0.1.1:54310. Already tried 8 time(s).

13/04/27 02:08:55 INFO ipc.Client: Retryingconnect to server: master/127.0.1.1:54310. Already tried 9 time(s).

Bad connection to FS. command aborted.exception: Call to master/127.0.1.1:54310 failed on connection exception:java.net.ConnectException: Connection refused

hduser@master:/usr/local/hadoop$ 

 

Call tomaster/127.0.1.1:54310 failed【修改localhost地址爲127.0.0.1

 

 

HBASE SHELL 錯誤NativeException: org.apache.hadoop.hbase.MasterNotRunningException:null

【解決步驟:】

1、啓動hadoop後,需要等一段時間,再開啓hbase

2、去掉hadoop的安全模式:

hadoop dfsadmin -safemode leave

3、把/etc/hosts裏的master01的IP改爲服務器當前的IP

4、確認hbase的hbase-site.xml中

<name>hbase.rootdir</name>

<value>hdfs://localhost:8020/hbase</value>

與hadoop的core-site.xml中

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

<value>hdfs://localhost:8020</value>

紅字部分保持一致

5、確認hadoop版本是0.20.2,hbase版本是0.20.6

6、重新執行./start-hbase.sh之前,先kill掉當前的hbase和zookeeper進程

 

之後再執行:

$bin/hadoop fs -mkdir /hbase

 

 

 b> 解壓hbase-0.94.5.tar.gz,修改配置文件,正式安裝HBase:

l  #vi hbase-0.94.5/conf/hbase-env.sh 

 

      exportJAVA_HOME=/usr/java/jdk1.6.0_43

      exportHBASE_CLASSPATH=$HBASE_HOME/

      #exportHBASE_HEAPSIZE=128

      #exportHBASE_OPTS="-XX:+UseConcMarkSweepGC"

      exportHBASE_MANAGES_ZK=false

 

#vi hbase-0.94.5/conf/regionservers

 

    slave1

    slave2

 

l  將hbase-webapps目錄改名爲webapps

hduser@master:/usr/local/hbase-0.94.6$ mvhbase-webapps/ /webapps

 

l  檢查HBase配置,複製到其他的slave節點:

hduser@master:/usr/local$ scp -rhbase-0.94.6 hduser@slave1:/home/hduser/

hduser@master:/usr/local$ scp -rhbase-0.94.6 hduser@slave2:/home/hduser/

 

l  啓動HBase:

hduser@master:/usr/local$ ./hbase-0.94.6/bin/start-hbase.sh
starting master, logging to/usr/local/hbase-0.94.6/bin/../logs/hbase-hduser-master-master.out
slave2: starting regionserver, logging to/usr/local/hbase-0.94.6/bin/../logs/hbase-hduser-regionserver-slave2.out
slave1: starting regionserver, logging to/usr/local/hbase-0.94.6/bin/../logs/hbase-hduser-regionserver-slave1.out

 

l  查看相關進程:

hduser@master:/usr/local$ jps

3339 QuorumPeerMain

8210 JobTracker

7894 DataNode

9187 HMaster

8126 SecondaryNameNode

8459 TaskTracker

9328 Jps

7659 NameNode

hduser@master:/usr/local$

 

hduser@slave1:~$ jps

5416 TaskTracker

5879 Jps

5210 DataNode

3323 QuorumPeerMain

hduser@slave1:~$

 

 

 hduser@slave2:/usr/local/hbase-0.94.6$ jps

5083 TaskTracker

5544 Jps

4877 DataNode

3042 QuorumPeerMain

 

【錯誤】13/04/27 05:47:21ERROR client.HConnectionManager$HConnectionImplementation: Check the valueconfigured in 'zookeeper.znode.parent'. There could be a mismatch with the oneconfigured in the master.

 


l  去掉hadoop的安全模式

hduser@master:/usr/local/hadoop$ bin/hadoopdfsadmin -safemode leave
Warning: $HADOOP_HOME is deprecated.

Safe mode is OFF

 

【解決方法】:http://blog.sina.com.cn/s/blog_718335510100zchp.html

 

 

l  檢驗HBase安裝完成:

hbase(main):003:0> create'member','member_id','address','info'
0 row(s) in 1.6400 seconds


hbase(main):004:0> list
TABLE                                                                          
member                                                                         
1 row(s) in 0.0730 seconds

 

hbase(main):006:0* describe 'member'
DESCRIPTION                                         ENABLED                   
{NAME => 'member', FAMILIES => [{NAME => 'address',true                      
  DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER =>'NON                           
E', REPLICATION_SCOPE => '0', VERSIONS => '3', COMP                           
RESSION => 'NONE', MIN_VERSIONS => '0', TTL =>'214                           
7483647', KEEP_DELETED_CELLS => 'false',BLOCKSIZE                            
=> '65536', IN_MEMORY => 'false', ENCODE_ON_DISK=>                           
  'true', BLOCKCACHE => 'true'}, {NAME => 'info',DA                           
TA_BLOCK_ENCODING => 'NONE', BLOOMFILTER =>'NONE',                           
  REPLICATION_SCOPE => '0', VERSIONS => '3',COMPRES                           
SION => 'NONE', MIN_VERSIONS => '0', TTL =>'214748                           
3647', KEEP_DELETED_CELLS => 'false', BLOCKSIZE=>                            
'65536', IN_MEMORY => 'false', ENCODE_ON_DISK =>'t                           
rue', BLOCKCACHE => 'true'}, {NAME =>'member_id',                            
DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER =>'NONE                           
', REPLICATION_SCOPE => '0', VERSIONS => '3',COMPR                           
ESSION => 'NONE', MIN_VERSIONS => '0', TTL => '2147                           
483647', KEEP_DELETED_CELLS => 'false', BLOCKSIZE=                           
> '65536', IN_MEMORY => 'false', ENCODE_ON_DISK=>                            
'true', BLOCKCACHE =>'true'}]}                                               
1 row(s) in 0.2170 seconds

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章