环境变量
export HBASE_HOME=/hbase路径
export PATH=$PATH:$HBASE_HOME/bin
独立模式
默认模式,HBase不使用HDFS,它使用本地文件系统,他在同一个JVM中运行所有HBase守护进程和本地Zookeeper。Zookeeper绑定到一个中所周知的端口。
编辑hbase/conf下hbase-env.sh,设置JAVA_HOME
export JAVA_HOME=/你的jdk存放路径
编辑hbase/conf下hbase-site.xml中,仅需要指定hbase和Zookeeper写数据的本地路径,默认在/tmp下创建新的目录。
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///root/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/root/zookeeper</value>
</property>
</configuration>
启动:start-hbase.sh
关闭:stop-hbase.sh
伪分布式
伪分布式模式只是单个主机上运行的完全分布式模式。在HBASE上使用此配置测试源和原型设计。请勿将此配置用于生产。
编辑hbase/conf下,hbase-site.xml
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
更改hbase.rootdir
<property>
<name>hbase.rootdir</name>
<value>hdfs://mycluster/hbase</value>
</property>
指定zookeeper写的目录
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/root/zookeeper1</value>
</property>
注意:由于HBase要使用HDFS的客户端,HDFS客户端的配置必须让hbase看到并使用。有三种方式做到这一点:
i).在hbase-env.sh中,将HADOOP_CONF_DIR添加到HBASE_CLASSPATH环境变量中,HADOOP_CONF_DIR指向HADOOP的etc/hadoop目录。
ii).拷贝hdfs-site.xml到HBASE_HOME/conf,当然,最好是做一个符号链接。
iii).如果HDFS客户端配置很少,可以直接添加到hbase-site.xml中。
完全分布式搭建
nodename | master | zookeeper | RegionServer |
---|---|---|---|
node1 | yes | no | no |
node2 | backup | yes | yes |
node3 | no | yes | yes |
node4 | no | yes | yes |
ssh 免密登录
ssh-keygen -t rsa # 一路回车
ssh-copy-id ip(其他主机)
删除hbase/conf下,docs目录
编辑regionservers
做了ip地址映射可以写主机名
node2
node3
node4
mkdir backup-masters
node2
编辑conf/hbase-env.sh
export JAVA_HOME=/jdk路径
设置使用外部zookeeper
在hbase-env.sh中
HABSE_MANAGES_ZK=false
编辑hbase-site.xml
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://mycluster/hbase</value>
</property>
<property>
<!-- 默认端口号可以不写,也可以添加:node2:2181,node3:2181,node4:2181 -->
<name>hbase.zookeeper.quorum</name>
<value>node2,node3,node4</value>
</property>
<property>
<!-- 可以不配置 -->
<name>hbase.zookeeper.property.dataDir</name>
<value>/var/bjsxt/zookeeper/data</value>#zookeeper配置时存放数据的路径
</property>
将hadoop的hdfs-site.xml拷贝到hbase的conf目录下
将hbase目录分发到其他主机
1)运行zookeeper
2)在node1上start-hbase.sh
3)jps查看master进程
如果node1上的master挂掉,会将backup-master作为主节点
进入http://master:60010端口查看具体信息。