環境說明shell
系統爲CentOS 6.0數據庫
192.168.255.128 =》 server01apache
192.168.255.130 =》 server02bash
192.168.255.131 =》 server03服務器
/etc/hosts文件中有這些IP和域名的映射關係app
配置server01在hadoop用戶下能夠經過密鑰無需密碼訪問server02和server03分佈式
1. 安裝配置zookeeperoop
在三臺服務器上執行如下一樣的操做測試
a. 下載cdn
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
編輯配置文件
vi zoo.cfg# 修改數據目錄dataDir爲如下值 dataDir=/data/zookeeper # 添加如下段落 server.1=192.168.255.128:2887:3887 server.2=192.168.255.130:2888:3888 server.3=192.168.255.131:2889:3889
server.id=host:port:port標識不一樣的ZooKeeper服務器
須要在每一個服務器的數據目錄中(這邊爲/data/zookeeper)建立myid文件,文件的內容爲以上對應的server.id中的id
vi /data/zookeeper/myid # 值爲各個服務器對應的server.id中的idid
e. 配置環境變量並啓動ZooKeeper
vi .bashrc export ZOOKEEPER_HOME=/usr/local/zookeeper PATH=$PATH:$ZOOKEEPER_HOME/bin exit 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
vi hbase-site.xmlhbase.rootdirhdfs://server01:9000/hbase區域服務器使用存儲HBase數據庫數據的目錄hbase.cluster.distributedtrue指定HBase運行的模式: false: 單機模式或者爲分佈式模式 true: 全分佈模式hbase.zookeeper.quorumserver01,server02,server03ZooKeeper集羣服務器的位置
編輯配置文件regionservers
vi regionservers server02 server03
設置環境變量hbase-env.sh
vi hbase-evn.sh 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
vi .bashrc export HBASE_HOME=/usr/local/hbase 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