ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

HBase安装配置

2020-03-09 19:37:25  阅读:205  来源: 互联网

标签:hbase 配置 sh 集群 master Hbase 安装 HBase


注意

HBase安装依赖于正在运行的Haddop集群和ZooKeeper集群
软件版本:
hadoop:3.1.2
zookeeper:3.4.13
hbase:2.1.3

前置工作

1)集群时间同步

参考博客:集群时间同步
集群时间同步这一步是必须做的,否则HBase可能会启动不起来。

2)Hadoop安装配置

参考博客:Hadoop安装配置

3)Hadoop安装配置

参考博客:Hadoop安装配置
Hadoop集群的正常部署并启动:
$ sbin/start-dfs.sh
$ sbin/start-yarn.sh

Zookeeper安装配置

参考博客:Zookeeper安装配置
保证Zookeeper集群的正常部署并启动:
$ bin/zkServer.sh start
$ bin/zkServer.sh start
$ bin/zkServer.sh start

HBase具体安装

先在hcslave上面进行操作:

1)解压

解压HBase到/usr/local目录:

$ tar -zxvf hbase-2.1.3-bin.tar.gz -C /usr/local/hbase-2.1.3

配置环境变量并刷新

在这里插入图片描述
刷新:source /etc/profile

2)修改HBase的配置文件

修改hbase-env.sh:

export JAVA_HOME=/usr/local/hbase-2.1.3/jdk1.8.0_144
export HBASE_MANAGES_ZK=false

在这里插入图片描述
在这里插入图片描述
其中:BASE_MANAGES_ZK=false表示使用我们自己安装zookeeper集群而不是hbase自带的zookeeper集群。

修改hbase-site.xml:

最终修改后的代码:

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://hcmaster:8020/hbase</value>
  </property>
  <property>
    <name>hbase.master.port</name>
    <value>16000</value>
  </property>
  <property>
    <name>hbase.master.info.port</name>
    <value>16010</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>hcmaster:2181,hcslave1:2181,hcslave2:2181</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/usr/local/hbase-2.1.3/data/</value>
  </property>
  <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
  </property>
</configuration>

说明:

  • hbase.master.info.port:高版本的hbase的master web 默认是不运行的,所以需要自己配置默认端口。
  • hbase.rootdir:这个目录是region server的共享目录,用来持久化Hbase。URL需要是’完全正确’的,还要包含文件系统的scheme
  • hbase.cluster.distributed :Hbase的运行模式。false是单机模式,true是分布式模式。
  • hbase.zookeeper.property.dataDir:ZooKeeper的zoo.conf中的配置。对于独立的Zookeeper,要指明Zookeeper的host和端口。需要在 hbase-site.xml中设置。hbase.zookeeper.property.dataDir目录需要提前创建。

修改conf下的regionservers:

hcmaster
hcslave1
hcslave2

在这里列出了你希望运行的全部 HRegionServer,一行写一个host , 列在这里的server会随着集群的启动而启动,集群的停止而停止。

软连接hadoop配置文件到hbase:

ln -s /usr/local/hadoop3.1.2/etc/core-site.xml /usr/local/hbase-2.1.3/conf/core-site.xml
ln -s /usr/local/hadoop3.1.2/etc/hdfs-site.xml /usr/local/hbase-2.1.3/conf/hdfs-site.xml

远程拷贝

远程拷贝HBase文件到其他机器

$ xsync hbase/

远程拷贝/etc/profile到其他机器

启动HBase

只需要在hcmaster上启动一次就行了。

方式一:启动单个Hbase进程:

$ bin/hbase-daemon.sh start master
$ bin/hbase-daemon.sh start regionserver

提示:如果集群之间的节点时间不同步,会导致regionserver无法启动,抛ClockOutOfSyncException异常。修复提示:
a、同步时间服务
b、属性:hbase.master.maxclockskew设置更大的值

<property>
        <name>hbase.master.maxclockskew</name>
        <value>180000</value>
        <description>Time difference of regionserver from master</description>
 </property>

启动Hbase集群

$ bin/start-hbase.sh

停止HBase:

$ bin/stop-hbase.sh

Hbase WEB管理工具

HBase集群启动成功后,可以通过Web页面查看Hbase集群情况:

HMaster

端口参数:hbase.master.info.port默认值是16010
网址:http://hcmaster:16010
在这里插入图片描述

RegionServer

端口参数:hbase.regionserver.info.port默认值是16030
网址:http://hcmaster:16030/rs-status
在这里插入图片描述

Hbase在HDFS上的目录

Hbase在HDFS上的文件目录:
在这里插入图片描述
说明:

  • .tmp:临时目录,当对表做创建和删除的时候,会将表move到该目录下,然后进行操作。
  • WALs(wite hot log):预定日志文件,它是RegionServer在处理数据插入和删除的过程中用来记录操作内容的一种日志。比如向Hbase中写入数据时,首先会在HDFS中存储一份Hlog文件,然后会在Region中存储数据,Region中存储的数据分为以下两个部分:
    • 内存
    • spill到磁盘、文件、hdfs文件
  • data:核心目录,存储Hbase表的数据。默认情况下,Data目录下有两个目录:
    • default:在用户创建表没有指定namespace时,表就创建在此目录下
    • hbase:系统内部创建的表
  • hbase.id:存储的是uuid方式生成的集群唯一的cluster id
  • version:集群的版本号
  • oldWALs:对应0.94.x版本中.oldlogs目录。当WALs目录中的logs没有用之后,会将这些logs移动到此目录下,HMaster会定期进行清理。

标签:hbase,配置,sh,集群,master,Hbase,安装,HBase
来源: https://blog.csdn.net/lianghecai52171314/article/details/104757830

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有