HBase的安装 / 集群的设置 /shell客户端 / 对 namespace 操作(2)

一  安装前处理

1  HDFS集群的 Zookeeper 集群启动 ( 方便hbase向zookeeper发送注册信息,zookeeper好监测hbase集群运行情况 )

[root@linux03 ~]# /opt/apps/zookeeper-3.4.6/bin/zkServer.sh  start

[root@linux04 ~]# /opt/apps/zookeeper-3.4.6/bin/zkServer.sh  start

[root@linux05 ~]# /opt/apps/zookeeper-3.4.6/bin/zkServer.sh  start

2  HDFS集群启动

[root@linux03 ~]# start-all.sh

3 查看zk和hdfs的启动情况

[root@linux03 ~]#jps
9703 Jps                                  //jps
2441 ResourceManager          //yarn  主节点
1930 NameNode                    //hdfs     namenode
1692 QuorumPeerMain         //zookeeper 主节点
2076 DataNode                     //hdfs   datanode
2620 NodeManager              //zookeeper 子节点                 

4  确定创建虚拟机的三台机器时间是否同步

4.1 查看集群中的每一台机器的时间 ,三台机器的时间一定同步误差在一定的范围内

[root@linux03 ~]#date

[root@linux04 ~]#date

[root@linux05 ~]#date

4.2  连接外网时间服务器自动同步数据

yum -y install ntpdate.x86_64  

ntpdate 0.asia.pool.ntp.org

// 服务器列表

time.nist.gov

time.nuri.net

0.asia.pool.ntp.org

1.asia.pool.ntp.org

2.asia.pool.ntp.org

3.asia.pool.ntp.org

4.3  手动设置时间

date  -s  "2020-01-08 17:12:55"

4.4  如果没有时间同步抛出" ClockOutOfSyncException "异常,需要时间同步或者

修改属性 : hbase.master.maxclockskew设置更大的值

<property>

        <name>hbase.master.maxclockskew</name>

        <value>180000</value>

        <description>Time difference of regionserver from master</description>

 </property>

二  安装和集群设置

1  上传解压 hbase jar包 

// 上传

[root@linux03 apps]# rz     // 在/opt/apps目录下 将hbase-2.2.5-bin.tar.gz 上传 

//  解压

[root@linux03 apps]# tar -zxvf hbase-2.2.5-bin.tar.gz

2  hbase 配置

2.1  hbase-env.sh 修改配置内容

[root@linux03 ~]# cd  /opt/apps/hbase-2.2.5/conf

[root@linux03 conf]# vi hbase-env.sh

// 将这行的注释 # 去掉 ,并且将jdk的路径写正确

export JAVA_HOME=/opt/apps/jdk1.8.0_251     

//  退出编辑模式 ,搜索 ZK

esc  /ZK

//  将 ZK 设置为 false ,意思是不使用 hbase 自身的 zookeeper ,而是使用 hdfs 集群的zookeeper集群

export HBASE_MANAGES_ZK=false

2.2  hbase-site.xml 修改配置内容

[root@linux03 conf]# vi hbase-site.xml

//  直接移动到文件内容最下面, 将原本 <configuuration>标签里面的内容删除掉 ,将以下内容添加进去

<configuration>

<!-- 指定hbase在HDFS上存储的路径 -->

<property>

<name>hbase.rootdir</name>

<value>hdfs://linux03:8020/hbase</value>

</property>

<!-- 指定hbase是分布式的 -->

<property>

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

<value>true</value>

</property>

<property>

  <name>hbase.unsafe.stream.capability.enforce</name>

  <value>false</value>

</property>

<!-- 指定zk的地址,多个用“,”分割 -->

<property>

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

<value>linux03:2181,linux04:2181,linux05:2181</value>

</property>

</configuration>

2.3  regionservers 修改配置内容----启动集群中的 Regionserver 机器

vi regionservers

//  添加将要建立集群的三台机器的域名进去

linux03

linux04

linux05

// 保存退出

:wq!

2.4  向集群中的其他两台集群群发修改好的 hbase-2.2.5 软件

/opt/apps/  目录下

[root@linux03 apps]# scp -r hbase-2.2.5/ linux04:$PWD

[root@linux03 apps]# scp -r hbase-2.2.5/ linux05:$PWD

2.5  启动 hbase

2.5.1  单节点启动 (只有手动单节点启动时,才有备用节点HMaster )

[root@linux03 hbase-2.2.5]# bin/hbase-daemon.sh start master

[root@linux03 hbase-2.2.5]# bin/hbase-daemon.sh start regionserver

提示 : 如果集群之间的节点时间不同步 ,会导致 regionserver 无法启动 

2.5.2  集群一键启动

/opt/apps/hbase-2.2.5/bin 目录下

[root@linux03 bin]#  ./start-hbase.sh             // 启动 HMaster

2.6  hbase集群启动成功后 ,访问HBase管理页面

http://linux03:16010

2.7  为了操作方便(在任何目录路径下 ,都可以启动 hbase集群) ,建议将hbase 配置在系统的环境变量中 .

回到根目录下 /

vi etc/profile

// 添加如下内容

export  HBASE_HOME=/opt/apps/hbase-2.2.5

//  在 export  PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin后面拼接上如下内容

:$HBASE_HOME/bin

// 保存退出

:wq!

三   shell客户端

1  开启shell交互客户端

[root@linux03 bin]#  ./start-hbase.sh            // 启动 HMaster (必须启动 ,否则无法正常使用 hbase)

[root@linux03 /]# hbase shell                      // 启动 hbase shell 客户端

2  通用和帮助基本命令

hbase(main):001:0>status           //查看HBase集群状态

hbase(main):001:0>version           //查看HBase版本

hbase(main):001:0>whoami          //提供有关用户的信息  

hbase(main):001:0>list                 //查看当前节点的列表清单

hbase(main):001:0>help                     //查看hbase中所有的shell 命令

hbase(main):001:0>help 'Commands'          //查看命令的使用手册

hbase(main):001:0>help 'create'           //查看create的用法/语法,单引号里面放任意查询字段

3  namespace

hbase中没有数据库的概念 ,namespace相当于 mysql中的database ,可以用来分类别管理表

3.1  创建 namespace

create_namespace 'hbase01'    

Took 1.1417 seconds

3.2  创建 namespace 并添加属性  

create_namespace 'hbase02',{'hbase'=>'learning'}    

Took 0.2678 seconds

3.3   查看 namespace 详细信息

describe_namespace 'hbase02'   

//  查询到的信息

DESCRIPTION                                                             
{NAME => 'hbase02', hbase => 'learning'}                                
Quota is disabled
Took 0.1937 seconds

3.4  查看 namespace 列表

list_namespace

// 查询到的 namespace 列表

NAMESPACE                                                               
default            // 系统默认的 namespace                                                           
hbase            // 系统自带的 namespace  ,不可删                                                             
hbase01        // 创建的普通 namespace                                                        
hbase02        // 创建的带有属性的 namespace                                                        
4 row(s)         // 共四个namespace
Took 0.5190 seconds

3.5  删除 namespace

hbase(main):002:0> drop_namespace 'hbase01'
Took 0.2724 seconds

3.6  查看指定 namespace 下的 table

list_namespace_tables  'default'

//  default=>默认的namespace下的列表信息

TABLE                                                                   
tb_user                                                                 
tb_user1                                                                
tb_user2                                                                
3 row(s)        // 共3个表
Took 0.0500 seconds                                                     
=> ["tb_user", "tb_user1", "tb_user2"]

3.7  alter_namespace 修改名称空间的属性

3.7.1  To add/modify a property:

hbase> alter_namespace 'ns1', {METHOD => 'set', 'PROPERTY_NAME' => 'PROPERTY_VALUE'}

3.7.2  To delete a property:

hbase> alter_namespace 'ns1', {METHOD => 'unset', NAME=>'PROPERTY_NAME'}

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值