任务描述:
你作为某公司运维工程师,需在已安装 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'}