Hbase安裝配置(含分佈式ZooKeeper)

環境說明

系統爲CentOS 6.0

192.168.255.128  =》 server01
192.168.255.130  =》 server02
192.168.255.131  =》 server03

/etc/hosts文件中有這些IP和域名的映射關係

配置server01在hadoop用戶下可以通過密鑰無需密碼訪問server02和server03

1. 安裝配置zookeeper

在三臺服務器上執行以下同樣的操作

a. 下載

wget http://apache.etoak.com//zookeeper/zookeeper-3.3.4/zookeeper-3.3.4.tar.gz -P /usr/local/src

b. 安裝

cd /usr/local/src
tar zxvf zookeeper-3.3.4.tar.gz
mv zookeeper-3.3.4 /usr/local/zookeeper
chown -R hadoop:hadoop /usr/local/zookeeper

解壓安裝,目錄的擁有者設置爲zookeeper

c. 建立數據目錄

mkdir /data/zookeeper
chown -R hadoop:hadoop /data/zookeeper

d. 修改配置文件

創建配置文件(注意:以下操作在hadoop用戶中進行)

su - hadoop
ln -s /usr/local/zookeeper zookeeper
cd zookeeper/conf
cp zoo_sample.cfg zoo.cfg

編輯配置文件

  1. vi zoo.cfg
  2. # 修改數據目錄dataDir爲以下值  
  3. dataDir=/data/zookeeper  
  4.  
  5. # 添加以下段落  
  6. server.1=192.168.255.128:2887:3887  
  7. server.2=192.168.255.130:2888:3888  
  8. server.3=192.168.255.131:2889:3889 

server.id=host:port:port標識不同的ZooKeeper服務器

需要在每個服務器的數據目錄中(這邊爲/data/zookeeper)創建myid文件,文件的內容爲以上對應的server.id中的id

  1. vi /data/zookeeper/myid  
  2. # 值爲各個服務器對應的server.id中的id
  3. id

e. 配置環境變量並啓動ZooKeeper

  1. vi .bashrc  
  2. export ZOOKEEPER_HOME=/usr/local/zookeeper  
  3. PATH=$PATH:$ZOOKEEPER_HOME/bin  
  4. exit  
  5. su - hadoop 

需要在每一臺機器上都啓動

zkServer.sh start

f. 驗證

zkCli.sh -server 192.168.255.128:2181

[zk: 192.168.255.128:2181(CONNECTED) 0] help

......

顯示幫助內容

2. 安裝HBase

同樣也是三臺服務器執行同樣的操作

a. 下載

wget http://apache.etoak.com//hbase/hbase-0.90.5/hbase-0.90.5.tar.gz -P /usr/local/src

b. 安裝

cd /usr/local/src
tar zxvf hbase-0.90.5.tar.gz
mv hbase-0.90.5 /usr/local/hbase
chown -R hadoop:hadoop /usr/loca/hbase

c. 配置文件

su - hadoop
ln -s /usr/local/hbase hbase
cd hbase/conf

編輯配置文件hbase-site.xml

  1. vi hbase-site.xml
  2. <configuration> 
  3.   <property> 
  4.     <name>hbase.rootdir</name> 
  5.     <value>hdfs://server01:9000/hbase</value> 
  6.     <description>區域服務器使用存儲HBase數據庫數據的目錄</description> 
  7.   </property> 
  8.   <property> 
  9.     <name>hbase.cluster.distributed</name> 
  10.     <value>true</value> 
  11.     <description>指定HBase運行的模式:                 false: 單機模式或者爲分佈式模式                   
  12.                  true: 全分佈模式  
  13.     </description> 
  14.   </property> 
  15.   <property> 
  16.     <name>hbase.zookeeper.quorum</name> 
  17.     <value>server01,server02,server03</value> 
  18.     <description>ZooKeeper集羣服務器的位置</description> 
  19.   </property> 
  20. </configuration> 

編輯配置文件regionservers

  1. vi regionservers  
  2. server02  
  3. server03 

設置環境變量hbase-env.sh

  1. vi hbase-evn.sh  
  2. export HBASE_MANAGES_ZK=false 

使用獨立的ZooKeeper時需要修改HBASE_MANAGES_ZK值爲false,爲不使用默認ZooKeeper實例。

d. hadoop和hbase版本匹配問題

使用的版本信息如下:

hadoop-0.20.205.0.tar.gz
hbase-0.90.5.tar.gz

需要將hadoop主目錄下的hadoop-core-0.20.205.0.jar和主目錄中lib目錄下的commons-configuration-1.6.jar複製到HBase主目錄的lib目錄中,並刪除原來的hbase主目錄的lib目錄下的hadoop-core-0.20-append-r1056497.jar。

否則,會出現兩個錯誤,不能連接zookeeper和找不到common.configuration對應的類

e. 修改hadoop用戶環境變量並啓動HBase

  1. vi .bashrc  
  2. export HBASE_HOME=/usr/local/hbase  
  3. PAHT=$PATH:$HBASE_HOME/bin 

exit
su - hadoop

以上使(先退出hadoop用戶到root,然後登陸到hadoop用戶)環境變量生效

需要先啓動ZooKeeper(已經啓動)和hdfs文件系統

注意:以下兩個命令只需要在server01下啓動

start-dfs.sh
start-hbase.sh

f. 測試

hbase shell
hbase(main):001:0> status
2 servers, 0 dead, 1.0000 average load

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