目录
- 1、HBase的安装与配置
- 2、hbase的启动和关闭
- 3、Hbase shell及其常用命令
- 5、phoenix工具
HBase的前提条件:
JDK
SSH
Hadoop
JDK:Hadoop和JDK运行的环境,他们的守护进程运行在JVM下。HBase支持JDK 1.6以上的版本。比如: jdk-8u161-linux-x64.rpm。
SSH:实现简单的服务器与主机的通信。在集群中,只有启动sshd后,才可以通过脚本远程操作其他的Hadoop和HBase进程。为了实现自动化操作,需要配置SSH免密码的的登录方式。
Hadoop:HDFS是HBase的底层存储文件系统。
1、HBase的安装与配置
进入HBase官网,下载HBase对应版本:
src和bin版本的区别:
src版本包含源码,主要给高级开发人员准备,可以去修改其中的源码改变或扩展功能。
bin版本主要是一般开发人员或使用者准备,只需要使用其固化功能即可。
HBase 的运行模式包括单机、伪分布式和分布式三种。
1.1 单机模式
单机模式搭建:使用本地文件系统,所有进程运行在一个 JVM 上,单机模式一 般只用于测试,HBase 需要结合 Hadoop 才能展现出其分布式存储的能力。
单机模式搭建步骤:
1.解压
[root@localhost hbase]# tar zxvf hbase-2.2.3-bin.tar.gz
2.修改hbase/conf/hbase-env.sh,添加java环境变量
[root@localhost conf]# vi hbase-env.sh
export JAVA_HOME=/usr/local/java/jdk1.8.0_241/
export HBASE_MANAGES_ZK=true
#(使用hbase内置的zookeeper)
3.编辑hbase-site.xml,若是不配置默认是temp 每次启动会被清空
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/local/hbase-2.2.3-bin/rootDir</value>
<description> hbase.rootdir是RegionServer的共享目录,用于持久化存储HBase数据,默认写入/tmp中。如果不修改此配置,在HBase重启时,数据会丢失。此处一般设置的是hdfs的文件目录,
如NameNode运行在namenode.Example.org主机的9090端口,则需要设置为hdfs://namenode.example.org:9090/hbase </description>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/local/hbase-2.2.3-bin/zookeeperDir</value>
<description>此项用于设置存储ZooKeeper的元数据,如果不设置默认存在/tmp下,重启时数据会丢失。</description>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
</configuration>
4.添加hbase环境变量
[root@localhost bin]# vi /etc/profile
5.启动hbase
[root@localhost bin]# ./hbase shell
6.jps查看,出现HMaster就是启动成功了
1.2 伪分布模式
修改配置文件,修改安装目录下的conf文件夹中的配置文件,主要包括2个文件:hbase-env.sh和hbase-site.xml.
- hbase-env.sh:配置hbase运行时变量,如java路径、regionserver相关参数等.
- hase-site.xml:hbase相关配置,如分布式模式、zookeeper的配置等.
伪分布式模式下,所有进程运行在一个 JVM 上,可以进行小集群的配置,用于测试。在生产环境下,需要在不同机器上的 JVM 中运行守护进程。
1、下载安装hbase,官网:https://hbase.apache.org/downloads.html
cd /usr/local
tar xzvf hbase-2.2.4-bin.tar.gz
2、修改配置文件,修改安装目录下的conf文件夹中的配置文件:hbase-env.sh和hbase-site.xml,同时分发到集群中的各个regionserver节点.
比如:hbase-env.sh文件修改
export JAVA_HOME=/usr/java/j dkl.8.0_161
export HBASE_MANAGES_ZK=true
ps: ZooKeeper 也可以作为独立的集群来运行,即完全与 HBase 脱离关系,这时需要设置 HBASE_MANAGES_ZK 变量为 false。
1.3分布式模式
分布式模式是一种主从模式,基本由一个Master 节点和多个 Slave 节点组成,均使用 HDFS作为底层文件系统。
// 分布式集群实例进行hbase-site.xml文件配置,hbase-site.xml配置文件如下:
<configuration>
<property>
<name> hbase.rootdir </name>
<value>hdfs://master:9000/hbase</value>
<description> hbase.rootdir是RegionServer的共享目录,用于持久化存储HBase数据,默认写入/tmp中。如果不修改此配置,在HBase重启时,数据会丢失。此处一般设置的是hdfs的文件目录,如NameNode运行在master主机的9090端口,则需要设置为hdfs://master:9090/hbase
</description>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
<description>此项用于配置HBase的部署模式,false表示单机或者伪分布式模式,true表不完全分布式模式。
</description>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>node1,node2</value>
<description>此项用于配置ZooKeeper集群所在的主机地址。node1、 node2是运行数据节点的主机地址,zookeeper服务的默认端口为2181。
</description>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/var/zookeeper</value>
<description>此项用于设置存储ZooKeeper的元数据,如果不设