HBase單機和集群版部署


1. HBase安裝部署

HBase有兩種部署模式:單機版模式和集群版模式。無論哪種模式,都需要配置HBase conf目錄下的文件。至少,必須在conf/hbase-env.sh文件中添加JAVA_HOME。在hbase-env.sh這個文件中,可以設置HBase的環境變量,如堆內存大小、JVM的其他配置,日志文件的存放位置等。

注意:HBase的安裝版本需要與Hadoop的版本相對應,否則會出現HBase使用不了的情況,主要體現在HBase shell操作命令非常慢,甚至出錯。HBase與Hadoop的版本對應可以查看HBase官網文檔https://hbase.apache.org/book.html#basic.prerequisites 第四節點basic.prerequisites介紹,如圖:

從上圖可以知道hadoop-2.8.0以上的版本都不支持HBase或者存在不穩定性,故最好安裝hadoop-2.7.1+或者hadoop-2.8.3+的版本,避免HBase無法使用,這里我采用hadoop-2.7.1+版本。

HBase2.0以上的版本要求使用Jdk8以上,故這里采用Java8。

1.1 軟件配置選擇

JDK:1.8 (jdk1.8.0_151)
Hadoop:2.7.6 (hadoop-2.7.6.tar.gz)
HBase:2.1.2 (hbase-2.1.1-bin.tar.gz)

1.2 服務器環境准備

1.2.1 更改主機名

輸入 hostname 查看本機的主機名,然后輸入命令 vi /etc/sysconfig/network 編輯 /etc/sysconfig/network 文件 

注:主機名稱更改之后,要重啟(reboot)才會生效。

輸入 vim /etc/hosts 添加主機IP和對應的主機名稱,做映射。

注:在配置文件中使用主機名的話,這個映射必須做!

1.2.2 關閉防火牆

關閉防火牆,方便外部訪問。
CentOS 7版本以下輸入:
關閉防火牆
service iptables stop
CentOS 7 以上的版本輸入:
systemctl stop firewalld.service

1.2.3 時間設置

輸入:
date
查看服務器時間是否一致,若不一致則更改
更改時間命令

date -s ‘MMDDhhmmYYYY.ss’

2. HBase單機版部署

HBase獨立實例包含全部HBase的守護進程,如:Master、RegionServers以及ZooKeeper,它們運行在單個JVM里面,並持久化到本地文件系統。

2.1 從官網下載HBase安裝包,並通過Xftp5上傳到單節點機器上

目前使用的HBase版本為hbase-2.1.2-bin.tar.gz

通過Xftp5上傳到機器節點node1上的/opt/frame/目錄

2.2 解壓hbase-2.1.2.tar.gz,並把解壓的安裝包移動到/opt/app/目錄上。

tar xzvf hbase-2.1.2-bin.tar.gz

mv hbase-2.1.2 /opt/app

2.3 修改配置hbase-env.sh、hbase-site.xml文件

編輯hbase-env.sh,添加以下配置:

export JAVA_HOME=/usr/lib/java/jdk1.8.0_181
export HBASE_HOME=/opt/app/hbase-2.1.2
export HBASE_CLASSPATH=/opt/app/hadoop-2.7.6/etc/hadoop
export HBASE_PID_DIR=/opt/app/hbase-2.1.2/pids
export HBASE_MANAGES_ZK=false

說明:配置的路徑以自己的為准,HBASE_MANAGES_ZK=false是不啟用HBase自帶的Zookeeper集群。

編輯hbase-site.xml文件,添加以下配置:

<configuration>
 <!-- 存儲目錄 這里的hdfs可以是單機版的-->
 <property>
  <name>hbase.rootdir</name>
  <value>hdfs://node1:9000/hbase</value>
  <description>The directory shared byregion servers.</description>
 </property>
 <property>
  <name>hbase.tmp.dir</name>
  <value>/opt/app/hbase-2.1.2/tmp</value>
 </property>
 <!-- false是單機模式,true是分布式模式  -->
 <property>
  <name>hbase.cluster.distributed</name>
  <value>false</value>
 </property>
 <!-- zk主機地址和端口采用默認的,不用配置  -->
</configuration>

2.4 HBase啟動

在成功啟動單機版Hadoop之后,切換到HBase目錄下

cd /opt/app/hbase-2.1.2/bin

輸入:

./start-hbase.sh

在瀏覽器輸入:

http://192.168.187.201:16010/

 

 顯示這個界面則成功!

3. HBase集群版部署

3.1 從官網下載HBase安裝包,並通過Xftp5上傳到機器集群上

目前使用的HBase版本為hbase-2.1.2-bin.tar.gz

下載hbase-2.1.2-bin.tar.gz版本:

通過Xftp5上傳到hadoop機器集群的第一個節點node1上的/opt/frames/目錄:

3.2 解壓hbase-2.1.2-bin.tar.gz,並把解壓的安裝包移動到/opt/app/目錄上。

tar zxvf hbase-2.1.2-bin.tar.gz 

mv hbase-2.1.1 /opt/app/  && cd /opt/app/

 

3.3 修改環境變量(每台機器都要執行)

編輯/etc/profile,並生效環境變量,輸入如下命令:

sudo vi /etc/profile

添加如下內容:

export HBASE_HOME=/opt/app/hbase-2.1.2
export PATH=:$PATH:$HBASE_HOME/bin

使環境變量生效:source /etc/profile

3.4 修改配置hbase-env.sh、hbase-site.xml、Regionservers文件

進入hbase配置文件的目錄,cd  /opt/app/hbase-2.1.2/conf/

①修改hbase-env.sh文件 vi hbase-env.sh,將以下內容寫入到hbase-env.sh文件中:

export JAVA_HOME=/usr/lib/java/jdk1.8.0_151
# hadoop配置文件的位置
export HBASE_CLASSPATH=/opt/app/hadoop-2.7.5/etc/hadoop
# 如果使用獨立安裝的zookeeper,這個地方就是false,不使用內部的zookeeper,而是使用自己外部搭建的zookeeper集群
export HBASE_MANAGES_ZK=true

②修改hbase-site.xml配置文件 vi hbase-site.xml,並將以下內容寫入到hbase-site.xml文件中:

<configuration>
# hbasemaster的主機和端口
<property>
<name>hbase.master</name> 
<value>hadoop1:60000</value>
</property>

# 時間同步允許的時間差
<property>
<name>hbase.master.maxclockskew</name>
<value>180000</value>
</property>

# hbase共享目錄,持久化hbase數據
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop1:9000/hbase</value>
</property>

# 是否分布式運行,false即為單機
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>

# zookeeper地址
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop1,hadoop2,hadoop3</value>
</property>

# zookeeper配置信息快照的位置
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hbase/tmp/zookeeper</value>
</property>
</configuration>

③修改Regionservers配置文件vi Regionservers,並將以下內容寫入到Regionservers文件中:

hadoop1
hadoop2
hadoop3

3.5 把hadoop的hdfs-site.xml和core-site.xml放到hbase/conf下

cp /opt/app/hadoop-2.7.6/etc/hadoop/hdfs-site.xml  /opt/app/hbase-2.1.2/conf/
cp /opt/app/hadoop-2.7.6/etc/hadoop/core-site.xml  /opt/app/hbase-2.1.2/conf/

3.6 發送到其他節點機器

scp -r /opt/app/hbase-2.1.2/  hadoop@hadoop2:/opt/app/
scp -r /opt/app/hbase-2.1.2/  hadoop@hadoop3:/opt/app/

3.7 啟動

①啟動HBase命令:start-hbase.sh
②進入hbase的shell:hbase shell
注:先啟動才能進入HBase shell

3.8 查看

進程:jps
退出hbase的shell:quit
頁面:http://master:60010/

4. 總結

參考資料:

http://hbase.apache.org/book.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM