快速搭建HBase分布式集群

详尽的视频讲解,请查看该地址:https://edu.csdn.net/course/detail/9572

1.集群规划

1.1主机规划

前面的文章中,我们已经搭建了一个3节点的Hadoop分布式集群,为了保证数据的本地性,HBase集群与Hadoop集群共用节点。

跟我学,快速搭建HBase分布式集群

 

1.2软件规划

前面hadoop集群使用的安装包为hadoop-2.6.0-cdh5.10.0.tar.gz,这里选择与Hadoop相兼容的hbase-1.2.0-cdh5.10.0.tar.gz安装包

跟我学,快速搭建HBase分布式集群

 

1.3用户与用户组规划

安装HBase用户和用户组跟Hadoop集群保持一致即可。

跟我学,快速搭建HBase分布式集群

 

1.4目录规划

安装HBase分布式集群,默认配置文件有一些默认的日志目录和进程目录,为了方便管理,我们规划好自己创建目录,便于统一管理。

跟我学,快速搭建HBase分布式集群

 

2.HBase分布式集群安装

2.1下载

CDH版本:http://archive-primary.cloudera.com/cdh5/cdh/5/

这里选择下载hbase-1.2.0-cdh5.10.0.tar.gz版本的安装包,上传至主节点/home/hadoop/app目录。

2.2解压

使用如下命令解压HBase安装包:

tar -zxvf hbase-1.2.0-cdh5.10.0.tar.gz

2.3创建软连接

为了方便操作,使用如下命令创建软连接:

ln -s hbase-1.2.0-cdh5.10.0 hbase

2.4修改配置文件

2.4.1修改hbase-site.xml

在Hadoop中,如果用户需要增加HDFS的特定配置就要添加到hdfs-site.xml文件中。同样在HBase中,用户需要增加配置信息,就需要将配置添加到conf/hbase-site.xml文件中。

进程启动后,服务器会先读取hbase-default.xml文件,然后读取hbase-site.xml文件,hbase-site.xml的内容会覆盖hbase-default.xml中的内容。每次修改配置文件需要重启进程才能得到最新的配置。

<configuration>

<property>

<name>hbase.zookeeper.quorum</name>

<value>hadoop01,hadoop02,hadoop03</value>

<!--指定Zookeeper集群节点-->

</property>

<property>

<name>hbase.zookeeper.property.dataDir</name>

<value>/home/hadoop/data/zookeeper/zkdata</value>

<!--指定Zookeeper数据存储目录-->

</property>

<property>

<name>hbase.zookeeper.property.clientPort</name>

<value>2181</value>

<!--指定Zookeeper端口号-->

</property>

<property>

<name>hbase.rootdir</name>

<value>hdfs://mycluster/hbase</value>

<!--指定HBase在HDFS上的根目录-->

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

<!--指定true为分布式集群部署-->

</property>

</configuration>

2.4.2修改hbase-en.sh

HBase环境变量等信息需要在这个文件中配置,例如HBase守护进程的JVM启动参数。还可以设置HBase配置文件的目录、日志目录、进程pid文件的目录等。

export JAVA_HOME=/home/hadoop/app/jdk
export HBASE_LOG_DIR=/home/hadoop/data/hbase/logs
export HBASE_PID_DIR=/home/hadoop/data/hbase/pids
export HBASE_MANAGES_ZK=false

2.4.3修改RegionServer

这个文件罗列了所有region服务器的主机名,它是纯文本文件,文件中的每一行都是主机名。HBase的运维脚本会依次迭代访问每一行来启动所有region服务器进程。

hadoop01
hadoop02
hadoop03

2.4.4修改backup-masters

这个文件配置HBase master的备用节点,它是纯文本文件,每行填写主机名即可。

hadoop02

2.5添加hdfs配置文件

因为HBase启动依赖hdfs配置信息,需要将hdfs配置文件拷贝到主节点hbase的conf目录下

cp core-site.xml /home/hadoop/app/hbase-1.2.0-hadoop5.10.0/conf/
cp hdfs-site.xml /home/hadoop/app/hbase-1.2.0-hadoop5.10.0/conf/

2.6同步HBase安装目录

将主节点下的hbase安装目录分发到其他节点

deploy.sh hbase-1.2.0-cdh5.10.0 /home/hadoop/app/ slave

然后分别创建软链接

ln -s hbase-1.2.0-cdh5.10.0 hbase

2.7创建规划目录

在所有节点创建之前规划好的目录。

runRemoteCmd.sh "mkdir -p /home/hadoop/data/hbase/logs" all

3.HBase启动测试

3.1启动Zookeeper

集群依赖Zookeeper集群,所以需要先启动Zookeeper

runRemoteCmd.sh "/home/hadoop/app/zookeeper/bin/zkServer.sh start" all

3.2启动hdfs

Hbase数据都存储在hdfs上,它依赖与hdfs集群,所以先启动hdfs。

sbin/start-dfs.sh

3.3启动hbase

通过如下命令启动hbase。

bin/start-hbase.sh

备注:也可以换一个节点启动HBase,在哪个节点启动HBase,哪个节点就是master角色。

3.4关闭hbase

运行以下命令可以停止HBase集群,一旦启动了这个脚本,我们将会看到一条描述集群正在停止的信息,该信息会周期性地打印”. ”字符。(这仅仅表明脚本正在运行,并不是进度的反馈或者隐藏有用的信息)

$bin/stop-hbase.sh 
stopping hbase.......

关闭脚本大概需要几分钟完成,如果集群机器比较多,需要执行更长的时间。如果用户运行的是分布式集群,在关闭hadoop集群之前一定要确认hbase已经被正常关闭。

3.5 web 查看hbase

访问地址:http://master:60010查看hbase相关信息。

4.shell 测试运行HBase数据库

HBase 为用户提供了一个非常方便的使用方式, 我们称之为“HBase Shell”。

HBase Shell 提供了大多数的 HBase 命令, 通过 HBase Shell 用户可以方便地创建、删除及修改表, 还可以向表中添加数据、列出表中的相关信息等。

bin/hbase shell

#查看命令组

hbase>help

4.1 General操作

#查询HBase服务器状态

hbase>status

#查看HBase版本

hbase>version

4.2Ddl 操作

Ddl 操作(Data Definition Language)数据定义语言

#创建一个表

hbase(main):002:0> create 'myhbase','cf'

#查看HBase所有表

hbase(main):003:0> list

#描述表结构

hbase(main):004:0> describe 'myhbase'

#删除表

hbase(main):005:0> disable 'myhbase'
hbase(main):006:0> drop 'myhbase'
hbase(main):007:0> list

4.3Dml操作

Dml操作(Data Manipulation Language)是数据操纵语言

#创建一个表

hbase(main):002:0> create ‘user','cf'

#插入数据

put 'user', '1', 'cf:name', 'xiaoli'
put 'user', '1', 'cf:age', '24'
put 'user', '1', 'cf:birthday', '1987-06-17'
put 'user', '1', 'cf:company', 'alibaba'
put 'user', '1', 'cf:contry', 'china'
put 'user', '1', 'cf:province', 'zhejiang'
put 'user', '1', 'cf:city', 'hangzhou'

#扫描表所有数据

hbase(main):011:0> scan 'user'

#根据rowkey获取数据

hbase(main):012:0> get 'user','1'

#根据rowkey 更新一条数据

hbase(main):013:0>put 'user', '1', 'cf:age', '28'
hbase(main):014:0> get 'user','1'

#查询表中总记录数据

hbase(main):015:0> count 'user'

#删除某一列数据

hbase(main):016:0> delete 'user', '1', 'cf:age'
hbase(main):017:0> get 'user','1'

#清空hbase表数据

hbase(main):018:0> truncate 'user'
hbase(main):019:0> scan 'user'
  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易水大数据

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值