HBase部署及数据库基本操作

一、动手实践部署HBase集群。(部署步骤)

①安装JDK;

②部署Hadoop;

③配置Hadoop集群;

④部署Zookeeper;

⑤Hbase部署:

  (1)通过SecureCRT工具将HBase安装包上传到服务器nosql01的/opt/software/目录下,并修改安装包的用户和用户组权限为user_hbase,然后解压HBase安装包至/opt/servers/hbase_demo目录下。解压安装包的具体命令如下:

tar -zxvf /opt/software/hbase-1.2.1-bin.tar.gz -C /opt/servers/hbase_demo/

  (2)将/hadoop-2.7.4/etc/hadoop目录下的hdfs-site.xml和core-site.xml配置文件复制一份到/hbase-1.2.1/conf目录下,复制文件的具体命令如下:

 cp /opt/servers/hbase_demo/hadoop-2.7.4/etc/hadoop/{hdfs-site.xml,core-site.xml} /opt/servers/hbase_demo/hbase-1.2.1/conf

  (3)进入/opt/servers/hbase_demo/hbase-1.2.1/conf目录,修改相关配置文件。修改hbase-env.sh配置文件,指定jdk的环境变量并配置Zookeeper(默认是使用内置的Zookeeper服务),修改后的hbase-env.sh文件内容具体如下:

 # 配置jdk环境变量

export JAVA_HOME=/opt/servers/hbase_demo/jdk

# 配置hbase使用外部Zookeeper

export HBASE_MANAGES_ZK=false

     修改hbase-site.xml配置文件,指定HBase在HDFS的存储路径、HBase的分布式存储方式以及Zookeeper地址,修改后的hbase-site.xml文件内容具体如下:

        

                hbase.rootdir

                hdfs://nosql01:9000/hbase

        

                

        

                hbase.cluster.distributed

                true

        

                

        

                hbase.zookeeper.quorum                 

          nosql01:2181,nosql02:2181,nosql03:2181

        

修改regionservers配置文件,配置HBase的从节点角色(即nosql02和nosql03)。具体内容如下:

 nosql02

nosql03

    修改regionservers配置文件,配置HBase的从节点角色(即nosql02和nosql03)。具体内容如下:

nosql02

    通过执行“vi ~/.bash_profile”命令,修改用户user_hbase的环境变量配置文件.bash_profile,即配置HBase的环境变量(服务器nosql01、nosql02和nosql03都需要配置,这里以服务器nosql01为例),具体内容如下:

# 配置HBase环境变量

export HBASE_HOME=/opt/servers/hbase_demo/hbase-1.2.1

export PATH=$PATH:$HBASE_HOME/bin

    将HBase的安装目录分发至nosql02、nosql03服务器上。具体命令如下:

scp -r /opt/servers/hbase_demo/hbase-1.2.1/ nosql02:/opt/servers/hbase_demo/

$ scp -r /opt/servers/hbase_demo/hbase-1.2.1/ nosql03:/opt/servers/hbase_demo/

在服务器nosql01、nosql02和nosql03上分别执行“source ~/.bash_profile”命令,使环境配置文件生效。需要注意的是每次切换成user_hbase用户后,都需要执行“source ~/.bash_profile”命令初始化用户环境变量。

(4)在启动HBase集群之前,必须要保证集群中各个节点的时间是同步的,若不同步会抛出ClockOutOfSyncException异常,导致从节点无法启动。因此需要在集群各个节点中执行如下命令来保证时间同步。

# 安装ntpdate

$ sudo yum install ntpdate -y

# 时间同步

$ sudo ntpdate -u cn.pool.ntp.org

(5)启动Zookeeper和Hadoop(启动之前,先确保已经关闭之前开启的Zookeeper服务和Hadoop相关服务),具体命令如下:

# 启动zookeeper

$ zkServer.sh start

# 启动Hadoop相关的服务

$ start-all.sh

(6) 启动HBase集群,具体命令如下:

 $ start-hbase.sh

二、启动HBase集群的方法及步骤;  

在HBase的安装目录下,执行“bin/hbase shell”或者“hbase shell”命令进入到HBase Shell界面,具体效果如图所示。

HBase部署及数据库基本操作_第1张图片HBase部署及数据库基本操作_第2张图片

HBase部署及数据库基本操作_第3张图片三、查看三台虚拟机的所有启动进程。(给出3台机器的启动进程截图)

 HBase部署及数据库基本操作_第4张图片

 HBase部署及数据库基本操作_第5张图片

 

四、进入HBase shell,执行下列操作:

 Row Key

            info

            score

  sno

  name

   sex

  Nosql

 Hadoop

   Linux

  0001

B19040101

  lili

   female

   85

    78

   83

  0002

B19040102

  zhanghai

   male

   90

    88

   78

  0003

B19040103

  dengli

   female

   95

    89

   90

  0004

B19040104

  hangpeng

   male

   79

    78

   75

(1)创建HBase表student,两个列族:info,score;

create 'student','info','score'

HBase部署及数据库基本操作_第6张图片 

(2)在student表中插入上面4行数据;

HBase部署及数据库基本操作_第7张图片

HBase部署及数据库基本操作_第8张图片

 (3)查询student表中的所有数据;

scan 'student'

HBase部署及数据库基本操作_第9张图片

 HBase部署及数据库基本操作_第10张图片

 (4)查询0001行数据的Hadoop课程成绩;

get 'student','0001','score:Hadoop'

 

 (5)查询0001行数据的所有列的值;

get 'student','0001'

HBase部署及数据库基本操作_第11张图片

 (6)将0001行数据的score:Nosql列的值修改90;

put 'student','0001','score:Nosql','90'

HBase部署及数据库基本操作_第12张图片

(7)将0002行数据的score:Hadoop列的值删除;

 delete 'student','0002','score:Hadoop'

HBase部署及数据库基本操作_第13张图片

(8)将0002行数据删除;

deleteall 'student','0002'

HBase部署及数据库基本操作_第14张图片

(9)统计student表数据的行数;

count 'student'

(10)为student表增加一个新列族:memo;

alter 'student','memo'

HBase部署及数据库基本操作_第15张图片

 (11)删除student表

drop 'student'

五、关闭HBase集群的方法及步骤。

可以通过键入exit命令退出shell。

要停止HBase,浏览进入到HBase主文件夹,然后键入以下命令。

./bin/stop-hbase.sh

 

 

 

 

你可能感兴趣的:(hbase,数据库,hadoop)