5.11、大数据NoSQL数据库HBase集群部署
5.11.1、简介
HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。
和Redis一样,HBase是一款KeyValue型存储的数据库。
不过和Redis设计方向不同:
- Redis设计为少量数据,超快检索
- HBase设计为海量数据,超速检索
HBase在大数据领域应用十分广泛,现在我们来在node1、node2、node3上部署HBase集群。
5.11.2、安装
1、HBase依赖ZooKeeper、JDK、Hadoop(HDFS),请确保已经完成:
- 集群化软件前置准备
- ZooKeeper安装部署
- Hadoop安装部署
注意:若以上内容未完成,可以点击链接进行查看对应的准备与安装部署
2、【node1执行】下载HBase安装包
# 下载
wget http://archive.apache.org/dist/hbase/2.1.0/hbase-2.1.0-bin.tar.gz
# 解压
tar -zxvf hbase-2.1.0-bin.tar.gz -C /export/server
# 配置软链接
ln -s /export/server/hbase-2.1.0 /export/server/hbase
3、【node1执行】,修改配置文件,修改conf/hbase-env.sh
文件
# 切换目录至/export/server/hbase/conf
cd /export/server/hbase/conf
# 编辑hbase-env.sh
vim hbase-env.sh
修改hbase-env.sh
文件内容
# 在28行配置JAVA_HOME
export JAVA_HOME=/export/server/jdk
# 在126行配置:
# 意思表示,不使用HBase自带的Zookeeper,而是用独立Zookeeper
export HBASE_MANAGES_ZK=false
# 在任意行,比如26行,添加如下内容:
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"
4、【node1执行】,修改配置文件,修改conf/hbase-site.xml
文件
# 将文件的全部内容替换成如下内容:
<configuration>
<!-- HBase数据在HDFS中的存放的路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://node1:8020/hbase</value>
</property>
<!-- Hbase的运行模式。false是单机模式,true是分布式模式。若为false,Hbase和Zookeeper会运行在同一个JVM里面 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- ZooKeeper的地址 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>node1,node2,node3</value>
</property>
<!-- ZooKeeper快照的存储位置 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/export/server/apache-zookeeper-3.6.0-bin/data</value>
</property>
<!-- V2.1版本,在分布式情况下, 设置为false -->
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
</configuration>
5、【node1执行】,修改配置文件,修改conf/regionservers
文件
# 编辑regionservers
vim regionservers
将regionservers里面的内容清空,并填入如下内容:
# 填入如下内容
node1
node2
node3
6、【node1执行】,分发hbase到其它机器
scp -r /export/server/hbase-2.1.0 node2:`pwd`/
scp -r /export/server/hbase-2.1.0 node3:`pwd`/
7、【node2、node3执行】,配置软链接
ln -s /export/server/hbase-2.1.0 /export/server/hbase
8、【node1、node2、node3执行】,配置环境变量
# 编辑/etc/profile
vim /etc/profile
在/etc/profile文件末尾添加如下内容:
# 配置在/etc/profile内,追加如下两行
export HBASE_HOME=/export/server/hbase
export PATH=$HBASE_HOME/bin:$PATH
保存后,退出,执行:
source /etc/profile
9、【node1执行】启动HBase
请确保:Hadoop HDFS、Zookeeper是已经启动了的
start-hbase.sh
# 如需停止可使用
stop-hbase.sh
由于我们配置了环境变量
export PATH=$PATH:$HBASE_HOME/bin
start-hbase.sh
即在$HBASE_HOME/bin
内,所以可以无论当前目录在哪,均可直接执行
10、验证HBase
浏览器打开:http://node1:16010,即可看到HBase的WEB UI页面
11、简单测试使用HBase
【node1执行】
# 进入hbase内部
hbase shell
# 创建表
create 'test', 'cf'
# 插入数据
put 'test', 'rk001', 'cf:info', 'itheima'
# 查询数据
get 'test', 'rk001'
# 扫描表数据
scan 'test'