本指南介绍了HBase,并详细指引读者安装HBase. 前面第二章学习指南已经指导大家安装Linux操作系统,并安装配置了Hadoop。相关安装可以查看“大数据-01-安装Hadoop”。
一、安装并配置HBase
1. HBase安装
1.1 解压安装包hbase-1.1.2-bin.tar.gz至路径 /usr/local,命令如下:
sudo cp hbase-1.1.2-bin.tar.gz /usr/local
cd /usr/local
sudo tar -zxf hbase-1.1.2-bin.tar.gz
1.2 将解压的文件名hbase-1.1.2改为hbase,以方便使用,命令如下:
sudo mv /usr/local/hbase-1.1.2 /usr/local/hbase
1.3 配置环境变量
将hbase下的bin目录添加到path中,这样,启动hbase就无需到/usr/local/hbase目录下,大大的方便了hbase的使用。教程下面的部分还是切换到了/usr/local/hbase目录操作,有助于初学者理解运行过程,熟练之后可以不必切换。
编辑~/.bashrc文件
vim ~/.bashrc
如果没有引入过PATH请在~/.bashrc文件尾行添加如下内容, 如果已经引入过PATH请在export PATH这行追加/usr/local/hbase/bin,这里的“:”是分隔符。
export PATH=$PATH:/usr/local/hbase/bin
编辑完成后,再执行source命令使上述配置在当前终端立即生效,命令如下:
source ~/.bashrc
1.4 添加HBase权限
cd /usr/local
sudo chown -R hadoop ./hbase #将hbase下的所有文件的所有者改为hadoop,hadoop是当前用户的用户名。
1.5 查看HBase版本,确定hbase安装成功,命令如下:
/usr/local/hbase/bin/hbase version
命令执行后,输出信息截图如下:
2. HBase配置
HBase有三种运行模式,单机模式、伪分布式模式、分布式模式。作为学习,我们重点讨论分布式模式。相关安装可以查看“大数据-01-安装Hadoop”。
以下先决条件很重要,比如没有配置JAVA_HOME环境变量,就会报错。
– jdk
– Hadoop( 单机模式不需要,伪分布式模式和分布式模式需要)
– SSH
2.1分布模式配置
- 配置/usr/local/hbase/conf/hbase-env.sh 。配置JAVA环境变量,并添加配置HBASE_MANAGES_ZK为true,用vi命令打开并编辑hbase-env.sh,命令如下:
vi /usr/local/hbase/conf/hbase-env.sh
配置JAVA环境变量,jdk的安装目录默认是 /usr/lib/jvm/java-8-openjdk-amd64
, 则JAVA _HOME =/usr/lib/jvm/java-8-openjdk-amd64
,配置HBASE_MANAGES_ZK为true,表示由hbase自己管理zookeeper,不需要单独的zookeeper。hbase-env.sh中本来就存在这些变量的配置,大家只需要删除前面的#并修改配置内容即可(#代表注释):export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export HBASE_CLASSPATH=/usr/local/hbase/conf export HBASE_MANAGES_ZK=true export HBASE_HOME=/usr/local/hbase export HADOOP_HOME=/usr/local/hadoop export HBASE_LOG_DIR=/usr/local/hbase/logs
添加完成后保存退出即可。
- 配置/usr/local/hbase/conf/hbase-site.xml
打开并编辑hbase-site.xml,命令如下:vi /usr/local/hbase/conf/hbase-site.xml
在启动HBase前需要设置属性hbase.rootdir,用于指定HBase数据的存储位置,因为如果不设置的话,hbase.rootdir默认为/tmp/hbase-${user.name},这意味着每次重启系统都会丢失数据。此处设置为HBase安装目录下的hbase-tmp文件夹即(/usr/local/hbase/hbase-tmp),添加配置如下:
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://Master:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.master</name> <value>Master:60000</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>Master,Slave1</value> </property> </configuration>
- 配置regionservers
vim /usr/local/hbase/conf/regionservers
修改内容为
Master
Slave1 - 复制hbase到从节点中
scp -r /usr/local/hbase Slave1:/usr/local/ - 接下来测试运行。首先切换目录至HBase安装目录/usr/local/hbase;再启动HBase。命令如下:
cd /usr/local/hbase bin/start-hbase.sh
启动后,master上进程和slave进程列表
Slave1服务器上的结果如下:
注意!!!
因为hbase依赖于hadoop,因此启动和停止都是需要按照顺序进行
如果安装了独立的zookeeper
启动顺序: hadoop-> zookeeper-> hbase
停止顺序:hbase-> zookeeper-> hadoop
使用自带的zookeeper
启动顺序: hadoop-> hbase
停止顺序:hbase-> hadoop
重启hbase
原文地址:https://www.cnblogs.com/freebird92/p/8886179.html