前提:

已经搭建了hadoop,并且启动了hdfs
相关版本:centos7.2、hadoop2.7.1

1、查看hadoop版本下载对于的hbase版本

hbase 和zooker如何选举hdmaster_zookeeper

2、下载hbase和zookeeper

因为我的hadoop版本是2.7.1 所以就下载hbase2.0.5版本
hbase下载连接
https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/ hbase采用外置zookeeper,hbase也有内置zookeeper,但是内置的zookeeper耦合性比较大,当hbase升级的时候zookeeper自然也会关闭也要跟着升级,也许会影响部分业务,建议还是使用外置zookeeper利于维护。
zookeeper下载地址
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 下载之后 上传服务器,解压

3、配置
1)配置hase

解压之后进入hbase安装包

cd /home/hadoop/hbase-2.0.5/conf/ (1) 配置hbase-env.sh

vim hbase-env.sh

hbase 和zooker如何选举hdmaster_hadoop_02


配置jdk路径

export JAVA_HOME=/home/hadoop/jdk1.8.0_25

默认为true使用内部Zookeeper,由于我使用的外部ZK因此此处改为false

export HBASE_MANAGES_ZK=false

(2) 配置hbase-site.xml

vim hbase-site.xml

添加如下配置

<!--集群服务器的地址列表,用逗号  master,slave1,slave2-->
    <property>
      <name>hbase.zookeeper.quorum</name>
      <value>master</value>
    </property>
     <!-- Hbase 配置端口 -->
   <property>
     <name>hbase.master.port</name>
     <value>16000</value>
    </property>
    <property>
      <name>hbase.master.info.port</name>
       <value>16010</value>
    </property>
     <property>
       <name>hbase.regionserver.port</name>
       <value>16201</value>
     </property>
      <property>
        <name>hbase.regionserver.info.port</name>
        <value>16301</value>
      </property>
    <!--region server的共享目录,用来持久化Hbase 放在hdfs中的 '/hbase'目录-->
        <!-- file:///tmp/hbase-${user.name}/hbase 默认是放在本地重启之后消失-->
    <property>
      <name>hbase.rootdir</name>
      <value>hdfs://master:9000/hbase</value>
    </property>
    <!--zookeeper客户端连接的端口-->
    <property>
      <name>hbase.zookeeper.property.clientPort</name>
      <value>2181</value>
    </property>
    <!--Hbase的运行模式。false是单机模式,true是分布式模式 若为false,Hbase和Zookeeper会运行在同一个JVM里面。-->
    <property> 
		<name>hbase.cluster.distributed</name> 
		<value>true</value> 
	</property>

(3) 配置regionservers
vim regionservers 添加集群的服务器名称 (把原有的localhost删除)
master
slave1
slave2
(4)将hbase安装包和配置分发到slave1和slave2 (hbase-2.0.5为安装包)

scp  -r  hbase-2.0.5 slaver1:/home/hadoop/
 scp  -r  hbase-2.0.5 slaver2:/home/hadoop/
2)配置zookeeper

(1) 外置Zookeeper集群配置
进入zookeeper的安装文件
cd /home/hadoop/zookeeper-3.4.14/conf

(2)配置zookeeper的环境变量
vim /etc/profile 添加如下配置

export ZK_HOME=/home/hadoop/zookeeper-3.4.14
export PATH=$PATH:$ZK_HOME/bin

hbase 和zooker如何选举hdmaster_zookeeper_03


使配置生效

source /etc/profile

(3)配置zoo.cfg
将zoo_sample.cfg重命名为zoo.cfg
cp zoo_sample.cfg zoo.cfg 新建文件夹
mkdir -p /home/hadoop/zookeeper-3.4.14/datavim zoo.cfg

server.0=master:2888:3888
server.1=slave1:2888:3888
server.2=slave2:2888:3888
  <!--zookeeper存储数据的地址 -->
dataDir=/home/hadoop/zookeeper-3.4.14/data
  <!--默认端口-->
clientPort=2181

端口说明:
2888端口号是zookeeper服务之间通信的端口。
3888端口是zookeeper与其他应用程序通信的端口。
2181端口是zookeeper客户端请求接口。

(4)将zookeeper安装包和配置分发到slave1和slave2 (hbase-2.0.5为安装包)

cd /home/hadoop/
     scp  -r  zookeeper-3.4.14 slaver1:/home/hadoop/
     scp  -r  zookeeper-3.4.14 slaver2:/home/hadoop/

在每个节点(master,slave1,slave2)的/home/hadoop/zookeeper-3.4.14/data下面建立个文件

touch myid 在此文件中写入

hbase 和zooker如何选举hdmaster_vim_04

4、启动

启动顺序 hadoop ->zookeeper->hbase
关闭顺序 hbase->zookeeper->hadoop
1)首先在hadoop中开启
./start-dfs.sh 或者
./start-all.sh 2)启动zookeeper集群
先查看zookeeper配置是否正确
进入bin文件中(master,slave1,slave2都要启动zookeeper)

./zkServer.sh   start      启动
./zkServer.sh   status    查看状态
./zkServer.sh    stop     停止/关闭

hbase 和zooker如何选举hdmaster_vim_05


原因:是jdk的环境变量配置有问题

export

hbase 和zooker如何选举hdmaster_zookeeper_06


hbase 和zooker如何选举hdmaster_zookeeper_07


这个jdk是openjdk已经被我删除了,重新搭建了本地的jdk,

只要在 vim /etc/profile改掉JAVA_HOME并且source /etc/profile 刷新配置就好了;

3)再次启动zookeeper集群

hbase 和zooker如何选举hdmaster_zookeeper_08


4)启动Hbase集群(master,slalve1,slave2都要启动)

进入hbase包下的bin文件夹中

/home/hadoop/hbase-2.0.5/bin 启动hbase

./start-hbase.sh

查看进程

jps

hbase 和zooker如何选举hdmaster_zookeeper_09


5)启动zookeeper客户端查看节点

hbase 和zooker如何选举hdmaster_hadoop_10


查看节点,发现了hbase节点

hbase 和zooker如何选举hdmaster_vim_11


6)启动hbase命令行

进入hbase的bin下面

./hbase shell

hbase 和zooker如何选举hdmaster_hadoop_12


7)远程连接hbase

上面配置了远程web页面的端口号16010

打开地址:16010

hbase 和zooker如何选举hdmaster_zookeeper_13