赞
踩
HBase
是一个开源的、分布式的、版本化的非关系型数据库,它利用Hadoop
分布式文件系统(Hadoop Distributed File System,HDFS
)提供分布式数据存储。存储结构化和半结构化的数据,可以进行随机访问的存取和检索数据。
HBase
是非关系型数据库,它不具备关系型数据库的一些特点,例如,它不支持 SQL
的跨行事务,也不要求数据之间有严格的关系,同时它允许在同一列的不同行中存储不同类型的数据。
HBase
作为 Hadoop
框架下的数据库,是被设计成在一个服务器集群上运行的。
今天就来分享一下HBase
集群搭建的详细过程。
前期准备:
192.168.36.121 hadoop1
192.168.36.122 hadoop2
192.168.36.123 hadoop3
ssh
服务,可以进行免密登录JDK
cd /opt/module
# 下载hbase安装包
wget https://archive.apache.org/dist/hbase/2.2.4/hbase-2.2.4-bin.tar.gz
# 解压
tar -zxvf ./hbase-2.2.4-bin.tar.gz
mv hbase-2.2.4 hbase
cd /opt/module/hbase/conf
# 打开文件
vim hbase-env.sh
# 添加如下内容
export HBASE_MANAGES_ZK=false
vim hbase-site.xml
# 修改为如下内容
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop1:8020/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop1,hadoop2,hadoop3</value>
</property>
</configuration>
# 修改为如下内容
hadoop1
hadoop2
hadoop3
# 将hbase目录同步到集群其他节点
scp -r /opt/module/hbase hadoop2:/opt/module
scp -r /opt/module/hbase hadoop3:/opt/module
注意: 只有当
Hadoop
退出安全模式时,当查看http://hadoop1:9870/
页面中出现Security is off Safemode is off
.时 我们再启动Hbase
集群!!!
# 启动集群
cd /opt/module/hbase
bin/start-hbase.sh
我们可以通过Web UI
方式来访问HBase
管理页面,连接地址:http://hadoop1:16010
,这里的hadoop1
要修改为你自己的IP
地址或者主机名!!!能够成功访问,说明HBase
集群启动成功。
在搭建过程中可能会遇到的问题:
问题:java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper operation during component failures, but the underlying filesystem does not support doing so. Please check the config value of ‘hbase.procedure.store.wal.use.hsync’ to set the desired level of robustness and ensure the config value of ‘hbase.wal.dir’ points to a FileSystem mount that can provide it.
解决办法:
1.在hbase-site.xml
增加配置
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
2.将该文件同步到其他节点
scp -r /opt/module/hbase/conf/hbase-site.xml hadoop2:/opt/module/hbase/conf
scp -r /opt/module/hbase/conf/hbase-site.xml hadoop3:/opt/module/hbase/conf
3.重启HBase
集群
# 停止集群
/opt/module/hbase/bin/stop-hbase.sh
# 启动集群
/opt/module/hbase/bin/start-hbase.sh
最后,附上整个hbase-site.xml
的配置内容:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop1:8020/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop1,hadoop2,hadoop3</value>
</property>
<!-- 解决启动HMaster无法初始化WAL的问题 -->
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<!-- Phoenix 支持HBase 命名空间映射 -->
<property>
<name>phoenix.schema.isNamespaceMappingEnabled</name>
<value>true</value>
</property>
<property>
<name>phoenix.schema.mapSystemTablesToNamespace</name>
<value>true</value>
</property>
</configuration>
好了,HBase
集群的搭建过程就顺利完成了!
希望大家都能有所收获,喜欢的可以点赞和收藏,有疑问的可以在评论区留言,也欢迎转发分享给更多的人!
谢谢大家!
-------------- end ----------------
微信公众号:请扫描下面的二维码
进行关注!
个人微信:请扫描下面的二维码
添加好友!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。