安装 和 配置 HBase
Posted 一乐乐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装 和 配置 HBase相关的知识,希望对你有一定的参考价值。
安装 和 配置 HBase
一、安装 HBase
1, 下载、(解压or安装)HBase 数据库:
①(在Linux 系统下的火狐浏览器打开)官网: Index of /dist/hbase (apache.org)
② 解压安装包hbase-2.2.2-bin.tar.gz至路径 /usr/local,命令如下:
cd ~
sudo tar -zxf ~/下载/hbase-2.2.2-bin.tar.gz -C /usr/local
③ 将解压的文件名hbase-2.2.2改为hbase,以方便使用,命令如下:
cd /usr/local
sudo mv ./hbase-2.2.2 ./hbase
④ 下面把hbase目录权限赋予给hadoop用户:
cd /usr/local
sudo chown -R hadoop ./hbase
2, 配置环境变量(好处:启动hbase就无需到/usr/local/hbase目录下,大大的方便了hbase的使用)
■ 编辑~/.bashrc文件
vim ~/.bashrc
●编辑~/.bashrc文件时的注意事项:
① 如果没有引入过PATH请在~/.bashrc文件尾行添加如下内容:export PATH=$PATH:/usr/local/hbase/bin
② 如果已经引入过PATH请在export PATH这行追加/usr/local/hbase/bin,这里的“:”是分隔符。如下图:
■ 执行source命令使上述配置在当前终端立即生效,命令如下:
source ~/.bashrc
3,添加HBase权限:
cd /usr/local
sudo chown -R hadoop ./hbase #将hbase下的所有文件的所有者改为hadoop,hadoop是当前用户的用户名。
4,查看HBase版本,确定hbase安装成功,命令如下:
/usr/local/hbase/bin/hbase version
(该过程遇到的bug请查看文章:HBase 安装之后版本的验证的bug:(错误的替换、找不到或无法加载主类、SLF4J) )
二、配置 HBase(重点讨论单机模式和伪分布式模式)
✿ 单机模式和伪分布式模式:都需要配置 jdk、ssh、hadoop
■ 单机模式配置:
- 配置/usr/local/hbase/conf/hbase-env.sh:配置JAVA环境变量,并添加配置HBASE_MANAGES_ZK为true。(进入 hbase-env.sh 文件后,添加如下:)
vim /usr/local/hbase/conf/hbase-env.sh
(进入 hbase-env.sh 文件后,添加如下:)
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_301 export HBASE_MANAGES_ZK=true
(添加完成后保存退出即可)
- 配置/usr/local/hbase/conf/hbase-site.xml:设置属性hbase.rootdir,用于指定HBase数据的存储位置
- 因为如果不设置的话,hbase.rootdir默认为/tmp/hbase-${user.name},这意味着每次重启系统都会丢失数据。咱设置为HBase安装目录下的hbase-tmp文件夹即(/usr/local/hbase/hbase-tmp)
(打开并编辑hbase-site.xml)
vim /usr/local/hbase/conf/hbase-site.xml
<configuration> <property> <name>hbase.rootdir</name> <value>file:///usr/local/hbase/hbase-tmp</value> </property> </configuration>
□ 测试一下:测试运行单机模式的HBase:
cd /usr/local/hbase bin/start-hbase.sh bin/hbase shell
问题:bin/hbase shell用于打开shell命令行模式 报错:WARN [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable。
解决:警告级别的错误,不重要,解决:直接忽略
■ 伪分布式模式配置:
- 配置/usr/local/hbase/conf/hbase-env.sh:配置JAVA_HOME,HBASE_CLASSPATH,HBASE_MANAGES_ZK
- (HBASE_CLASSPATH设置为本机HBase安装目录下的conf目录(即/usr/local/hbase/conf))
(用命令vi打开hbase-env.xml)
-
vim /usr/local/hbase/conf/hbase-env.sh
- (进入 hbase-env.sh 文件后,添加如下:)
-
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162 export HBASE_CLASSPATH=/usr/local/hbase/conf export HBASE_MANAGES_ZK=true
- (HBASE_CLASSPATH设置为本机HBase安装目录下的conf目录(即/usr/local/hbase/conf))
- 配置/usr/local/hbase/conf/hbase-site.xml:hbase.rootdir指定HBase的存储目录;hbase.cluster.distributed设置集群处于分布式模式;
- hbase.unsafe.stream.capability.enforce这个属性的设置,是为了避免出现启动错误。
- (用命令vi打开hbase-site.xml)
-
vim /usr/local/hbase/conf/hbase-site.xml
- (进入 hbase-site.xml 文件后,添加如下:)
-
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property> </configuration>
□ 测试一下:测试运行伪分布式模式的HBase:
这里启动关闭Hadoop和HBase的顺序一定是:启动Hadoop—>启动HBase—>关闭HBase—>关闭Hadoop
① 启动Hadoop:
ssh localhost cd /usr/local/hadoop ./sbin/start-dfs.sh
② 启动HBase:
cd /usr/local/hbase
bin/start-hbase.sh
✿ 启动成功,输入命令jps
然后再输入命令:bin/hbase shell
看到如下图所示即成功
③ 关闭HBase:
bin/stop-hbase.sh
HBase安装配置
HBase安装配置
HBase的安装有三种模式:单机模式、伪分布式模式、分布式模式。
其中,HBase在单机模式下不使用HSFS,直接将安装文件解压,改个hbase.xml文件就可以运行了;默认情况下HBAse数据是存储在根目录的tmp文件夹下,可以通过start-hbase.sh和stop-hbase.sh命令启动和关闭HBase;而伪分布式和分布式模式下的HBase需要HDFS系统;下面是按伪分布式进行安装配置HBase,配置好了三个集群:tjt01、tjt02、tjt03,hbase安装在tjt02机器上运行。
1、伪分布式安装
HBase下载,官网地址:http://hbase.apache.org/
这里下载的是hbase-1.2.6版本:hbase-1.2.6-bin.tar.gz
1.1 使用HBase自带的zookeeper
HBase使用zookeeper进行管理,HBase本身自带了一个zookeeper,So伪分布式安装可以直接使用HBase自带的zookeeper,无需单独安装zookeeper。
1.2 解压HBase
将HBase hbase-1.2.6版本解压到/usr/local目录下:
[[email protected] opt]# tar -zxvf hbase-1.2.6-bin.tar.gz -C /usr/local
将目录命名为hbase目录:
[[email protected] opt]# cd /usr/local/
[[email protected] local]# mv hbase-1.2.6 hbase
1.3 修改配置文件:
修改配置文件/usr/local/hbase/conf/hbase-en.sh
[[email protected] local]# vi /usr/local/hbase/conf/hbase-env.sh
修改内容如下:
export JAVA_HOME=/opt/jdk1.8.0_181
export HBASE_MANAGES_ZK=true
修改配置文件/usr/local/hbase/conf/hbase-site.xml
[[email protected] local]# vi /usr/local/hbase/conf/hbase-site.xml
增加如下配置:
<property>
<name>hbase.rootdir</name>
<value>hdfs://tjt01:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>tjt02</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
1.4 PATH路径到添加
/etc/profile文件增加:export PATH=$PATH:/usr/local/hbase/bin
[[email protected] local]# vi /etc/profile
[[email protected] local]# source /etc/profile
[[email protected] local]#
1.5 启动HBase
启动HBase之前记得启动hdfs,start-hdfs.sh
[[email protected] local]# start-hbase.sh
tjt02: starting zookeeper, logging to /usr/local/hbase/bin/../logs/hbase-root-zookeeper-tjt02.out
starting master, logging to /usr/local/hbase/bin/../logs/hbase-root-master-tjt02.out
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
starting regionserver, logging to /usr/local/hbase/bin/../logs/hbase-root-1-regionserver-tjt02.out
[[email protected] local]#
使用jps命令查看HBase是否启动成功:
HRegionServer、HQuorumPeer、HMaster
1.6 验证HBase
关闭机器tjt02的防火墙:
[[email protected] local]# systemctl stop firewalld
[[email protected] local]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[[email protected] local]#
访问HBase首页: http://172.16.114.131:16010/
使用HBase命令行再次验证:
[[email protected] local]# hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hbase/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/hadoop-2.7.6/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
HBase Shell; enter ‘help<RETURN>‘ for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.2.6, rUnknown, Mon May 29 02:25:32 CDT 2017
hbase(main):001:0>
Now,HBase安装配置OK!
以上是关于安装 和 配置 HBase的主要内容,如果未能解决你的问题,请参考以下文章