一、动手实践部署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文件内容具体如下:
修改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界面,具体效果如图所示。
三、查看三台虚拟机的所有启动进程。(给出3台机器的启动进程截图)
四、进入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'
(2)在student表中插入上面4行数据;
(3)查询student表中的所有数据;
scan 'student'
(4)查询0001行数据的Hadoop课程成绩;
get 'student','0001','score:Hadoop'
(5)查询0001行数据的所有列的值;
get 'student','0001'
(6)将0001行数据的score:Nosql列的值修改90;
put 'student','0001','score:Nosql','90'
(7)将0002行数据的score:Hadoop列的值删除;
delete 'student','0002','score:Hadoop'
(8)将0002行数据删除;
deleteall 'student','0002'
(9)统计student表数据的行数;
count 'student'
(10)为student表增加一个新列族:memo;
alter 'student','memo'
(11)删除student表
drop 'student'
五、关闭HBase集群的方法及步骤。
可以通过键入exit命令退出shell。
要停止HBase,浏览进入到HBase主文件夹,然后键入以下命令。
./bin/stop-hbase.sh