Linux安装
Hbase的三种安装模式:本地安装,伪分布安装,全分布安装
区别
伪分布安装与本地模式
参考
伪分布式是在一台机器上安装环境,和本地模式不同的是:需要HDFS,需要启动zk,设置从节点
全分布安装与伪分布安装
全分布不同之处是需要的机器至少三台。
准备工作
本地安装
安装jdk;(本地模式不需要HDFS,保存在Linux文件系统中)
伪分布安装
安装JDK;hdfs安装;zk安装(可以使用hbade自带)
全分布安装
三台机器;安装JDK;安装hdfs;安装zk;
安装包上传及解压
上传hbase-2.4.17-bin.tar.gz包,并解压/app/hbase
1、创建装备安装的目录
# mkdir /app/hbase
2、解压到/app/keepalived
# tar -zxvf hbase-2.4.17-bin.tar.gz -C /app/hbase/
3、进入/app/hbase查看解压是否成功
# cd /app/hbase/hbase-2.4.17
设置环境变量
# 编辑系统配置文件
vim /etc/profile
#在末尾添加以下内容:
export HBASE_HOME=/app/hbase/hbase-2.4.17
export PATH=${HBASE_HOME}/bin:$PATH
#使环境变量生效:
[root@jtnode01 hbase]# source /etc/profile
修改配置
本地安装
(路径:/app/hbase/hbase-2.4.17/conf)
修改hbase-env.sh
# 查看本机 JAVA_HOME 的值
echo $JAVA_HOME
# 结果为 /usr/local/java/jdk1.8.0_341
# 将该值配到下面脚本
vim hbase-env.sh
# 添加以下内容:
export JAVA_HOME=/usr/local/java/jdk1.8.0_341
修改hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>file:///root/training/hbase-2.4.17/data</value>
</property>
伪分布安装
(路径:/app/hbase/hbase-2.4.17/conf)
修改hbase-env.sh
# 查看本机 JAVA_HOME 的值
echo $JAVA_HOME
# 结果为 /usr/local/java/jdk1.8.0_341
# 将该值配到下面脚本
vim hbase-env.sh
# 添加以下内容:
export JAVA_HOME=/usr/local/java/jdk1.8.0_341
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"
参考:
HBase伪分布式模式启动没有HMaster原因解决_启动hbase后没有hmaster_海霸糊祖传秘方的博客-优快云博客
修改hbase-site.xml
<property>
<!-- 伪分布式 -->
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<!-- region server 的共享 HDFS 目录,用来持久化 Hbase -->
<name>hbase.rootdir</name>
<value>hdfs://127.0.0.1:9000/hbase</value>
</property>
<property>
<!-- hbase 的 zookeeper 集群的地址列表,用逗号分隔 -->
<name>hbase.zookeeper.quorum</name>
<value>127.0.0.1</value>
</property>
<property>
<!-- zookeeper 快照存放地址 -->
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/hbase/hbase-2.4.14/data/zookeeper</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>./tmp</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>16010</value>
</property>
全分布安装
修改hbase-env.sh
# 查看本机 JAVA_HOME 的值
echo $JAVA_HOME
# 结果为 /usr/local/java/jdk1.8.0_341
# 将该值配到下面脚本
vim hbase-env.sh
# 添加以下内容:
export JAVA_HOME=/usr/local/java/jdk1.8.0_341
export HBASE_PID_DIR=/var/hadoop/pids
保存后退出,hbase-env.sh配置完成
修改hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://node01:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/app/hbase/hbase-2.4.14/tmp</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>node01,node02,node03,node04,node05</value>
</property>
<property>
<name>hbase.zoopkeeper.property.dataDir</name>
<value>/app/zookeeper/data</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
</configuration>
修改 hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/app/hadoop/hadoop-2.7.1/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/app/hadoop/hadoop-2.7.1/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.blocksize</name>
<value>268435456</value>
</property>
<property>
<name>dfs.namenode.handler.count</name>
<value>100</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node01:50090</value>
</property>
<property>
<name>dfs.namenode.secondary.https-address</name>
<value>node01:50091</value>
</property>
</configuration>
修改regionservers
vim regionservers
node01
node02
node03
node04
node05
关于zookeeper
如果本地有zookeeper,可以使用自己的zookeeper,修改hbase-env.sh:
export HBASE_MANAGES_ZK=false
启动
Hbase是基于hadoop提供的分布式文件系统的,所以启动Hbase之前,先确保hadoop在正常运行,另外Hbase还依赖于zookkeeper,如果不是用hbase自带的zookeeper,还要确保zokeeper已经正常运行。
全分布安装 :Hbase可以只在hadoop的某个namenode节点上安装,也可以在所有的hadoop节点上安装,但是启动的时候只需要在一个节点上启动就行了,目前在node01、node02、node03、node04、node05都安装了Hbase,启动的时候只需要在node01上启动就OK。
启动命令:/app/hbase/hbase-2.4.17/bin/start-hbase.sh(由于配置了环境变量,可以直接执行start-hbase.sh脚本进行启动)
输入jps可以看到这两个进程,说明Hbase启动成功:
797816 HMaster
798073 HRegionServer
访问:http://IP地址:16010,如果看到页面即配置完成。