1. 程式人生 > >HBase完全分散式安裝

HBase完全分散式安裝

環境 Linux:Centos Linux 7.3 JDK:jdk1.8.0_181 Hadoop:2.8.5 Zookeeper:3.4.13 HBase:1.4.8

伺服器 bigdata01:192.168.1.50 (主節點) bigdata02:192.168.1.51 bigdata03:192.168.1.52

安裝步驟 1,下載hbase安裝包hbase-1.4.8-bin.tar.gz,並上傳到bigdata01伺服器的/opt目錄中。 2,解壓安裝包,

tar -zvxf hbase-1.4.8-bin.tar.gz

然後將目錄hbase-1.4.8修改為hbase,

mv hbase-1.4.8 hbase

3,進入hbase的conf目錄,編輯hbase-env.sh檔案,修改JAVA_HOME,

export JAVA_HOME=/usr/local/java/jdk1.8.0_181

因為我們用的jdk1.8,所以註釋掉下面兩行,

# export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
# export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"

這兩個配置是用於jdk1.7的; HBASE_MANAGES_ZK變數, 此變數預設為true,告訴HBase是否啟動/停止ZooKeeper集合伺服器作為HBase啟動/停止的一部分。如果為true,這Hbase把zookeeper啟動,停止作為自身啟動和停止的一部分。如果設定為false,則表示獨立的Zookeeper管理。我們將其設定為false,

export HBASE_MANAGES_ZK=false

修改Hbase堆設定,將其設定成4G,

export HBASE_HEAPSIZE=4G

然後儲存檔案。 4,接下來編輯配置檔案hbase-site.xml,

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
	<property>
		<name>hbase.zookeeper.quorum</name>
	    <value>bigdata01:2181,bigdata02:2181,bigdata03:2181</value>
	    <description>The directory shared by RegionServers.
	    </description>
	</property>	
  	<property>
    	<name>hbase.rootdir</name>
    	<value>hdfs://bigdata01:9666/hbase</value>
    	<description>The directory shared by RegionServers.
    	</description>
  	</property>
  	<property>
    	<name>hbase.cluster.distributed</name>
    	<value>true</value>
    	<description>The mode the cluster will be in. Possible values are
      	false: standalone and pseudo-distributed setups with managed ZooKeeper
      	true: fully-distributed with unmanaged ZooKeeper Quorum (see hbase-env.sh)
    	</description>
  	</property>
</configuration>

hbase.zookeeper.quorum: 這個引數是用來設定zookeeper服務列表,每個伺服器之間使用使用逗號分隔,2181是zookeeper預設埠號,你可以自行根據你的埠號新增,預設的埠號加不加都無所謂。 hbase.rootdir: 這個引數是用來設定RegionServer 的共享目錄,用來存放HBase資料。特別需要注意的是 hbase.rootdir 裡面的 HDFS 地址是要跟 Hadoop 的 core-site.xml 裡面的 fs.defaultFS 的 HDFS 的 IP 地址或者域名、埠必須一致。 hbase.cluster.distributed: HBase 的執行模式。為 false 表示單機模式,為 true 表示分散式模式。 5,編輯regionservers檔案,配置從伺服器,去掉 localhost,新增 slaves 節點

bigdata02
bigdata03

6,把 hadoop 的 hdfs-site.xml 複製一份到 hbase 的 conf 目錄下,

cp /opt/hadoop/etc/hadoop/hdfs-site.xml /opt/hbase/conf/

7,將配置好的 habase 分發到其它節點對應的路徑下

scp -r /opt/hbase [email protected]:/opt/
scp -r /opt/hbase [email protected]:/opt/

8,分別在三臺伺服器上增加HBASE_HOME環境變數,修改vim /etc/profile

export HBASE_HOME=/opt/hbase

export PATH=$HBASE_HOME/bin:$PATH

使配置生效

source /etc/profile

9,同步伺服器時間,我們在使用HDFS的時候經常會出現一些莫名奇妙的問題,通常可能是由於多臺伺服器的時間不同步造成的。我們可以使用網路時間伺服器進行同步。 安裝ntpdate工具

yum -y install ntp ntpdate

設定系統時間與網路時間同步

ntpdate cn.pool.ntp.org

將系統時間寫入硬體時間

hwclock --systohc

檢視系統時間

timedatectl

10,在 bigdata01上輸入:start-hbase.sh,啟動hbase, 在這裡插入圖片描述 等待啟動完成,在每個節點上輸入 jps 命令,檢視程序 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 出現以上程序表 hbase 明啟動成功了。 通過瀏覽器訪問http://bigdata01:16010可以檢視hbase 叢集狀態。 在這裡插入圖片描述