环境信息
使用的 hadoop 完全分布式集群,节点限制,全安装在一起 用户 hadoop
1 | 192.168.2.241 hadoop01 # HBase master, RegionServer |
HMaster: 作为一个管理节点,主要实现对 RegionServer 的监控、处理 RegionServer 故障转移、处理元数据的变更、处理 region 的分配或转移、在空闲时间进行数据的负载均衡、通过 ZooKeeper 发布自己的位置给客户端等功能。
HRegionServer: 负责 table 数据的实际读写,管理 Region。
在 HBase 分布式集群中,HRegionServer 一般跟 DataNode 在同一个节点上,目的是实现数据的本地性,提高读写效率。
Hbase 安装
注意版本匹配 https://hbase.apache.org/book.html#basic.prerequisites
官网https://hbase.apache.org/downloads.html
所有节点执行, 安装以及配置文件1
2
3
4
5
6
7
8
9
10
11
12
13
14wget --no-check-certificate https://dlcdn.apache.org/hbase/2.4.12/hbase-2.4.12-bin.tar.gz
mkdir -p /opt/bigdata/hbase
tar zxvf hbase-2.4.12-bin.tar.gz -C /opt/bigdata/hbase/
cd /opt/bigdata/hbase/
ln -s hbase-2.4.12 current
chown -R hadoop:hadoop /opt/bigdata/hbase/
cat > /etc/profile.d/hbase_env.sh<<-eof
export HBASE_HOME=/opt/bigdata/hbase/current
export HBASE_CONF_DIR=/etc/hbase/conf
export PATH=\$PATH:\$HBASE_HOME/bin
eof
修改配置文件
创建文件夹1
mkdir /etc/hbase/conf
放入以下文件
- hbase-env.sh
- hbase-site.xml
- regionservers
- hdfs-site.xml
- backup-masters
hbase-env.sh : 用来设置 HBase 的一些 Java 环境变量信息,以及 JVM 内存信息1
2
3export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -Xmx10g -XX:ReservedCodeCacheSize=256m"
export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -Xmx20g -Xms20g -Xmn256m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:ReservedCodeCacheSize=256m"
HBASE_MANAGES_ZK=false
hbase-site.xml1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://bigdata/hbase</value>
<description>The directory shared by RegionServers.
</description>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop01,hadoop02,hadoop03</value>
</property>
<property>
<name>hbase.client.scanner.caching</name>
<value>100</value>
</property>
<property>
<name>hbase.regionserver.global.memstore.upperLimit</name>
<value>0.3</value>
</property>
<property>
<name>hbase.regionserver.global.memstore.lowerLimit</name>
<value>0.25</value>
</property>
<property>
<name>hfile.block.cache.size</name>
<value>0.5</value>
</property>
<property>
<name>hbase.master.maxclockskew</name>
<value>180000</value>
<description>Time difference of regionserver from master</description>
</property>
<property>
<name>hbase.client.scanner.timeout.period</name>
<value>300000</value>
<description>default is 60s</description>
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>1800000</value>
<description>default is 90s</description>
</property>
<property>
<name>hbase.rpc.timeout</name>
<value>300000</value>
<description>default is 60s</description>
</property>
<property>
<name>hbase.hregion.memstore.flush.size</name>
<value>268435456</value>
<description>default is 128M</description>
</property>
<property>
<name>hbase.hregion.max.filesize</name>
<value>6442450944</value>
</property>
<property>
<name>hbase.regionserver.handler.count</name>
<value>100</value>
<description>default is 30</description>
</property>
<!-- 测试需要添加此项,不然报错ServerNotRunningYetException: Server is not running -->
<property>
<name>hbase.wal.provider</name>
<value>filesystem</value>
</property>
</configuration>
regionservers1
2
3hadoop01
hadoop02
hadoop03
backup-masters1
hadoop02
hdfs-site.xml : 做 软链接1
ln -s /etc/hadoop/conf/hdfs-site.xml /etc/hbase/conf
Hbase 启动
启动 master (hadoop01,hadoop02)
1
2
3$ /opt/bigdata/hbase/current/bin/hbase-daemon.sh start master
$ jps
95824 HMaster启动 HRegionServer 服务 (hadoop01,hadoop02,hadoop03)
1 | $ /opt/bigdata/hbase/current/bin/hbase-daemon.sh start regionserver |
提示报错,将内存调小,只用来测试安装
修改 /etc/hbase/conf/hbase-env.sh
1 | export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -Xmx1g -XX:ReservedCodeCacheSize=256m" |
重新启动
验证
hbase shell1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18[hadoop@hadoop02 bin]$ hbase shell
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.4.12, r8382f55b15be6ae190f8d202a5e6a40af177ec76, Fri Apr 29 19:34:27 PDT 2022
Took 0.0010 seconds
hbase:001:0> create 'test','data'
Created table test
Took 0.8866 seconds
=> Hbase::Table - test
hbase:002:0> list
TABLE
test
1 row(s)
Took 0.0149 seconds
=> ["test"]
hbase:003:0>
网页验证

