任务描述:

你作为某公司运维工程师,需在已安装 hadoop 环境下部署 hbase。本环节需要使用 root 用
户完成相关配置,具体部署要求如下:

1. 解压HBase安装包到“/opt/”路径
2. 配置HBase环境变量
3. 修改HBase相应配置文件
4. 配置HBase数据保存到Hadoop文件系统中
5. 启动Hadoop、HBase
6. 查看Hadoop、HBase相关进程
7. 进入HBase shell命令行界面,并创建任意数据表


答案:

步骤一:HBase解压

上传HBase、Zookeeper安装包到Linux的 /opt 目录下。
解压HBase、Zookeeper:

步骤二:配置环境变量

环境变量文件是 /etc/profile文件和/etc/profile.d目录下以.sh结尾的文件。所以,在
/etc/profile.d 目录下创建 mv_env.sh 文件,并添加如下所示的内容
在环境变量配置文件中添加如下所示的配置内容:
保存退出。

步骤三:配置zookeeper

进入到 zookeeper配置文件目录
复制配置文件:

进入到 /opt 目录

cd /opt

解压hbase、zookeeper安装包

tar -zxf hbase-2.2.5-bin.tar.gz
tar -zxf zookeeper-3.4.14.tar.gz

/etc/profile.d 目录下创建并打开 mv_env.sh 文件

[root@hadoop ~]# vim /etc/profile.d/mv_env.sh
export HBASE_HOME=/opt/hbase-2.2.5
export PATH=$PATH:$HBASE_HOME/bin
export ZOOKEEPER_HOME=/opt/zookeeper-3.4.14
export PATH=$PATH:$ZOOKEEPER_HOME/bin
cd /opt/zookeeper-3.4.14/conf

打开配置文件:
修改 第12行 内容如下所示:
保存退出。


步骤四:配置HBase

进入hbase配置文件所在目录:
修改配置文件 hbase-env.sh
修改完成之后,先按 ESC, 然后输入 /ZK=true ,在文档中查询,如果显示 E486: 找不到模
式: ZK=true 则表示文件修改完成。然后保存退出。
修改配置文件 hbase-site.xml
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
dataDir=/opt/zookeeper-3.4.14/tmp
cd /opt/hbase-2.2.5/conf

打开配置文件

vim hbase-env.sh

将第27行的内容修改为如下所示,如果有注释,则放开注释

export JAVA_HOME=/opt/jdk1.8.0_11

将126行的内容修改为如下所示,如果有注释,则放开注释

export HBASE_MANAGES_ZK=false

打开配置文件

vim hbase-env.sh
保存退出。
修改配置: regionservers
步骤五:启动HBase、Hadoop、Zookeeper
hbase的运行依赖于hdfs、zookeeper,所以启动的指令为:

删除 和 标签之间的内容,然后把下面的内容添加进去

注意:配置文件中使用的hadoop为虚拟机的主机名

<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop:9000/hbase</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop:2181</value>
</property>

打开配置文件:

vim regionservers

将源文件中得内容删除,然后写入下面的内容

注意:配置文件中得hadoop为虚拟机的主机名

hadoop
start-dfs.sh # 启动HDFS,需要提前安装好
zkServer.sh start # 启动zookeeper服务端
start-hbase.sh # 启动hbase
然后通过jps 查看:进程为:
执行指令暂停hdfs、zookeeper、hbase集群:
步骤六:HBase指令操作
进入HBase SHELL界面:
在HBase shell界面中,创建表名为 stu,列族为 base_info 和 score_info的表。
在HBase shell界面中,查询所有的表信息:

HDFS进程

NameNode
SecondaryNameNode
DataNode

Java进程

Jps

HBase进程

HMaster
HRegionServer

zookeeper进程

QuorumPeerMain
stop-hbase.sh # 暂停hbase
zkServer.sh stop # 暂停zookeeper
stop-dfs.sh # 暂停HDFS

使用 hbase shell 指令进入 shell界面

[root@hadoop ~] # hbase shell
hbase>
hbase> create 'stu', 'base_info', 'score_info'

查询 stu 表的详细信息:

hbase> list
TABLE
stu
1 row(s)
Took 0.0482 seconds
hbase> desc 'stu'
Table stu is ENABLE
stu
COLUMN FAMILIES DESCRIPTION
{NAME => 'base_info', BLOOMFILTER => 'ROW', IN_MEMORY => 'false',
VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING
=> 'NONE', COMPRESSION => 'NONE', TTL => 'FOREVER', MIN_VERSIONS =>
'0'. BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE
=> '0'}
{NAME => 'core_info', BLOOMFILTER => 'ROW', IN_MEMORY => 'false',
VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING
=> 'NONE', COMPRESSION => 'NONE', TTL => 'FOREVER', MIN_VERSIONS =>
'0'. BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE
=> '0'}