1、安装前准备
- 老规矩,新建hadoop01、hadoop02、hadoop03虚拟机,并且配置好对应的免密登录( http://blog.kdyzm.cn/post/19 )以及hosts
- 安装jdk:http://blog.kdyzm.cn/post/53
- 安装zookeeper:http://blog.kdyzm.cn/post/127
- 安装hadoop:http://blog.kdyzm.cn/post/129
2、下载安装包
官网地址:https://hbase.apache.org/downloads.html
历史版本下载:https://archive.apache.org/dist/hbase/
下载安装包:https://archive.apache.org/dist/hbase/2.5.0/hbase-2.5.0-bin.tar.gz
下载后上传到hadoop01虚拟机上的/usr/local
文件夹并使用tar -zxvf hbase-2.5.0-bin.tar.gz
解压,然后使用命令ln -s hbase-2.5.0 hbase
建立软链接。
3、环境变量配置
[root@hadoop01 local]# vim /etc/profile
export HBASE_HOME=/usr/local/hbase
export PATH=$HBASE_HOME/bin:$PATH
然后退出bash,重新登录;最后将此环境变量同步到其它两台虚拟机。
4、配置文件修改
进入${HBASE_HOME}/conf
文件夹
4.1 hbase-env.sh
[root@hadoop01 conf]# vim hbase-env.sh
#注释放开
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"
# 配置JDK安装位置
export JAVA_HOME=/usr/local/java
# 不使用内置的zookeeper服务
export HBASE_MANAGES_ZK=false
#export HBASE_CLASSPATH=/usr/local/hadoop/etc/hadoop
export JAVA_CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
4.2 hbase-site.xml
<configuration>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>./tmp</value>
</property>
<property>
<!-- 指定 hbase 在 HDFS 上的存储位置 -->
<name>hbase.rootdir</name>
<value>hdfs://hadoop01:9000/hbase</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<property>
<!-- 指定 zookeeper 的地址-->
<name>hbase.zookeeper.quorum</name>
<value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
</property>
</configuration>
4.3 regionservers
hadoop01
hadoop02
hadoop03
4.4 backup-masters
hadoop02
backup-masters
这个文件是不存在的,需要新建,主要用来指明备用的 master 节点,可以是多个,这里我们以 1 个为例。
5、安装包分发
[root@hadoop01 conf]# scp -r /usr/local/hbase-2.5.0 hadoop02:/usr/local/
[root@hadoop01 conf]# scp -r /usr/local/hbase-2.5.0 hadoop03:/usr/local/
之后分别进入hadoop02、hadoop03,建立软链接
ln -s /usr/local/hbase-2.5.0 hbase
6、hbase集群构建
6.1 启动
进入 hadoop01 的 ${HBASE_HOME}/bin
,使用以下命令启动 HBase 集群。执行此命令后,会在 hadoop001 上启动 Master
服务,在 hadoop002 上启动备用 Master
服务,在 regionservers
文件中配置的所有节点启动 region server
服务。
start-hbase.sh
6.2 验证
启动完成之后,在三台机器上分别执行jps命令
[root@hadoop01 conf]# jps
2433 ResourceManager
4753 HRegionServer
1826 NameNode
2579 NodeManager
8680 Jps
1532 QuorumPeerMain
1981 DataNode
4605 HMaster
[root@hadoop02 sbin]# jps
2980 HRegionServer
5575 Jps
1544 QuorumPeerMain
1772 SecondaryNameNode
1693 DataNode
1917 NodeManager
3102 HMaster
[root@hadoop03 bin]# jps
1792 NodeManager
2368 HRegionServer
4001 Jps
1510 QuorumPeerMain
1654 DataNode
可以看到,每台机器上都运行着HRegionServer服务,hadoop01和hadoop02还额外运行着HMaster服务,符合预期,接下来打开web管理页面进行验证,打开浏览器,输入地址(hadoop01):http://10.182.71.136:16010/
最后打开命令行,新建一个表试试效果
[root@hadoop01 ~]# 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.5.0, r2ecd8bd6d615ca49bfb329b3c0c126c80846d4ab, Tue Aug 23 15:58:57 UTC 2022
Took 0.0026 seconds
hbase:001:0> create 'sogoulogs','info'
成功之后,去web页面查看
可以看到sogoulogs表已经创建成功
service脚本
vim /etc/init.d/hbase
#!/bin/bash
#chkconfig:2345 20 90
#description:hbase
#processname:hbase
export JAVA_HOME=//usr/java/jdk
case $1 in
start) su root /usr/local/hbase/bin/start-hbase.sh;;
stop) su root /usr/local/hbase/bin/stop-hbase.sh;;
*) echo "require start|stop" ;;
esac
注意:本文归作者所有,未经作者允许,不得转载