什么是HBase?
HBase是建立在Hadoop文件系统之上的分布式面向列的数据库。它是一个开源项目,是横向扩展的。
HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数据。它利用了Hadoop的文件系统(HDFS)提供的容错能力。
它是Hadoop的生态系统,提供对数据的随机实时读/写访问,是Hadoop文件系统的一部分。
人们可以直接或通过HBase的存储HDFS数据。使用HBase在HDFS读取消费/随机访问数据。 HBase在Hadoop的文件系统之上,并提供了读写访问。
准备工作
环境
JDK:1.8
Hadoop Release:2.7.4
centos:7.3
node1(master) 主机: 192.168.252.121
node2(salve) 从机: 192.168.252.122
node3(salve) 从机: 192.168.252.123
node4(ZooKeeper) 主机: 192.168.252.124
依赖环境
HBase 依赖于 Hadoop 环境,搭建 HBase 之前首先需要搭建好 Hadoop 的完全集群环境
Hadoop
ZooKeeper 随意选择
CentOs7.3 搭建 ZooKeeper-3.4.9 单机服务
CentOs7.3 搭建 ZooKeeper-3.4.9 Cluster 集群服务
安装
下载解压
在 ndoe1 上操作
su hadoop
cd /home/hadoop/
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/1.3.1/hbase-1.3.1-bin.tar.gz
tar -xzf hbase-1.3.1-bin.tar.gz
环境变量
如果是对所有的用户都生效就修改vi /etc/profile
文件
如果只针对当前用户生效就修改 vi ~/.bahsrc
文件
sudo vi /etc/profile
#Hbase
export PATH=${HBASE_HOME}/bin:$PATH
export HBASE_HOME=/home/hadoop/hbase-1.3.1/
使环境变量生效,运行 source /etc/profile
使/etc/profile
文件生效
配置 HBase
进入HBase配置文件目录
cd /home/hadoop/hbase-1.3.1/conf/
编辑 hadoop-env.sh
文件,找到 JAVA_HOME
改为 JDK 的安装目录
vi hbase-env.sh
export JAVA_HOME=/lib/jvm
export HBASE_MANAGES_ZK=false
其实HBase里面自带了一个ZooKeeper,而这个属性的值就是是否使用这个自带的ZooKeeper,很显然我这里要使用自己的ZooKeeper,所以修改为false。
修改 hbase-site.xml
打开 core-site.xml文件并对其进行编辑,如下图所示。
vi hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://node1:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>node4:2181</value>
</property>
</configuration>
配置集群
修改 regionservers 文件
删除locahost
,添加所有hbase
节点的主机名
[root@node1 conf]# cat regionservers
node2
node3
复制节点
将 hbase-1.3.1 文件夹重打包后复制到其他子节点
cd /home/hadoop/
tar zcvf hbase.tar.gz hbase-1.3.1
scp hbase.tar.gz hadoop@node2:/home/hadoop/
scp hbase.tar.gz hadoop@node3:/home/hadoop/
在其他子节点 解压
tar -zxvf hbase.tar.gz
集群操作
启动 Hbase
关闭防火墙
systemctl stop firewalld.service
确保 Hadoop,ZooKeeper 已经正常启动,执行以下命令
cd /home/hadoop/hbase-1.3.1/bin
./start-hbase.sh
查看进程服务
查看启动进程,缺少以下任一进程都表示出错
node1 (master)
$ jps
2528 NameNode #hadoop master进程
2720 SecondaryNameNode
2872 ResourceManager
3357 HMaster #hbase master进程
3151 JobHistoryServer
node2,node3 (salve)
$ jps
2528 NodeManager
2417 DataNode
2687 HRegionServer #hbase msalve进程
node3 (ZooKeeper)
$ jps
2285 QuorumPeerMain # ZooKeeper进程
查看端口占用情况
netstat -tnlp | grep java
停止 Hbase
cd /home/hadoop/hbase-1.3.1/bin
./stop-hbase.sh
或者 jps 查看进程kill
掉
Contact
- 作者:鹏磊
- 出处:http://www.ymq.io
- Email:admin@souyunku.com
- 版权归作者所有,转载请注明出处
- Wechat:关注公众号,搜云库,专注于开发技术的研究与知识分享
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。