HBase 1.7.2详细安装教程

HBASE安装

以下内容均假设用户已经安装了Java环境、zk和Hadoop。以下是本文档的测试环境:

•操作系统Debian 11 ; hbase :1.7.2。

•总共3台机器:host1,host2,host3。

• JDK版本为Oracle JDK1.8。

1. 环境准备

1.1 建立hbase用户(所有节点)

# useradd hbase

# passwd hbase

# 建立supergroup用户组(hdfs默认的超级用户组,如果你的机器上 没有的话需要手动建立):

# # groupadd supergroup

# 添加hbase用户到supergroup中:

# # groupmems -g supergroup -a hbase

2. 解压HBase安装包(任一节点)

把HBase安装包推送到所有机器上,解压并移动 到/usr/local/hbase目录。

tar zxvf hbase-1.2.2-bin.tar.gz mv hbase-1.2.2 /usr/local/hbase

3. 配置环境变量

export HBASE_HOME=/usr/local/hbase 
export PATH=$PATH:$HBASE_HOME/bin

source /etc/profile

4. 配置hbase-env.sh

4.1 关闭自带的ZooKeeper

#Tell HBase whether it should manage it’s own instance of Zookeeper or not.

export HBASE_MANAGES_ZK=false

首先你需要知道:HBase自带了一个ZooKeeper,而且会默认启动自己的ZooKeeper。如果HBase用的是自己的ZooKeeper,那你在jps中看到的ZooKeeper 名字是HQuorumPeer。如果你使用的是外部的ZooKeeper集群,那么它的 名字叫 QuorumPeer 或者 QuorumPeerMain。

安装HBase有一个前提就是你一定要有ZooKeeper,其实如果你没有ZooKeeper的话,HBase会自带一个 ZooKeeper。但是强烈不建议使用HBase自带的Zookeepor,因为生产环境下Zookeepor集群是Hadoop、HBase等很多软件公用的.

是否开启HBase自带的ZooKeeper开关

是否开启自带的ZooKeeper由conf/hbase-env. sh中定义的 HBASE_MANAGES_ZK变量定义。这个变量默认为true,也就是开启自带的 ZooKeeper

ZooKeeper的配置在哪里?如果你用的是独立部署的ZooKeeper的配置,它是在zoo.cfg文件里。如果你用的是HBase自带的ZooKeeper,那么它就在hbase-site.xml 里面配置。它们的区别是,在hbase-site. xml中的ZooKeeper相关配置 项就是在zoo.cfg中对应的属性名前面加上hbase.zookeeper.property. 前缀。比如在zoo.cfg中的配置项dataDir,在hbase-site.xml中就叫 hbase.zookeeper.property.dataDir.

4.2 配置 HBASE_CLASSPATH

HBase会根据HDFS的客户端配置来做一些策略调整,比如HBase默认存储的备份数是3,当你把dfs. replication数设置为5的时候,如果 HBase能读到这个配置,它会自动把备份数提高到5。让HBase读取到HDFS的配置有三种方式:

把HADOOP_C0NF_DIR添加到HBASE_CLASSPATH中(推荐)。

把HDFS的配置文件复制一份到HBase的conf文件夹下,或者直 接建一个hdfs-site. xml的软链接到hbase/conf下。

把HDFS的几个配置项直接写到hbase-site. xml文件里面去。

我们现在采用把HADOOP_CONF_DIR添加到HBASE_CLASSPATH里面去的方式。我的Hadoop配置文件夹路径是/usr/local/hadoop/etc/hadoop,所以我在hbase-env.sh中找到这行:

# Extra Java CLASSPATH elements. Optional.

# export HBASE_CLASSPATH=

将其改成:

export HBASE CLASSPATH=/usr/local/hadoop/etc/hadoop

4.3 修改HBase日志输出文件夹

默认的日志文件夹是$HBASE_HOME/logs,事先手动创建目录

# Where log files are stored. $HBASE_HOME/logs by default.

# export HBASE_LOG_DIR=${HBASE_HOME}/logs

export HBASE_LOG_DIR=/data/logs/hbase

5. 配置hbase-site.xml

编辑conf/hbase-site.xml。

hbase存储根目录(hbase.rootdir)

HDFS有HA和没有HA的情况下这 个路径的写法是不一样的。

如果你的HDFS没有HA

<property>
 	<name>hbase.rootdir</name>
	 <value>hdfs://host1:9000/hbase</value>
</property>

如果你的HDFS有HA,这里就写成:

<property>

<name>hbase.rootdir</name>

<value>hdfs://<clustername>/hbase</value>

</property>

其中〈clustername〉请替换为你的集群id,比如我的集群id是 mycluster。HBase会通过集群id,连接 ZooKeeper来查询namenode的情况。

分布式开关(hbase.cluster.distributed )

添加这个配置项,并设置成true来告诉HBase现在要按分布式模式启动.

<property>

<name>hbase.cluster.distributed</name> 

<value>true</value>

</property>

ZooKeeper集群地址 ( base.zookeeper.quorum )

<property>

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

<value>host1,host2,host3</value>

</property>

6. 推送到所有节点上

先把之前做好的配置文件(hbase-site.xml和hbase-env.sh)推送 (或者复制)到所有机器上.

scp -r /usr/local/hbase host2:/usr/local/

scp -r /usr/local/hbase host3:/usr/local/

7. 启动Hbase集群

启动Master

我们先挑选集群中的一台机器作为Master,执行以下命令:

$ hbase-daemon.sh start master

然后用jps:

2705 HMaster

启动RegionServer

登录到所有你希望启动RegionServer的机器上,执行以下命令:

/hbase-daemon.sh start regionserver

启动后用jps看看是否启动了RegionServer:

2871 HRegionServer

如果失败,可以通过查看日志定位解决。

8. HBase Web控制台

接下来,我要带你们去看HBase的 Web控制台,master:16010 在那,你们可以一目了然地看到集群的各项指标,比如有多少RegionServer、有多少表、有多少请求等。HBase启动后会同时启动一个Web控制台.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值