Hadoop集群(七)—— Hive HBase分布式安装

caroly 2020年09月07日 62次浏览

Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩、实时读写的分布式数据库。利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为其分布式协同服务。主要用来存储非结构化和半结构化的松散数据(列存 NoSQL 数据库)。


Hbase 单节点安装(Standalone)

安装

解压安装
tar -zvxf hbase-0.98.12.1-hadoop2-bin.tar.gz
mv hbase-0.98.12.1-hadoop2 hbase
cp -r hbase /opt/caroly/
cd /opt/caroly/hbase
rm -rf docs/

配置环境变量
vi /etc/profile +
export HBASE_HOME=/opt/caroly/hbase
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$HBASE_HOME/bin
. /etc/profile

# 配置 jdk 环境
cd conf/
vi hbase-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64

# 配置 site 文件
vi hbase-site.xml
<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>file:///home/testuser/hbase</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/home/testuser/zookeeper</value>
    </property>
</configuration>

启动
start-hbase.sh

访问

在浏览器中访问:

caroly01:60010

连接 HBase
hbase shell

数据操作

# 创建表
hbase(main):005:0> create 'tbl', 'cf'
# 显示表
hbase(main):006:0> list
# 向表写数据
hbase(main):007:0> put 'tbl', '2', 'cf:name', 'zhang3'
# 获取单条表数据
hbase(main):008:0> get 'tbl', '2'
# 获取所有表数据
hbase(main):009:0> scan 'tbl'
# 溢写表
hbase(main):009:0> flush 'tbl'
# 删除表数据
hbase(main):009:0> delete 'tbl', '2', 'cf:name'
# 删除所有表数据
hbase(main):009:0> truncate 'tbl'
# 查看命名空间中的表
hbase(main):009:0> list_namespace_tables 'hbase'
# 查看表中元数据
hbase(main):009:0> scan 'hbase:meta'

Hbase 分布式安装(Distributed)

准备工作

  • 网络互通
  • hosts 配置映射
  • ssh 配置免密登陆
  • 时间节点一致
  • jdk 配置

解压配置

修改『hbase-env.sh』文件:

vi /opt/caroly/hbase/conf/hbase-env.sh +
export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
export HBASE_MANAGES_ZK=false

修改『hbase-site.xml』文件:

vi /opt/caroly/hbase/conf/hbase-site.xml
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://mycluster/hbase</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>caroly02,caroly03,caroly04</value>
  </property>
</configuration>

修改『regionservers』文件:

vi /opt/caroly/hbase/conf/regionservers
caroly02
caroly03
caroly04

编辑『backup-masters』文件:

vi /opt/caroly/hbase/conf/backup-masters
caroly04

复制『hdfs-site.xml』文件:

cp /opt/caroly/hadoop-2.9.2/etc/hadoop/hdfs-site.xml /opt/caroly/hbase/conf

启动

分发『hbase』到其它三台虚拟机:

scp -r /opt/caroly/hbase/ caroly02:/opt/caroly/
scp -r /opt/caroly/hbase/ caroly03:/opt/caroly/
scp -r /opt/caroly/hbase/ caroly04:/opt/caroly/

配置其它三台虚拟机的环境变量:

vi /etc/profile +
export HBASE_HOME=/opt/caroly/hbase
PATH=... ... :$HBASE_HOME/bin
. /etc/profile

在『caroly01』中启动:

start-hbase.sh

在浏览器中访问:

http://caroly01:60010/
http://caroly04:60010/

测试:

将『Master』断掉:

jps
kill -9 xxxx

此时在浏览器中访问看效果。可以看到『Master』已切换。

单独启动:

hbase-daemon.sh start master