大数据——HBase安装(docker部署)

一、HBase体系架构

在这里插入图片描述
在这里插入图片描述

二、本地模式

1、在服务器上创建一个Dockerfile

# 以之前的centos-ssh镜像为基础
FROM centos7-ssh

# 将当前目录下的jdk复制到镜像中
COPY jdk1.8.0_261 /usr/local/jdk

# 设置java环境变量
ENV JAVA_HOME /usr/local/jdk
ENV PATH $JAVA_HOME/bin:$PATH

# 将hbase目录复制到镜像中
COPY hbase-1.3.1  /usr/local/hbase

# 设置hbase环境变量
ENV HBASE_HOME /usr/local/hbase
ENV PATH $HBASE_HOME/bin:$PATH

2、以该Dockerfile创建一个镜像

docker build -t="centos7-hbase" .

3、启动该镜像

docker run -itd --network hadoop --name  hbase1 centos7-hbase

4、修改配置文件:hbase-env.sh

export JAVA_HOME=/usr/local/jdk

5、修改配置文件:hbase-site.xml

<configuration>
  <!-- 数据文件存储的地址 -->
  <property>
    <name>hbase.rootdir</name>
    <value>file:///hbase-data</value>
  </property>
</configuration>

6、启动hbase

[root@a55f8d4b7445 hbase]# start-hbase.sh

7、操作hbase

# 进入hbase命令行
hbase shell
# 创建student表和info、grade列族
create 'student','info','grade'
# 添加一条数据
put 'student','s01','info:name','Tom'

在这里插入图片描述

三、伪分布模式

1、同上启动镜像

2、修改hbase-env.sh

# 表示使用hbase自带的zookeeper
export HBASE_MANAGES_ZK=true

3、修改hbase-site.xml

<configuration>
  <!-- 设置为true表示是分布式环境 -->
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <!-- 数据文件存储的地址 -->
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://172.18.0.2:9000/hbase</value>
  </property>

  <!-- zookeeper地址 -->
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>localhost</value>
  </property>
  <!-- 数据的冗余度 -->
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

4、配置regionservers

172.18.0.5

5、操作hbase

# 进入容器
docker exec -it hbase1 /bin/bash
# 进入hbase命令行
hbase shell
# 创建表、列族
create 'student1','info','grade'
# 插入数据
put 'student1','s01','info:name','Tom'

7、进入HDFS中查看目录

地址:http://172.18.0.2:50070/explorer.html#/hbase/data/default/
里面就有我们刚刚创建的表
在这里插入图片描述

四、全分布式模式

1、启动三个hbase实例

docker exec -it hbase1 /bin/bash
docker exec -it hbase2 /bin/bash
docker exec -it hbase3 /bin/bash

2、配置hbase-env.sh

export JAVA_HOME=/usr/local/jdk
export HBASE_MANAGES_ZK=true

3、配置hbase-site.xml

<configuration>
  <!-- 设置为true表示是分布式环境 -->
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <!-- 数据文件存储的地址 -->
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://172.18.0.2:9000/hbase</value>
  </property>

  <!-- zookeeper地址 -->
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>172.18.0.5</value>
  </property>
  <!-- 分别设置每台机器的hostname -->
  <property>
     <name>hbase.regionserver.hostname</name>
     <value>hbase2</value>
   </property>
  <!-- 数据的冗余度 -->
  <property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>
</configuration>

4、配置从节点地址:vi ./conf/regionservers

172.18.0.6
172.18.0.7

5、将hbase1上配置好的文件,复制到hbase2和hbase3中

scp -r /usr/local/hbase/ root@hbase2:/usr/local
scp -r /usr/local/hbase/ root@hbase3:/usr/local

6、在主节点hbase1上启动hbase

[root@a55f8d4b7445 hbase]# start-hbase.sh 
localhost: zookeeper running as process 1320. Stop it first.
master running as process 1399. Stop it first.
172.18.0.7: starting regionserver, logging to /usr/local/hbase/bin/../logs/hbase-root-regionserver-a153c2ec542e.out
172.18.0.6: starting regionserver, logging to /usr/local/hbase/bin/../logs/hbase-root-regionserver-cdd308e8152e.out

7、实现HA

# 在hbase2上启动一个master即可
hbase-daemon.sh start master

在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值