HBase安装部署过程

2019-03-28 13:14|来源: 网络

安装HBASE先决条件

SHH安装,并且有公用ssh无密码跳转账号:admin(机器默认会安装SSH)

在namenode和各个slave上用机器名互相ping,ping不通的话,无法进行

JAVA环境安装(JDK1.6即可兼容HBASE-0.90.3版本)

Hadoop环境安装(HADOOP版本为0.20.2完全兼容HBASE-0.90.3版本)

安装路径:/home/admin/deploy/hadoop-0.20.2

安装HBASE

安装HBASE版本为HBASE-0.90.3

安装路径:/home/admin/deploy/ HBASE-0.90.3

 

核心配置文件
hbaseenv.sh:该文件用来配置hbase所需的特殊环境变量:

HBASE环境变量的设置(如果在~/.bash_profile中设置了环境变量,这里可以不进行配置)

export JAVA_HOME=/home/admin/deploy/java6

export HADOOP_HOME=/home/admin/deploy/hadoop-0.20.2

expoet HBASE_HOME=/home/admin/deploy/HBASE-0.90.3

JAVA虚拟机性能调优(省略不用修改的内容)

export HBASE_MASTER_OPTS="-ea-Xmx2048m -Xms1024m -Xmn512m

exportHBASE_REGIONSERVER_OPTS="-Xmx2048m -Xms1024m -Xmn512m

export HBASE_ZOOKEEPER_OPTS="-Xmx2048m-Xms1024m -Xmn512m

补充解释:

这里的XMS与XMX指的是JAVA虚拟机内存分配策略中的最大可用内存和最小内存设置。

不建议将XMS与XMX设置成一样。因为java的垃圾回收器在内存使用达到XMS值的时候才会开始回收,如果2个值一样,那么JAVA会在使用完所有内存时才会回收垃圾,导致内存LOAD一直很高。

关于XMN这个参数是JAVA内存机制中的年轻代。

整个JVM内存大小=年轻代大小 + 年老代大小 +持久代大小。

持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。这里为了便于计算,取整个堆的一半。

另外:如果JAVA内存设置过小,HBASE启动会报错

Error occurred during initialization of VM

 

 
 

 

hbase-site.xml:hbase-site. xml配置文件,重要参数如下:
<property>

  <name>dfs.tmp.dir</name>

  <value>/home/admin/deploy/hdfs/</value>

 </property>

设置hdfs本地存放路径,与hadoop保持一致即可。
 

property>

  <name>hbase.rootdir</name>

  <value>hdfs://xxxxxxxxxx:9000/hbase</value>

  <description>The directory shared by regionservers.</description>

  </property>

Hbase根目录地址,启动hadoop配置的路径hdfs://xxxxxxxxxx:9000/后跟hbase即可。
 

<property>

  <name>hbase.tmp.dir</name>

  <value>/home/admin/deploy/hdfs/hbase</value>

  <description>Temporary directory on the local filesystem.

  </description>

 Hbase文件存放的本地路径。
 

 <property>

  <name>hbase.zookeeper.quorum</name>

  <value> xxxxxxxxxx </value>

 </property>

HBASE集群的zookeeper的地址,本次安装部署为单机部署,所以集群内容只有一个机器。
 

<property>

  <name>hbase.zookeeper.property.dataDir</name>

  <value>/home/admin/deploy/hdfs/zookeeper</value>

  <description>Property from ZooKeeper's config zoo.cfg.

    The directory where the snapshot is stored.

  </description>

 </property>

HBASE集群的zookeeper数据存放的地址
 

 

 

配置regionservers:
xxxxxxxxxx

添加关联机器地址即可,单机部署只需要Master
 

 

启动与停止
启动脚本:start-hbase.sh(直接启动即可):
/home/admin/deploy/hbase-0.90.3-cdh3u1/bin/start-hbase.sh
xxxxxxxxxx: starting zookeeper, logging to /home/admin/deploy/hbase-0.90.3-cdh3u1/bin/../logs/hbase-admin-zookeeper-xxxxxxxxxx.out

starting master, logging to /home/admin/deploy/hbase-0.90.3-cdh3u1/bin/../logs/hbase-admin-master-xxxxxxxxxx.out

xxxxxxxxxx: starting regionserver, logging to /home/admin/deploy/hbase-0.90.3-cdh3u1/bin/../logs/hbase-admin-regionserver-xxxxxxxxxx.out
 

停止脚本:stop-all.sh(返回内容如下):
stopping hbase....

xxxxxxxxxx: stopping zookeeper.
 

 

一些潜规则(权限切换)
在admin账号下使用hbase,需要更改hbase上的目录的权限,此时需要在hbase账号下执行以下两条命令:
hadoopfs -chown -R admin:admin /
hadoop fs -chown -R hadoop:hadoop /user/hadoop/mapred/system

相关问答

更多
  • 如何安装hbase[2022-07-25]

    网上安装教程很多,照着来就可以了,不过先要搭建hadoop集群,网上也有,多看几个,多试几次
  • 是的,hbase的存储是基于hdfs文件存储系统的。如果想学好hbase,至少要知道mapreduce、hdfs、zookeeper。
  • 还是安装一个比较好。 1、首先下载安装包tar zxvf hadoop-2.7.1.tar.gz 2.在虚拟机中解压安装包 3.安装目录下创建数据存放的文件夹,tmp、hdfs、hdfs/data、hdfs/name hadoop:http://www.3322.cc/soft/4970.html
  • 可以用hadoop+hbase+spark/storm进行平台构建spark用于数据析处理、hbase用于处理数据保存、hadoop用于离线析原始数据存储具体结合应用场景,选那个还是看自己的理解和基础学习能力。
  • 对于分布式操作,一般来说有以下两种实现选择: 1、 在每个节点上使用单独的事务,只实现弱一致性。 2、 使用2PC保证强一致性。即分布式事务协调者先要求所有参与节点PREPARE,大家都说PREPARE成功后,再要求所有节点COMMIT。只要有一个节点PREP...
  • 除非你处于不归路的地步,否则我不建议这样做。 我不知道这是否是核心hbase数据的正确方法,但是当我遇到这种不一致时,我通常会删除保存hbase数据的目录的所有内容。 所以这个地方将在hbase-site.xml中寻找以下属性 hbase.rootdir 一旦系统在我的本地开发机器上稳定,我就没有使用过这种方法。 通常如果我在关闭系统之前正确关闭集群,那么我就不会遇到这样的问题。 I do not recommend this unless you are at the point of no return ...
  • 如果表位于两个单独的集群中,则需要从一个集群到另一个集群中获取一个HBase表。 这可以通过sqoop完成。 从那里开始,理论上你可以按照Vignesh I的建议使用Phoenix ,但是,有一些限制。 您需要创建两个HBase表的Phoenix视图。 目前凤凰城的原生HBase视图如果在Phoenix之外更新,则不会自动更新,而大多数本机HBase表都是如此。 这有效地呈现Phoenix快照中的本机HBase表的视图而不是视图; 您需要定期重建任何索引(以及可能的统计信息),以捕获对基础HBase表的任何 ...
  • 将HBASE_HOME属性正确设置为HBASE安装目录并检查 设置HBASE_HOME = / PATH / TO / HBASE Set the HBASE_HOME property correctly to the HBASE installation directory and check set HBASE_HOME=/PATH/TO/HBASE
  • 您需要在hbase-site.xml中配置zookeeper znode。 zookeeper.znode.parent /hbase 不匹配可能是由于默认配置。 您可以使用zkcli验证ZooKeeper中的可用znode。 You need to configure zookeeper znode in hbase-site.xml. zookeep ...
  • Sqoop的直接连接器通常不支持HBase,这绝对是MySQL直连接头的情况。 如果需要将数据导入HBase,则应删除--direct选项。 Sqoop's direct connectors usually do not support HBase and this is definitely the case for MySQL direct connector. You should drop the --direct option if you need import data into HBase ...