详细解析 HBASE 配置的各种要点(单机_伪分布式)

文章更新于:2020-05-05
注1:JDK 版本适配参见:Table 2. Java support by release line
注2: HADOOP 版本适配参见:Hadoop version support matrix

安装惯例,需要的文件附上链接放在文首。

文件名:hbase-2.1.10-bin.tar.gz
文件大小:220.88MB
下载链接:http://download.csdn.net/download
SHA256: 7A51A8A586C05E9602001AB635D107DA82C45BC789E4D0E7F12F3564221C9AD1

文件名:hbase-2.2.4-bin.tar.gz
文件大小:213.24 MB
下载链接:http://download.csdn.net/download
SHA256: EC91B628352931E22A091A206BE93061B6BF5364044A28FB9E82F0023ACA3CA4

一、下载 HBASE 2.2.4

下载方式下载链接备注
官网下载hbase.apache.org/downloads.html下载速度慢
北京理工大学镜像站mirror.bit.edu.cn
清华大学镜像站mirrors.tuna.tsinghua.edu.cn下载速度快
CSDN 下载站http://download.csdn.net/download

二、安装 HBASE

2.1、找到下载的 hbase

如果你是使用虚拟机进行安装,你可以直接在虚拟机里面下载,这样可以免去传送文件的步骤。

如果你需要从宿主机传送文件到客户机,你可以使用 scp 命令:

# 在宿主机命令行执行以下命令:
scp 文件名 虚拟机用户名@虚拟机的IP:虚拟机保存文件的路径

# 比如:
scp hbase-2.2.4-bin.tar.gz bigdata@192.168.11.136:/home/bigdata

2.2、安装 hbase 2.2.4

sudo tar -zxvf hbase-2.2.4-bin.tar.gz -C /usr/local/ | tail -n 10
cd /usr/local
sudo mv hbase-2.2.4/ hbase
sudo chown -R bigdata:bigdata hbase

安装 hbase

2.2、配置环境变量

# 在 ~/.bashrc 文件中追加下面这条语句
export PATH=/usr/local/hbase/bin:$PATH

# 然后就可以在任意位置执行 hbase version 查看版本了
source .bashrc	# 使配置立即生效
hbase version
# 如可正常显示版本,即安装成功。

查看版本
注:上面截图中找到了两个可用的 binding,但不影响使用,它会自己选择一个来用。

三、HBASE 的单机配置

3.1、配置 hbase-env.sh

# 将 /usr/local/hbase/conf/hbase-env.sh 中下面行的注释去掉
# 这一行是设定 JAVA_HOME 的路径
export JAVA_HOME=/usr/local/jdk/
# 这一行是指定 hbase 自己管理 zookeeper
export HBASE_MANAGES_ZK=true 

3.2、配置 hbase-site.xml

# 在 /usr/local/hbase/conf/hbase-site.xml 文件中添加以下内容
# 主要是设定 hbase 的数据存储位置,默认是 /tmp/xxx 容易丢失。
<configuration>
        <property>
                <name>hbase.rootdir</name>
                <value>file:///usr/local/hbase/hbase-tmp</value>
        </property>
</configuration>

3.3、启动/停止 hbase

# 启动 hbase
start-hbase.sh
# 打开 hbase 命令行
hbase shell

# 停止 hbase
stop-hbase

启动hbase

四、HBASE 的伪分布式配置

4.1、配置 hbase-env.sh

# 在 /usr/local/hbase/conf/hbase-env.sh 中添加或取消注释下面三行
export JAVA_HOME=/usr/local/jdk/
# export HBASE_CLASSPATH=/usr/local/hadoop/etc/hadoop
export HBASE_MANAGES_ZK=true

4.2、配置 hbase-site.xml

/usr/local/hbase/conf/hbase-site.xml 中添加或更改以下内容:

<configuration>
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://localhost:9000/hbase</value>
        </property>
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
</configuration>

4.3、报错处理

如果在启动的时候出现下面这个错误:
可以添加 wal.dir 项。

2020-05-05 17:21:00,846 WARN  [RpcServer.default.FPBQ.Fifo.handler=29,queue=2,port=16000] master.Mast
erRpcServices: .hbase.wal.WALFactory.getWAL(WALFactory.java:286)
	at org.apache.hadoop.hbase.regionserver.HRegionServer.getWAL(HRegionServer.java:2181)
	at org.apache.hadoop.hbase.regionserver.HRegionServer.buildServerLoad(HRegionServer.java:1387
)


2020-05-05 08:57:07,341 ERROR [main] regionserver.HRegionServer: Failed constructio
n RegionServer
java.lang.NoClassDefFoundError: org/apache/htrace/SamplerBuilder
        at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:644)
        at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:628)
        at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileS
ystem.java:149)

如果出现因安全问题导致错误之类的,
可以添加 hbase.unsafe.stream.capability.enforce 选项
最后 hbase-site.xml 的文件内容如下:

<configuration>
    <property>
        <name>hbase.wal.dir</name>
        <value>file:///tmp/wal.dir</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://localhost:9000/hbase</value>
    </property>
    <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
    </property>
</configuration>

如果出现 Failed construction RegionServer 错误:

把/hbase-2.1.2/lib/client-facing-thirdparty目录下的htrace-core-3.1.0-incubating.jar
复制到/hbase-2.1.2/lib即可。

refer:toward_south

4.3、启动/停止 hbase

# 先启动 hdfs
start-dfs.sh
# 再启动 hbase
start-hbase.sh

# 先停止 hbase
stop-hbase.sh
# 再停止 hdfs
stop-dfs.sh

# 如果 jps 发现还有一个server左右停止,可以
#停止regionserver
hbase-daemon.sh stop regionserver RegionServer
#启动regionserver
hbase-daemon.sh start regionserver RegionServer
#重启regionserver
graceful_stop.sh --restart --reload --debug nodename

4.4、通过web界面访问

启动 hbase 之后,还可以通过端口 16010 访问 Hbase web 界面。

在这里插入图片描述

五、Enjoy!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值