下载hbase-2.2.1-bin.tar.gz并执行安装命令:

[hadoop@hadoop01 ~]$ tar -zxvf hbase-2.2.-bin.tar.gz

查看安装目录:

[hadoop@hadoop01 ~]$ cd hbase-2.2.1
[hadoop@hadoop01 hbase-2.2.1]$ ls -l
total 872
drwxr-xr-x. 4 hadoop hadoop 4096 Sep 10 14:26 bin
-rw-r--r--. 1 hadoop hadoop 128367 Sep 9 09:16 CHANGES.md
drwxr-xr-x. 2 hadoop hadoop 178 Sep 10 14:26 conf
drwxr-xr-x. 7 hadoop hadoop 80 Sep 10 14:28 hbase-webapps
-rw-rw-r--. 1 hadoop hadoop 262 May 2 2018 LEGAL
drwxrwxr-x. 6 hadoop hadoop 8192 Sep 21 23:30 lib
-rw-rw-r--. 1 hadoop hadoop 129312 Sep 10 14:31 LICENSE.txt
-rw-rw-r--. 1 hadoop hadoop 519346 Sep 10 14:31 NOTICE.txt
-rw-r--r--. 1 hadoop hadoop 1477 Sep 9 09:16 README.txt
-rw-r--r--. 1 hadoop hadoop 82873 Sep 9 09:16 RELEASENOTES.md

进入安装目录下conf,编辑hbase-env.sh、hbase-site、regionservers文件

[hadoop@hadoop01 hbase-2.2.1]$ cd conf
[hadoop@hadoop01 conf]$ ls
hadoop-metrics2-hbase.properties hbase-site.xml
hbase-env.cmd log4j.properties
hbase-env.sh regionservers
hbase-policy.xml

hbase-env.sh文件

[hadoop@hadoop01 conf]$ gedit hbase-env.sh
修改的内容: export JAVA_HOME=/usr/java/jdk1.8.0_11/
export HBASE_MANAGES_ZK=false #flase表示使用独立的zookeeper

hbase-site文件:

[hadoop@hadoop01 conf]$ gedit hbase-site.xml
编辑内容:
<configuration>
<property>
<name>hbase.master</name>#hbasemaster的主机和端口
<value>hadoop01:16010</value>
</property>
<property>
<name>hbase.rootdir</name>#共享目录,持久化hbase数据
<value>hdfs://hadoop01:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>#是否分布式运行,false即为单机
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>#zookeeper地址
<value>hadoop01,hadoop02,hadoop03</value>
</property>
<property>
<name>hbase.master.maxclockskew</name>#时间同步允许的时间差
<value>180000</value>
</property>
<!--hbase.unsafe.stream.capability.enforce:使用本地文件系统设置为false,使用hdfs设置为true。
但根据HBase 官方手册的说明:HBase 从2.0.0 开始默认使用的是asyncfs。-->

<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
<description>
Controls whether HBase will check for stream capabilities (hflush/hsync).
Disable this if you intend to run on LocalFileSystem, denoted by a rootdir
with the 'file://' scheme, but be mindful of the NOTE below.
WARNING: Setting this to false blinds you to potential data loss and
inconsistent system state in the event of process and/or node failures. If
HBase is complaining of an inability to use hsync or hflush it's most
likely not a false positive.
</description>

</property>
</configuration>

注:我们测试环境里用的是HBase 2.2.1, 所以这里虽然是集群环境,也直接将该参数设置false,然后重启Hbase Master,恢复正常。 或者使用版本小于2.0.0的HBase,也可以避免出现这种错误

regionservers文件

[root@hadoop01 conf]# gedit regionservers
编辑内容为:
hadoop02
hadoop03

配置环境变量:

[hadoop@hadoop01 ~]$ gedit ~/.bash_profile
文本需要添加的内容:
#hbase
export HBASE_HOME=/home/hadoop/hbase-2.2.1
export PATH=$HBASE_HOME/bin:$PATH
export HADOOP_CLASSPATH=$HBASE_HOME/lib/*
[hadoop@hadoop01 ~]$ source ~/.bash_profile

拷贝到其他节点上:
[hadoop@hadoop01 ~]$ scp -r hbase-2.2.1 hadoop02:~/
[hadoop@hadoop01 ~]$ scp -r hbase-2.2.1 hadoop03:~/

启动停止hbase命令:

[hadoop@hadoop01 ~]$ cd ~/hbase-2.2.1
[hadoop@hadoop01 hbase-2.2.1]$ bin/start-hbase.sh --启动hbase
[hadoop@hadoop01 hbase-2.2.1]$ jps --显示进程
16720 ResourceManager
16866 NodeManager
19427 QuorumPeerMain --zookeeper进程
22387 Jps
16455 SecondaryNameNode
16075 NameNode
22062 HMaster --hbase进程
[hadoop@hadoop01 hbase-2.2.1]$ bin/stop-hbase.sh

注:启动报如下异常

java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper operation during component failures, but the underlying filesystem does not support doing so. Please check the config value of 'hbase.procedure.store.wal.use.hsync' to set the desired level of robustness and ensure the config value of 'hbase.wal.dir' points to a FileSystem mount that can provide it.

hbase-site.xml增加配置 

<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>

hbase网页版网:http://192.168.1.100:16010/master-status
注:HBASE1.0之后的版本web端访问的接口变更为16010,192.168.1.100为我的linux端口地址

启动并测试hbase:

[hadoop@hadoop01 hbase-2.2.1]$ jps --查看进程HMaster是否启动
11264 HMaster
11573 Jps
8566 DataNode
8426 NameNode
9642 QuorumPeerMain
8795 SecondaryNameNode
9053 ResourceManager
9197 NodeManager
[hadoop@hadoop01 hbase-2.2.1]$ hbase shell --进入shell模式
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/hadoop/hadoop-3.2.0/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/hadoop/hbase-2.2.1/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.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
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
Version 2.2.1, rf93aaf770cce81caacbf22174dfee2860dbb4810, 2019年 09月 10日 星期二 14:28:27 CST
Took 0.0027 seconds
hbase(main):001:0> create 'test1','f11' --创建test1表
Created table test1
Took 2.8262 seconds
=> Hbase::Table - test1
hbase(main):002:0> list --显示表
TABLE
test1
1 row(s)
Took 0.0274 seconds
=> ["test1"]
hbase(main):003:0> put 'test1','id001','f11:uid','001' --插入数据
Took 0.2699 seconds
hbase(main):004:0> scan 'test1' --查看数据
ROW COLUMN+CELL
id001 column=f11:uid, timestamp=1569686397247, value=001
1 row(s)
Took 0.0697 seconds
hbase(main):005:0> describe 'test1' --查看表结构
Table test1 is ENABLED
test1
COLUMN FAMILIES DESCRIPTION
{NAME => 'f11', VERSIONS => '1', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE', CACHE_DATA_ON_WRITE => 'false', DATA_BLO
CK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLOOMFILTER => 'ROW', CACHE_INDEX_ON_WRITE => 'false', IN_MEMORY => 'false', CACHE_
BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE => '65536'} 1 row(s) QUOTAS
0 row(s)
Took 0.1465 seconds
hbase(main):006:0> drop 'test1' --删除表 ERROR: Table test1 is enabled. Disable it first. For usage try 'help "drop"' Took 0.0235 seconds
注:这里删除表失败了,根据提示,现在表状态为有效,无法删除。必须先将test1表状态失效才能成功删除。 hbase(main):008:0> disable 'test1'
Took 1.3230 seconds
hbase(main):009:0> drop 'test1'
Took 0.9026 seconds
hbase(main):010:0> list
TABLE
0 row(s)
Took 0.0111 seconds
=> []
hbase(main):011:0> exit --退出shell模式
[hadoop@hadoop01 hbase-2.2.1]$

【hbase】hbase-2.2.1配置独立的zookeeper的安装与测试的更多相关文章

  1. 关于hbase中的hbase-site.xml 配置详解

    该文档是用Hbase默认配置文件生成的,文件源是 hbase-default.xml hbase.rootdir 这个目录是region server的共享目录,用来持久化HBase.URL需要是'完 ...

  2. 通过tarball形式安装HBASE Cluster(CDH5.0.2)——HBASE 真分布式集群配置

    一.应该先配置好zookeeper并成功启动,否则hbase无法启动 二.配置HBASE集群 1,配置hbase-env.sh,下面是最少配置项目 [hadoop@zk1 conf]$ vim hba ...

  3. 大数据中HBase集群搭建与配置

    hbase是分布式列式存储数据库,前提条件是需要搭建hadoop集群,需要Zookeeper集群提供znode锁机制,hadoop集群已经搭建,参考 Hadoop集群搭建 ,该文主要介绍Zookeep ...

  4. CentOS6安装各种大数据软件 第六章:HBase分布式集群的配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  5. hbase安装 配置报错 zookeeper启动报错

    zookeeper安装问题,使用独立安装的zookeeper export HBASE_MANAGES_ZK=false   #如果使用独立安装的zookeeper这个地方就是false 创建zook ...

  6. hbase、pig、hive配置与应用

    ------------------HBASE---------- [root@iClient~]#sudo yum install hbase #iClient安装Hbase客户端 [root@cM ...

  7. 配置独立于系统的PYTHON环境

    配置独立于系统的PYTHON环境 python 当前用户包 一种解决方案是在利用本机的python环境的基础上,将python的包安装在当前user的.local文件夹下 一共有两种方式来实现pip的 ...

  8. docker容器配置独立ip

    一般安装docker后都会通过端口转发的方式使用网络,比如 “-p 2294:22” 就将2294抓发到22端口来提供sftp服务,这样使用起来没有问题.但端口号很难记忆,如果前边有nginx等抓发工 ...

  9. 咏南中间件更新日志--将数据库配置独立成DBCONFIG.EXE

    咏南中间件更新日志--将数据库配置独立成DBCONFIG.EXE.

随机推荐

  1. Spring cloud微服务安全实战-7-11PinPoint+SpringBoot环境搭建

    微服务的最后一个组件, 调用链监控,一个请求进来以后,经过N多个微服务,例如a调用了b.b又调用了c,那么在这个过程中看到,整个的调用的链路,然后每一段调用所耗费的时间,帮你去分析你的系统如果出现瓶颈 ...

  2. [LeetCode] 774. Minimize Max Distance to Gas Station 最小化加油站间的最大距离

    On a horizontal number line, we have gas stations at positions stations[0], stations[1], ..., statio ...

  3. 【SSH进阶之路】Spring的IOC逐层深入——依赖注入的两种实现类型(四)

    上篇博文,我们介绍了为什么使用IOC容器,和IOC的设计思想以及IOC容器的优缺点,并且给大家转载了一篇介绍IOC原理的博文,我们这篇主要给大家依赖注入的两种方式,以及他们的优缺点. 我们这篇博文还是 ...

  4. SpringBoot系列教程JPA之update使用姿势

    原文: 190623-SpringBoot系列教程JPA之update使用姿势 上面两篇博文拉开了jpa使用姿势的面纱一角,接下来我们继续往下扯,数据插入db之后,并不是说就一层不变了,就好比我在银行 ...

  5. [New!!!]欢迎大佬光临本蒟蒻的博客(2019.11.27更新)

    更新于2019.12.22 本蒟蒻在博客园安家啦!!! 本蒟蒻的博客园主页 为更好管理博客,本蒟蒻从今天开始,正式转入博客园. 因为一些原因,我的CSDN博客将彻底不会使用!!!(带来不便,敬请谅解) ...

  6. SpringBoot整合AbstractRoutingDataSource实现读写分离

    在配置数据源时候,已经把主库和从库的数据源配置到DynamicDataSource里了 利用AbstractRoutingDataSource实现动态切换数据源,可以通过注解或者根据方法名前缀切换要使 ...

  7. [转载] - Entity Framework 性能优化建议

    1.对象管理机制-复杂为更好的管理模型对象,EF提供了一套内部管理机制和跟踪对象的状态,保存对象一致性,使用方便,但是性能有所降低. 2.执行机制-高度封装在EF中,所有的查询表达式都会经过语法分析. ...

  8. Django框架深入了解_02(DRF之序列化、反序列化)

    序列化:将Python对象准换成json格式的字符串,反之即为反序列化 DRF的序列化使用过程: 使用drf的序列化组件 -1 新建一个序列化类继承Serializer -2 在类中写要序列化的字段 ...

  9. pandas再次学习

    numpy.scipy官方文档  pandas官方网站  matplotlib官方文档 一.数据结构 二.数据处理 1.数据获取(excel文件数据基本信息) #coding=utf-8 import ...

  10. C++类的组合、前向引用声明

    3.5类的组合 Part1.应用背景 对于复杂的问题,往往可以逐步划分为一系列稍微简单的子问题. 解决复杂问题的有效方法是将其层层分解为简单的问题组合,首先解决简单问题复杂问题也就迎刃而解了. 在面向 ...