准备HBase版本HBase与java版本Hbase与Hadoop版本Hbase与zookeeper版本我的版本搭建下载Hbase解压安装配置环境变量配置hbase-env.sh配置hbase-site.xml配置regionservers拷贝到各个从节点启动测试查看Web启动停止
准备
- 准备三个虚拟机:
192.168.36.121 hadoop1
192.168.36.122 hadoop2
192.168.36.123 hadoop3
- 虚拟机上配置有
ssh
服务,可以进行免密登录
- 安装
JDK
- 安装Hadoop集群并启动HDFS服务
- 安装zookeeper集群并启动
HBase版本
HBase与java版本
Hbase与Hadoop版本
Hbase与zookeeper版本
- 基本都支持,理论上对应最新版本
我的版本
Hadoop | 3.3.2 |
Zookeeper | 3.7.0 |
Hbase | 2.4.13 |
搭建
- 使用自定义的Zookeeper
下载Hbase
解压安装
# 解压 root@redis01:/usr/local# tar -zxvf hbase-2.4.13-bin.tar.gz # 重命名 root@redis01:/usr/local# mv hbase-2.4.13 hbase
查看目录结构
配置环境变量
配置hbase-env.sh
在/hbase/conf目录下的hbase-env.sh中添加Hbase需要的环境变量
下面第四行注意这个值为false时,表示启动的是独立的zookeeper。而配置成true则是hbase自带的zookeeper。
root@redis01:/usr/local/hbase/conf# vim hbase-env.sh
添加如下信息
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export HBASE_HOME=/usr/local/hbase export PATH=$PATH:/usr/local/hbase/bin export HBASE_MANAGES_ZK=false export HADOOP_HOME=/usr/local/hadoop # 下面这句不添加打开hbase shell无法使用相关命令 export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP=true
配置hbase-site.xml
root@redis01:/usr/local/hbase/conf# vim hbase-site.xml
注意hbase.rootdir必须和你的namenode里面的hdfs的主机名和端口一样
<property> <name>hbase.rootdir</name> <value>hdfs://redis01:8020/hbase</value> <description>设置hbase的根目录,不需要自己创建,hbase会自动创建目录.</description> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> <description>设置Hbase为分布式模式,false是单机模式</description> </property> <!--配置zoopkeeper的集群--> <property> <name>hbase.zookeeper.quorum</name> <value>redis01:2181,redis02:2181,redis03:2181</value> </property> <!--zookooper配置、日志等的存储位置,必须为以存在 --> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/usr/local/zookeeper/zkData</value> </property> <!--配置Hbasede WebUI 界面--> <property> <name>hbase.master.info.port</name> <value>16010</value> </property>
- hbase.rootdir这个目录是region server的共享目录,用来持久化Hbase。
- hdfs://redis01:8020/hbase必须与你的Hadoop集群的core-site.xml文件配置中的端口号保持一致,并且该项并不识别IP,只能使用hostname。
- hbase.cluster.distributed指定hbase的运行模式,false代表单机模式,true代表全分布模式。
- hbase.zookeeper.quorum和hbase.zookeeper.property.dataDir是hbase中zookeeper相关的配置,其中hbase.zookeeper.quorum设置了hbase的zookeeper集群的地址列表,用逗号分隔,建议为奇数个数,其默认值为“localhost”,是给伪分布式用的。hbase.zookeeper.property.dataDir此项设置zookeeper快照存放的地址。
- hbase.zookeeper.property.clientPort配置客户端连接的端口,如果没有配置,则使用hbase默认的端口号,即2181。
- HBase无法在Web UI 上查看,是因为在1.0版本之后,默认不开启。所以需要手动设置。
- hbase.master.info.port:HBase Master web 界面端口. 设置为-1 意味着你不想让他运行。
- hbase.master.port:HBase的Master的端口.
配置regionservers
root@redis01:/usr/local/hbase/conf# vim regionservers
redis01 redis02 redis03
拷贝到各个从节点
将redis01配好文件分发给redis02、redis03机器。
root@redis01:/usr/local# xsync hbase
启动测试
# 启动Hadoop start-all.sh # 启动zookeeper /home/bigdata/bin/zk1.sh start # 启动HBase root@redis01:/usr/local/hbase/bin# ./start-hbase.sh
查看
查看Web
查看Hadoop中的HDFS,自动创建库habse库
默认创建
如果安装了独立的zookeeper
启动顺序: hadoop-> zookeeper-> hbase;
停止顺序:hbase-> zookeeper-> hadoop;
使用自带的zookeeper
启动顺序: hadoop-> hbase;
停止顺序:hbase-> hadoop;
启动
# 启动Hadoop start-all.sh # 启动zookeeper /home/bigdata/bin/zk1.sh start # 启动HBase root@redis01:/usr/local/hbase/bin# ./start-hbase.sh
停止
# 方式一:先停止HBase,这种方式会出现stopping hbase...... root@redis01:/usr/local/hbase/bin# ./stop-hbase.sh # 方式二:输入两个命令 ./hbase-daemon.sh stop master ./stop-hbase.sh # 停止zookeeper /home/bigdata/bin/zk1.sh stop # 停止Hadoop stop-all.sh