搭建完全分布式Hbase集群

   对于完全分布式的Hbase的安装,我们需要配置hbase-site.xml来配置本机的Hbase特性和配置hbase-env.sh来配置另外还有环境变量 /etc/profile要添加东西

总结一下:搭建hbase集群前,必须已经搭建好hadoop集群和zookeeper集群,并且要把它们启动起来,然后搭建hbase集群

   假设我们已经搭建好了Hadoop集群和zookeeper集群了,并已经启动。现在我们正式搭建Hbase集群
   总共要配置三个文件,分别是hbase.env.sh、hbase-site.xml和regionservers,这些问题都在./conf/*下


    集群规划:
     使用独立的ZK
     把s1、s2、m1作为hbase的主节点(保证集群高可靠性,hbase的主节点可以随意设定的,但是考虑到IP和m1、s2绑定,故把他们三个当做主节点)
hbase的从节点: s1、s2、m1
hbase的从节点 :d1、d2、d3、d4、d5、d6、rm1、rm2
   
   

   配置前我有以下疑问:
   
      a、如何规划hbase集群
b、我如何给hbase配置多个主节点,主节点和从节点的配置文件有什么不一样的?
c、配置那几个配置文件,每个配置文件配置哪几项?
d、配置完一个要把hbase分发到各个节点么
e、我应该改变环境变量不
 

    集群配置过程:  (注:集群hbase配置成功后,在/home/standby1/下面备份了一hbase的配置文件hbase-conf,并且更新的环境变量profile)

一、改变环境变量

vi /etc/profile
  然后添加
  export HBASE_OPTS="$HBASE_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"
  #export HBASE_MANAGES_ZK=true
  export HBASE_HOME=/usr/local/hbase-1.1.2
  
  export PATH=$PATH:$HBASE_HOME/bin


  
  
另外:把hadoop配置文件core-site.xml和hdfs-site.xml拷贝到hbase-1.1.2/conf/下
 
   二、每个文件配置情况如下:
   1)hbase.env.sh 
     添加jdk的路径
      export JAVA_HOME=/usr/local/jdk1.8.0_91
 
 把#去掉,把True改为false(更改这个表示以后启动hbase集群之前要先启动hbase指定的zookeeper集群)
 export HBASE_MANAGES_ZK=false
 
 把#去掉,export HBASE_LOG_DIR=${HBASE_HOME}/logs
 
 在Hbase-1.1.2目录下面创建文件夹pids  mkdir pids 
 更改为export HBASE_PID_DIR=/usr/local/hbase-1.1.2/pids  #这是去掉#,添加路径/usr/local/hbase-1.1.2/pids后得来的
 
   2)配置hbase-site.xml
   

添加以下几项
         <property>
<name>hbase.rootdir</name>
<value>hdfs://ns1/hbase</value>  #我得hadoop集群core-site.xml中fs.defaultFS的value值就是hdfs://ns1/
         <description> --指定hbase在HDFS上存储的路径 --</description
</property>

<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
<description>是启用分布式模式,这里必须为true</description>
</property>

<property>
                   <name>hbase.master</name>
                 <value>60000</value>
<description>配置的多个master只需要声明端口就行了</description>
           </property>

   <property>
<name>hbase.zookeeper.quorum</name>
<value>d1:2181,d2:2181,d3:2181,d42181,d5:2181</value>
<description>指明zookeeper集群</description>
</property>
 
   <property>
<name>hbase.zookeeper.property. lientPort</name>
<value>2181</value>
</property>

<property>
<name>hbase.zookeeper.property.dataDir</name> 
<value>/usr/local/hbase-1.1.2/zookeeper</value>   #在hbase文件夹下建立一个zookeeper文件夹,mkdir zookeeper ,然后把zookeeper文件夹路径写上
</property>




3)配置regionservers

d2
d3
d4
d5
d6
rm1
rm2