1. 程式人生 > >大資料基礎環境之hbase(3臺虛擬機器)

大資料基礎環境之hbase(3臺虛擬機器)

hbase安裝

  注意開啟hbase之前,需要將之前的hadoop叢集開啟

  • start-all.sh (啟動hadoop)
  • zkServer.sh start(各個節點均執行)

1.同樣先建立工作路徑/usr/hbase,將/opt/soft下的hbase加壓到工作路徑中。

  • 建立路徑:mkdir -p /usr/hbase
  • 解壓縮:tar -zxvf /opt/soft/hbase-1.2.4-bin.tar.gz -C /usr/hbase

2.修改配置檔案:conf/hbase-env.sh

export HBASE_MANAGES_ZK=false

export JAVA_HOME=/usr/java/jdk1.8.0_171

export HBASE_CLASSPATH=/usr/hadoop/hadoop-2.7.3/etc/Hadoop

  解釋:一個分散式執行的Hbase依賴一個zookeeper叢集。所有的節點和客戶端都必須能夠訪問zookeeper。預設的情況下Hbase會管理一個zookeep叢集,即Hbase預設自帶一個zookeep叢集。這個叢集會隨著Hbase的啟動而啟動。而在實際的商業專案中通常自己管理一個zookeeper叢集更便於優化配置提高叢集工作效率,但需要配置Hbase。需要修改conf/hbase-env.sh裡面的HBASE_MANAGES_ZK 來切換。這個值預設是true的,作用是讓Hbase啟動的時候同時也啟動zookeeper.在本實驗中,我們採用獨立執行zookeeper叢集的方式,故將其屬性值改為false。

3.配置conf/hbase-site.xml

<configuration>

<property>

<name>hbase.rootdir</name>

<value>hdfs://master:9000/hbase</value>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

<property>

<name>hbase.master</name>

<value>hdfs://master:6000</value>

</property>

<property>

<name>hbase.zookeeper.quorum</name>

<value>master,slave1,slave2</value>

</property>

<property>

<name>hbase.zookeeper.property.dataDir</name>

<value>/usr/zookeeper/zookeeper-3.4.10</value>

</property>

</configuration>

  解釋:要想執行完全分散式模式,加一個屬性 hbase.cluster.distributed 設定為 true 然後把 hbase.rootdir 設定為HDFS的NameNode的位置hbase.rootdir:這個目錄是region server的共享目錄,用來持久化Hbase。URL需要是’完全正確’的,還要包含檔案系統的schemehbase.cluster.distributed :Hbase的執行模式。false是單機模式,true是分散式模式。若為false,Hbase和Zookeeper會執行在同一個JVM裡面。在hbase-site.xml配置zookeeper:當Hbase管理zookeeper的時候,你可以通過修改zoo.cfg來配置zookeeper,對於zookeepr的配置,你至少要在 hbase-site.xml中列出zookeepr的ensemble servers,具體的欄位是 hbase.zookeeper.quorum.在這裡列出Zookeeper叢集的地址列表,用逗號分割。hbase.zookeeper.property.clientPort:ZooKeeper的zoo.conf中的配置,客戶端連線的埠。hbase.zookeeper.property.dataDir:ZooKeeper的zoo.conf中的配置。對於獨立的Zookeeper,要指明Zookeeper的host和埠。需要在 hbase-site.xml中設定。

4. 配置conf/regionservers

  在這裡列出了希望執行的全部 HRegionServer,一行寫一個host (就Hadoop裡面的 slaver 一樣)。列在這裡的server會隨著叢集的啟動而啟動,叢集的停止而停止。

5.hadoop配置檔案拷入hbase的目錄下(當前目錄為/usr/hbase/hbase-1.2.4/conf)

  • cp /usr/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml .
  • cp /usr/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml .

6.分發hbase

7.配置環境變數

  • vi /etc/profile

# set hbase environment

export HBASE_HOME=/usr/hbase/hbase-1.2.4

export PATH=$PATH:$HBASE_HOME/bin

  生效環境變數:source /etc/profile

9. 執行和測試在master上執行:

  • start-hbase.sh (直接執行這個命令需要將HBASE的bin目錄也加入到/etc/environment中)

  檢視主節點程序:

10.訪問master的hbase web介面。

  • http: //master IP:16010/master-status

11.進hbase 互動介面,檢視狀態與版本。。

  • hbase shell

到此,hbase的分散式叢集就算完成了,後序會繼續更新其他環境,敬請關注。。