环境
hadoop2.7.3+zookeeper3.4.9+jdk1.8
hbase可以独立部署,不过在此之前如果要部署分布式,需要先设置免密登录SSH
安装
1.从官网上下载HBase1.2.4并解压到用户目录/home/user/hadoop
2.配置环境变量
3.配置hbase-env.sh
#jdk安装位置
export JAVA_HOME=/home/user/hadoop/jdk1.8.0_121
#是否使用内置zookeeper,我这里使用安装好的,所以设置为false
export HBASE_MANAGES_ZK=false
4.配置hbase-site.xml
#配置是否为分布式
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
#配置根目录,分布式就设置为hdfs://...,单机版就设置为file://
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
#配置zookeeper属性数据存放目录
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/user/hadoop/hbase-1.2.4/zookeeper</value>
</property>
#配置zookeeper集群节点
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,node,another</value>
</property>
5.配置日志输出位置log4j.properties
#配置到安装目录下
hbase.log.dir=/home/user/hadoop/hbase-1.2.4/logs
6.regionservers文件配置
删除全部内容添加如下内容
node
another
在master不运行regionserver
PS:需要在hosts文件中配置主机名对应ip地址
7.复制虚拟机两份,分别修改hostname和ip地址,重启后生效
8.在主机中启动hbase即三台机器中hbase全部启动
扫描二维码关注公众号,回复:
6228309 查看本文章
9.hbase shell中create失败,报错master is initializing
打开日志发现报错…directory is not empty
利用hadoop fs -ls path找到该目录,而后利用hadoop fs -rmr path删除该目录
10.报错Region hbase:meta,,1 is not online on node,16020,1489475748122
删除zookeeper中/hbase目录
zkCli.sh -server host:port
rmr /hbase
重启hadoop和hbase
11.create时还是同样的报错,关掉 hbase,hadoop和zookeeper里面都删掉,重启hbase可成功执行create