HBase徹底分佈式安裝

環境java

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

 

服務器
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,解壓安裝包,bash

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,oop

export HBASE_MANAGES_ZK=false

修改Hbase堆設置,將其設置成4G,spa

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 root@bigdata02:/opt/
scp -r /opt/hbase root@bigdata03:/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 集羣狀態。

 

實例配置:

Hbase 分佈式集羣搭建 需在 hadoop集羣, zookeeper集羣創建的基礎上建立 

 

[root@hadoop000 conf]# cat hbase-site.xml 
*****

<configuration>
        
          <property>
        <name>hbase.rootdir</name>
        <value>hdfs://hadoop000:8020/hbase</value>
    </property>


     <property>
        <name>hbase.master.info.port</name>
        <value>60010</value>
 </property>


    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>

   <property>
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop000,hadoop001,hadoop002</value>
    </property>


</configuration>

  

[root@hadoop000 conf]# cat hbase-env.sh |grep -v "^#"

export JAVA_HOME=/home/JDK/jdk1.8.0_181

export HBASE_OPTS="-XX:+UseConcMarkSweepGC"

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"


 export HBASE_MANAGES_ZK=false

  

 

[root@hadoop000 conf]# cat regionservers 
hadoop001
hadoop002

  

[root@hadoop001 conf]# cat hbase-site.xml

<configuration>
        
          <property>
        <name>hbase.rootdir</name>
        <value>hdfs://hadoop000:8020/hbase</value>
    </property>


     <property>
        <name>hbase.master.info.port</name>
        <value>60010</value>
 </property>


    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>

   <property>
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop001,hadoop002,hadoop000</value>
    </property>


</configuration>

  

[root@hadoop001 conf]# cat hbase-env.sh |grep -v "^#"

export JAVA_HOME=/home/jdk8


export HBASE_OPTS="-XX:+UseConcMarkSweepGC"

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"


 export HBASE_MANAGES_ZK=false

  

[root@hadoop001 conf]# cat regionservers 
hadoop001
hadoop002
相關文章
相關標籤/搜索