centos7.3上部署Habse叢集及遇到的問題
一、前期準備工作
1、下載hbase安裝包
Hbaser官方下載地址:http://mirror.bit.edu.cn/apache/hbase/
目前安裝的版本為:hbase-2.0.2-bin.tar.gz
2、準備好要安裝的叢集環境的目標機器
3、將下載好的壓縮包拷貝到叢集機器中
----可利用shell軟體的rz命令進行拷貝
4、安裝JDK,可參照:https://blog.csdn.net/xuexi_39/article/details/82854735
5、建立hadoop使用者並賦予管理員許可權
6、hadoop及zookeeper叢集環境都已搭建好(因hbase依賴於hadoop及zookeeper)
二、解壓壓縮包到目標安裝目錄下
1、將壓縮包解壓到/usr/local下
tar -xvf hbase-2.0.2-bin.tar.gz -C /usr/local/
2、將hbase-1.4.3名稱修改為hbase
mv hbase-2.0.2 hbase
三、更改hbase目錄所屬者及所屬組為hadoop使用者
chown -hR hadoop /usr/local/hbase/ # 修改所有者為hadoop
chgrp -hR hadoop /usr/local/hbase/ # 修改所屬組為hadoop
四、配置系統環境變數
1、開啟sudo vim /etc/profile在底部新增如下資訊
#hbase environment
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin
2、source /etc/profile 使得新增的環境變數資訊立即生效
3、使用echo $HBASE_HOME檢測環境變數是否生效
五、修改habse相關配置檔案
1、修改/usr/local/hbase/conf目錄下的hbase-env.sh,在該檔案新增如下內容
-- 1、設定java安裝路徑 export JAVA_HOME=/opt/java/jdk1.8.0_131 -- 2、設定hbase的日誌地址 export HBASE_LOG_DIR=${HBASE_HOME}/logs -- 3、設定是否使用hbase管理zookeeper(因使用zookeeper管理的方式,故此引數設定為false) export HBASE_MANAGES_ZK=false -- 4、設定hbase的pid檔案存放路徑 export HBASE_PID_DIR=/var/hadoop/pids
2、新增叢集內所有的機器名稱到regionservers檔案中
master
dataserver1
dataserver2
3、修改/usr/local/hbase/conf目錄下的hbase-site.sh,(在configuration節點下新增如下內容)
<property>
<name>hbase.rootdir</name> <!-- hbase存放資料目錄 -->
<value>hdfs://master:9000/hbase</value>
<!-- 埠要和Hadoop的fs.defaultFS埠一致-->
</property>
<property>
<name>hbase.cluster.distributed</name> <!-- 是否分散式部署 -->
<value>true</value>
</property>
<property>
<name> hbase.master</name>
<value>hdfs://master:60000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name> <!-- list of zookooper -->
<value>master,dataserver1,dataserver2</value>
</property>
<property><!--zookooper配置、日誌等的儲存位置 -->
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/hbase/logs</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>16010</value>
</property>
<property>
<name>hbase.regionserver.info.port</name>
<value>16030</value>
</property>
4、將配置檔案拷貝到其它分支對應的目錄下
sudo scp hbase-env.sh [email protected]:/usr/local/hbase/conf/
sudo scp hbase-site.xml [email protected]:/usr/local/hbase/conf/
sudo scp regionservers [email protected]:/usr/local/hbase/conf/
六、啟動hbase服務
1、在主節點master上,進入cd /usr/local/hbase/bin目錄下
2、執行啟動命令:./start-hbase.sh
3、在web介面訪問
http://masterIP地址:16010
七、在部署過程中遇見的問題:
1)提示檔案許可權問題,錯誤資訊如下所示:
解決方式如下:
1)在根目錄中新建資料夾:mkdir /var/hadoop/pids
2)設定hadoop目錄所有者及所屬許可權為hadoop使用者
3)將export HBASE_PID_DIR=/var/hadoop/pids新增到系統環境變數中
2)提示如下錯誤資訊
輸入jps檢視hbase程序,一直顯示主節點啟動,分支節點沒有啟動
解決方式:
1)檢視叢集內所有機器的系統時間是否都一致,同時保證每一臺機器的系統時間與硬體時間也都一致;
2)檢視系統時間date
3)檢視硬體時間hwclock
4)統一設定系統時間date -s "13:00:00" #系統正常時間
5)硬體時間與系統時間同步 hwclock -s
6)重新啟動hadoop ,zookeeper,在啟動hbase即可
3、啟動habse後,hmaster會出現自動消失的現象
解決方式:
關閉hadoop及zookeeper所有程序後,刪除hadoop目錄下的tmp及logs檔案,重新格式化hadoop ,在重新依次啟動hadoop、zookeeper,hbase即可