Skip to content

Instantly share code, notes, and snippets.

@yijiangwen
Forked from ericzhong/Hbase 安装与使用.md
Created November 18, 2020 01:55
Show Gist options
  • Save yijiangwen/5df8a2e7f701e199c0d950adf0b2095c to your computer and use it in GitHub Desktop.
Save yijiangwen/5df8a2e7f701e199c0d950adf0b2095c to your computer and use it in GitHub Desktop.
Hbase 安装与使用

安装

环境:

CentOS 7.4
Hadoop 2.7.4

注意:安装前先确认与 Hadoop 版本的兼容性

下载:

wget http://mirror.ox.ac.uk/sites/rsync.apache.org/hbase/stable/hbase-1.2.6-bin.tar.gz
tar xvf hbase-1.2.6-bin.tar.gz
cd hbase-1.2.6/

设置环境变量:

echo "export PATH=`pwd`/bin:\$PATH" | sudo tee /etc/profile.d/hbase.sh
source /etc/profile.d/hbase.sh

单机模式

修改 conf/hbase-site.xml

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:///opt/hbase-${user.name}/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/opt/hbase-${user.name}/zookeeper</value>
  </property>
</configuration>

设置目录权限:

sudo chmod 777 /opt

启动:

$ start-hbase.sh
$ jps             # 检查启动的进程
... HMaster

测试:

$ hbase shell
> create 'test', 'cf'
> list 'test'
> put 'test', 'row1', 'cf:a', 'value1'
> put 'test', 'row2', 'cf:b', 'value2'
> put 'test', 'row3', 'cf:c', 'value3'
> scan 'test'
> get 'test', 'row1'
> disable 'test'
> enable 'test'
> disable 'test'
> drop 'test'
> quit

停止服务:

stop-hbase.sh

伪集群模式

先停止服务:

stop-hbase.sh

hbase-site.xml 中增加:

  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>

启动服务:

$ start-hbase.sh
$ jps              # 检查启动的进程
... HMaster
... HQuorumPeer
... HRegionServer

检查目录是否成功创建:

hdfs dfs -ls /hbase

hbase shell 检查是否可操作。

启动额外的 HMaster 服务:

# 每个 HMaster 使用两个端口,默认 16000,16010
# 参数个数表示额外启动的服务数量,值表示每个端口的 offset
# 16002,16012 - 16003,16013 - 16005,16015
local-master-backup.sh start 2 3 5    # start|stop|restart|autorestart|foreground_start

启动额外的 RegionServer 服务:

# 每个 RegionServer 使用两个端口,默认 16201,16301
# 参数个数表示额外启动的服务数量,值表示每个端口的 offset
# 16202,16302 - 16203,16303 - 16205,16305
local-regionservers.sh start 2 3 5    # start|stop|restart|autorestart|foreground_start

HRegionServer 管理 HMsater 指定的文件存储上的数据,一般每个节点运行一个 HRegionServer。

检查启动的服务数量:

$ jps | grep HMaster | wc -l
4
$ jps | grep HRegionServer | wc -l
4

Troubleshooting

Unable to create data directory /opt/hbase/zookeeper/zookeeper_0/version-2

chmod 777 /opt

will not be able to find this ZK quorum

不要自己启动 zookeeper(关闭它),让 hbase 启动和管理:

export HBASE_MANAGES_ZK=true

Error:KeeperErrorCode = NoNode for /hbase/backup-masters/...

可能是 Hbase 和 Hadoop 的版本不兼容,换个版本试试看。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment