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=false4.配置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/logs6.regionservers文件配置
删除全部内容添加如下内容
node another在master不运行regionserver
PS:需要在hosts文件中配置主机名对应ip地址
7.复制虚拟机两份,分别修改hostname和ip地址,重启后生效
8.在主机中启动hbase即三台机器中hbase全部启动
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