大数据学习研究系统之HBase1.2.4(hadoop2.7.2)stable稳定版完全分布式部署【三】

 Hbase是基于Hadoop的HDFS(分布式文件系统)的数据库,是apache下的顶级项目,研究大数据HBase很有必要深入了解。遂决心采用Hbase1.24stable版本搭建完全分布式环境。网络上相关的文章比比皆是,但一则版本比较旧,二则往往难以非常完整,因此决定自己写文以记之。本文详细描述HBase1.2.4完全分布式部署过程。

假定,Hadoop的完全分布式环境已经部署成功(稍后我会写关于此部分的文章),环境为:

      |----------------------------------------------------------------------------------------------------|

      | 133.16.157.35           master           namenode                                                    |

      |  133.16.157.34           slave1            secondaryNameNode, dataNode                |

      |  133.16.157.36           slave2             dataNode                                                   |

      |-----------------------------------------------------------------------------------------------------|

方案规划为133.16.157.35作为HBase  HMaster,34,36作为RegionServer,同时36还作为35的备份Backup-Master。

一、将安装包hbase-1.2.4-bin.tar.gz放置于/opt目录,解压缩

        tar -zxvf hbase-1.2.4-bin.tar.gz
二、编辑/etc/hosts文件,增加所有节点的主机等

      127.0.0.1            localhost
       133.16.157.35   master
       133.16.157.34   slave1
       133.16.157.36   slave2

        完事后,要source /etc/hosts

三、配置HBase环境变量,编辑/etc/profile

      export HBASE_HOME=/opt/hbase-1.2.4
      export PATH=$PATH:${HBASE_HOME}/bin

      完事后,source /etc/profile

四、创建hbase临时文件夹(集群每个节点都需要创建)
       mkdir /home/hadoop/hbase-data
       sudo chmod a+rwx  /home/hadoop/hbase-data

      最好设置好读写权限,否则可能发生意想不到的问题

五、修改/opt/hbase-1.2.4/conf/hbase-env.sh,修改片段代码如下:
      

# The java implementation to use.  Java 1.7+ required.
export JAVA_HOME=/usr/local/jdk1.7.0_80
# Extra Java CLASSPATH elements.  Optional.
# export HBASE_CLASSPATH=
export HBASE_CLASSPATH=/opt/hbase-1.2.4/conf
# The maximum amount of heap to use. Default is left to JVM default.
# export HBASE_HEAPSIZE=1G
export HBASE_HEAPSIZE=4G
# Extra Java runtime options.
# Below are what we set by default.  May only work with SUN JVM.
# For more on why as well as other possible settings,
# see http://wiki.apache.org/hadoop/PerformanceTuning
export HBASE_OPTS="-XX:+UseConcMarkSweepGC"
# Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -Xmx4g -Xms4g -Xmn1g -XX:PermSize=128m -XX:MaxPermSize=128m"
# Tell HBase whether it should manage it's own instance of Zookeeper or not.
# export HBASE_MANAGES_ZK=true
export HBASE_MANAGES_ZK=false
六、修改配置文件/opt/hbase-1.2.4/conf/hbase-site.xml,内容如下:

<configuration> 
<!--hbase存储在HADOOP HDFS上文件根目录路径-->
    <property>  
        <name>hbase.rootdir</name>  
        <value>hdfs://133.16.157.35:9000/hbase</value>  
    </property>  
<!--hbase的Master-->
    <property>  
        <name>hbase.master</name>  
        <value>hdfs://133.16.157.35:60000</value>  
    </property>  
	<!--采用分布式模式-->
    <property>  
        <name>hbase.cluster.distributed</name>  
        <value>true</value>  
    </property>
	<!--hbase临时文件存储目录,比如一些数据表的预分区信息等等-->  
    <property>  
        <name>hbase.tmp.dir</name>  
        <value>/home/hadoop/hbase-data/</value>  
    </property>
	<!--zookeeper地址,端口不指定的话就默认为2181-->
    <property>  
        <name>hbase.zookeeper.quorum</name>  
        <value>133.16.157.35,133.16.157.34,133.16.157.36</value>  
    </property>
	<!--zookeeper端口2181,其实可以不用配置,默认就是2181-->
    <property>  
        <name>hbase.zookeeper.property.clientPort</name>  
        <value>2181</value>  
    </property> 
	<!--zookeeper存储数据位置-->
    <property>    
        <name>hbase.zookeeper.property.dataDir</name>    
        <value>/home/hadoop/zookeeper-data</value>    
    </property>    
    <!--ZooKeeper 会话超时.HBase把这个值传递改zk集群,向他推荐一个会话的最大超时时间-->
    <property>  
        <name>zookeeper.session.timeout</name>  
        <value>60000000</value>  
    </property>
	<!--数据冗余份数,建议最少3份-->
	<property>  
        <name>dfs.replication</name>  
        <value>3</value>  
    </property>
	 <!--这里设置hbase API客户端侧缓存值,大于此值就进行一次提交,统一配置为5M,对所有HTable都生效,那么客户端API就可不设置-->  
    <property>  
        <!--htable.setWriteBufferSize(5242880);//5M -->  
        <name>hbase.client.write.buffer</name>  
        <value>5242880</value>  
    </property>  
    <!--这里设置Master并发最大线程数-->  
    <property>  
        <name>hbase.regionserver.handler.count</name>  
        <value>300</value>  
        <description>Count of RPC Listener instances spun up on  RegionServers.Same property is used by the Master for count of master handlers.</description>  
    </property> 
</configuration>  
七、修改/opt/hbase-1.2.4/conf/regionservers,内容如下

      133.16.157.34
      133.16.157.36

八、在/opt/hbase-1.2.4/conf下,新建文件backup-masters作为备份master,内容如下

      133.16.157.36

九、远程复制分发安装文件到每一个服务器节点(注意:提前把每个服务器节点上的opt目录设置好读写执行权限)
      scp -r /opt/hbase-1.2.4 hadoop@133.16.157.34:/opt/
      scp -r /opt/hbase-1.2.4 hadoop@133.16.157.36:/opt/

十、启动和停止hbase,命令是在集群中任何机器执行都可以的,首先保证Hadoop要启动,zookeeper要启动。

      进入目录,cd /opt/hbase-1.2.4/bin
      启动,./start-hbase.sh
      查看进程:jps回车
      发现35上是HMaster,34上是regionServer,36上是regionServer和HMaster(备份)

十一、查看hbase管理界面http://133.16.157.35:16010

至此,HBase1.2.4完全分布式环境部署成功!



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值