目录:
- 安装模式
- 独立式HBase安装 (使用自带的Zookeeper)
- 独立于HDFS的HBase安装 (使用自带的Zookeeper)
- 伪分布式HBase安装 (使用自带的Zookeeper)
- 伪分布式HBase安装 (不使用自带的Zookeeper)
- 完全分布式安装 (不使用自带的Zookeeper)
- 安装步骤:
注意:各版本之间的兼容- 基本环境:
- Ubuntu15.10或者 centOS
- jdk1.7
- 安装并启动基础条件,比如:Hadoop-2.7.3、Zookeeper-3.4.10
- 安装HBase-1.2.6
- 下载、上传、解压
- 配置环境变量
- 配置HBase
- 启动HBase
- 验证:HBase Web界面:
http://localhost:60010
- 基本环境:
一.独立式HBase安装
详细步骤:
- 前提条件:安装 jdk
- 安装HBase
- 上传、解压
第一步:上传到home目录下安装 第二步:解压命令: tar -zxvf hbase-1.2.6-bin.tar.gz -C /home
- 配置环境变量,将bin目录添加到PATH路径下
# vi /etc/profile
在最后添加两行
让其生效HBASE_HOME=/home/hbase-1.2.6 PATH=$PATH:$HBASE_HOME/bin
#source /etc/profile - 配置HBase
- 第一步:配置 hbase-env.sh,让HBase关联jdk,并使用自带的zookeeper
# cd /home/hbase-1.2.6/
# vi conf/hbase-env.shexport JAVA_HOME=/home/jdk1.7.0_80 #默认为true,不添加此行也可以,当不使用自带的Zookeeper,改为false即可 export HBASE_MANAGES_ZK=true
- 第二步:配置hbase-site.xml
# mkdir /home/hbase-1.2.6/data
# vim conf/hbase-site.xml<configuration> <property> <name>hbase.rootdir</name> <value>file:///tmp/hbase/data</value> <!--hbase.rootdir是指定HRegion服务器的位置,即数据存放的位置--> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hbase-1.2.6/data/zookeeper</value> <!--hbase zookeeper数据存储地址--> </property> <property> <name>hbase.cluster.distributed</name> <value>false</value> <!--hbase.cluster.distributed是设置HBase的运行模式, false是单机模式,true是分布式模式,默认为false。 如果是false, HBase和Zookeeper会运行在同一个JVM里面。--> </property> </configuration>
- 第一步:配置 hbase-env.sh,让HBase关联jdk,并使用自带的zookeeper
- 启动HBase
执行bin目录下的start-hbase.sh就可以启动hbase,因为配置了HBase环境变量,在任意目录执行start-hbase.sh都可以启动hbase,以下操作同理启动: start-hbase.sh 验证:用jps指令查看,可以看到有HMaster程序: jps 进入HBase Shell模式:运行bin目录下的hbase shell可进入HBase Shell: bin/hbase shell 关闭: stop-hbase.sh
- 上传、解压
二.独立于HDFS的HBase
简要步骤:
- 前提条件:安装jdk 、Hadoop
- 安装HBase(使用自带的Zookeeper):和 【独立式HBase安装】相比,除了需要提前安装Hadoop外,仅仅hbase-site.xml有所差别
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://192.168.200.10:9000/hbase</value> <!--hbase.rootdir是数据存放的位置,这里换成hadoop中hdfs上的位置 注意:注意9000的端口要跟hadoop安装目录/etc/hadoop/core-site.xml中的端口号一样 --> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hbase-1.2.6/data/zookeeper</value> <!--hbase zookeeper数据存储地址--> </property> <property> <name>hbase.cluster.distributed</name> <value>false</value> <!--hbase.cluster.distributed是设置HBase的运行模式, false是单机模式,true是分布式模式,默认为false。 如果是false, HBase和Zookeeper会运行在同一个JVM里面。--> </property> </configuration>
- 启动
先启动Hadoop:start-all.sh
启动HBase:start-hbase.sh
三.伪分布式HBase(使用自带的zookeeper)
简要步骤:
- 前提条件:安装jkd、Hadoop
- 安装HBase(使用自带的Zookeeper):和 【独立式HBase安装】相比,除了需要提前安装Hadoop外,仅仅hbase-site.xml有所差别
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://192.168.200.10:9000/hbase</value> <!--hbase.rootdir是数据存放的位置,这里换成hadoop中hdfs上的位置 注意:注意9000的端口要跟hadoop安装目录/etc/hadoop/core-site.xml中的端口号一样 --> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hbase-1.2.6/data/zookeeper</value> <!--hbase zookeeper数据存储地址--> </property> <property> <name>hbase.cluster.distributed</name> <value>ture</value> <!--hbase.cluster.distributed是设置HBase的运行模式, false是单机模式,true是分布式模式,默认为false。 如果是false, HBase和Zookeeper会运行在同一个JVM里面。--> </property> </configuration>
- 启动
先启动Hadoop:start-all.sh
启动HBase:start-hbase.sh - HBase Web界面访问
注意:需要关闭liunx、windows的防火墙
可以在web端看到hbase的相关信息,在单机上部署,输入网址:http://192.168.200.10:16010 (注意:192.168.200.10是安装hbase的虚拟机ip) 即可看到,注意端口号默认为16010 - 进入hbase shell中,开启hbase的基本操作
进入shell模式: #bin/hbase shell 查看HBase状态: status 创建新表 create 'test', 'cf' 第一个参数是表的名字,第二个是列族的名字。不需要定义列,因为列是可以动态增加的
四.伪分布式HBase(不使用自带的zookeeper)
详细步骤:
- 前提条件:安装jdk、Hadoop、zookeeper单机即可
- 安装HBase
- 下载
- 上传
- 解压
- 配置环境变量
- 配置
- hbase-env.sh
export JAVA_HOME=/home/jdk1.7.0_80 #默认为true,不添加此行也可以,当不使用自带的Zookeeper,改为false即可 export HBASE_MANAGES_ZK=false
- hbase-site.xml
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <!-- 可以不配置,如果要配置,需要和zookeeper配置文件zoo.cfg中的dataDir指定的路径相同 zoo.cfg中dataDir=/home/zookeeper-3.4.10/data1 --> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/zookeeper-3.4.10/data1</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <!--如果是zookeeper单机--> <property> <name>hbase.zookeeper.quorum</name> <value>localhost</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <!--如果是zookeeper伪分布式--> <!--指定zookeeper集群--> <!-- <property> <name>hbase.zookeeper.quorum</name> <value>localhost:2181,localhost:2182,localhost:2183</value> <!--如果配置了ip映射主机名,可以是<value>kd01,kd02,kd03</value> </property> --> </configuration>
- hbase-env.sh
- 启动
- 先启动Hadoop、zookeeper
- 再启动hbase
- web访问
四.完全分布式
可参考博客:hbase集群安装
简要条件:
- 前提条件:安装jdk、Hadoop分布式、Zookeeper分布式
- 安装HBase:和 【独立式HBase安装】相比,除了需要提前安装Hadoop集群和zookeeper集群外,还有如下配置文件有所差别
- hadoop集群安装教程
- zookeeper集群安装教程:zookeeper集群安装教程
- 修改hbase-env.sh配置文件
export JAVA_HOME=/home/jdk1.7.0_80 #默认为true,不添加此行也可以,当不使用自带的Zookeeper,改为false即可 export HBASE_MANAGES_ZK=false
- 修改hbase-site.xml配置文件
说明<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <!-- 可以不配置,如果要配置,需要和zookeeper配置文件zoo.cfg中的dataDir指定的路径相同 zoo.cfg中dataDir=/home/zookeeper-3.4.10/data1 --> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/zookeeper-3.4.10/data1</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <!--如果是zookeeper伪分布式--> <!-- <property> <name>hbase.zookeeper.quorum</name> <value>localhost</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> --> <!--如果是zookeeper集群--> <!--指定zookeeper集群--> <property> <name>hbase.zookeeper.quorum</name> <value>192.168.100.11,192.168.100.12,192.168.100.13</value> <!--如果配置了ip映射主机名,可以是<value>kd01,kd02,kd03</value> --> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> </configuration>
hbase.zookeeper.property.dataDir:hbase zookeeper数据存储地址 hbase.zookeeper.quorum:zookeeper集群的地址 hbase.zookeeper.property.clientPort:zookeeper集群的端口
- 新建backup-masters文件,并做修改
[root@kd01 conf]$ vi backup-masters # 添加备用hbase-master kd02
- 修改regionservers配置文件,加入RegionServer节点列表
[root@kd01 conf]$ vi regionservers # 默认有一行localhost,删除 kd01 kd02 kd03
- 把hadoop的配置文件core-site.xml和hdfs-site.xml复制到hbase的配置文件目录下
- 把hbase安装目录分发给其他节点
- 启动
- 首先启动zookeeper集群
zkServer.sh start
- 然后启动HDFS集群
start-dfs.sh
- 最后启动hbase集群
start-hbase.sh
- 首先启动zookeeper集群
- 验证:通过jps查看进程或者访问WEB页面进行验证
- HBase如何识别HMaster
如果不在配置文件(hbase-site)中指定master
那么在哪台机器上执行./hbase/bin/start-hbase.sh,哪台机器就会被认为是HMaster。