//使用tar命令解压这两个压缩文件
tar -zxvf zookeeper-3.4.6.tar.gz
tar -zxvf hbase-1.0.1.1-bin.tar.gz
//配置环境变量(三个节点都得配置)
vim /etc/profile
export ZOOKEEPER=/opt/zookeeper-3.4.6 (增加)
export HBASE_HOME=/opt/hbase-1.0.1.1 (增加)
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$ZOOKEEPER/bin:$HBASE_HOME/bin:$PATH(修改)
//使文件生效
source /etc/profile
//配置zookeeper(zoo.cfg配置)
cd zookeeper-3.4.6/conf/
cp zoo_sample.cfg zoo.cfg (拷贝一份)
vim zoo.cfg
#data目录
dataDir=/opt/zookeeper-3.4.6/data
#节点ID
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
在zookeeper-3.4.6目录下创建data
makdir data
进入data目录
cd data
vim myid (创建myid文件)
(里面写1
;指我们刚刚配置的server.1
;在另外两个节点上分别写2和3)
把zookeeper
发送到从节点1
scp -r /opt/zookeeper-3.4.6 root@Node1:/opt/
把zookeeper
发送到从节点2
scp -r /opt/zookeeper-3.4.6 root@node2:/opt/
修改从节点myid
//启动zookeeper
cd /opt/zookeeper-3.4.6/bin
./zkServer.sh start
(分别启动所有节点,先启动master)
//查看运行模式
zkServer.sh status
zookeeper查看状态时显示未启用,可能是myid错了
配置HBase
cd /opt/hbase-1.0.1.1/conf
hbase-env.sh
增加JAVA_HOME
禁用自带的zookeeper
hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:8020/hbase</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,Node1,node2</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/zookeeper-3.4.6/data</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
vim regionservers
把hbase上传到两个从节点
scp -r /opt/hbase-1.0.1.1 root@Node1:/opt
scp -r /opt/hbase-1.0.1.1 root@node2:/opt
//启动hbase
进入hbase的bin目录
./start-hbase.sh
//启动hbase时,hmaster启动后又消失了,且hin/base shell后,list执行报错”ERROR:can’t get master address from ZooKeeper; znode data == null”
一般认为是,停止Hbase服务时导致zookeeper的meta数据丢失或损毁所致,解决办法时,停止HBase服务,停止ZooKeeper服务,把zookeeper的每个节点的zoo.cfg指定的 dataDir=/hadoop/zookeeper-data目录的文件清除掉,然后重启zookeeper,再重启hbase,再去观察hbase主控节点日志hbase-hadoop-master-master.log,发现一切正常,问题已经得到解决!
[
](https://blog.csdn.net/ak57193856/article/details/78520872)