下载安装包

zookeeper安装包

网址:Apache ZooKeeper

zookeeper 查看hbase节点 hbase zookeeper配置_java-zookeeper

zookeeper 查看hbase节点 hbase zookeeper配置_zookeeper 查看hbase节点_02

hbase安装包

网址:Apache HBase – Apache HBase Downloads

zookeeper 查看hbase节点 hbase zookeeper配置_zookeeper_03

 

zookeeper 查看hbase节点 hbase zookeeper配置_zookeeper 查看hbase节点_04

 导入,安装,hbase和zookeeper

我这里使用mobaxterm导入虚拟机/opt/software/ 下

解压zookeeper 

tar -zxvf  /opt/software/apache-zookeeper-3.7.1-bin.tar.gz -C /usr/local/src


解压hbase

 tar -zxvf  /opt/software/hbase-2.4.15-bin.tar.gz -C /usr/local/src

 解压之后我这里重命名文件为,zookeeper,hbase,不这样做的记得环境变量配置要注意路径名

配置环境变量

cd /etc/profile  #进入环境变量文件

#添加下列环境变量
export HBASE_HOME=/usr/local/src/hbase
export PATH=$HBASE_HOME/bin:$PATH

export ZOOKEEPER_HOME=/usr/local/src/zookeeper
export PATH=$PATH:${ZOOKEEPER_HOME}/bin

source /etc/profile
#刷新环境变量

修改配置文件

配置zookeeper

因为我这里要让hbase不使用自带的zookeeper,所以我们先配置zookeeper

cd /usr/local/src/zookeeper  #进入到zookeepr目录下

mkdir data && mkdir logs #创建data,logs文件夹

echo 1 > /usr/local/src/zookeeper/data/myid
#创建myid并写入编号‘1’

cp /usr/local/src/zookeeper/conf/zoo_sample.cfg /usr/local/src/zookeeper/conf/zoo.cfg
#复制一份并重命名为zoo.cfg
vi /usr/local/src/zookeeper/conf/zoo.cfg  #进入配置文件

#修改如下配置
dataDir=/usr/local/src/zookeeper/data

#在文章结尾添加如下:
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

chown -R hadoop:hadoop /usr/local/src/zookeeper #修改zookeeper归属为hadoop用户

ps:这里修改是因为我配置大数据集群需要,如果没有这方面的跳过这步骤

复制zookeeper目录到集群中的其他虚拟机

这里我使用xsync脚本实现传送文件,需要的可以查看我之前的文章中配置脚本过程

 sh xsync /usr/local/src/zookeeper   #这个命令一定要手打一遍,复制会导致错误

配置hbase

修改./habase/conf/  下hbase-env.sh文件

zookeeper 查看hbase节点 hbase zookeeper配置_zookeeper_05

zookeeper 查看hbase节点 hbase zookeeper配置_zookeeper 查看hbase节点_06

 

 修改./habase/conf/  下hbase-site.xml文件

<property>
      <name>hbase.cluster.distributed</name>
      <value>true</value>
  </property>
  <property>
      <name>hbase.tmp.dir</name>
      <value>/usr/local/src/hbase/tmp</value>
  </property>
  <property>
      <name>hbase.unsafe.stream.capability.enforce</name>
      <value>false</value>
  </property>
  <property>
      <name>hbase.rootdir</name>
      <value>hdfs://master:9000/hbase</value>
  </property>
  <property>
      <name>hbase.master.info.port</name>
      <value>60010</value>
  </property> 
  <property>
      <name>hbase.zookeeper.property.clientPort</name>
      <value>2181</value>
  </property>
  <property>
       <name>zookeeper.session.timeout</name>
       <value>120000</value>
  </property>
  <property>
       <name>hbase.zookeeper.quorum</name>
       <value>master,slave1,slave2</value>
  </property>
  <property>
        <name>hbase.master.maxclockskew</name>
        <value>180000</value>
  </property>
  <property>
       <name>hbase.wal.provider</name>
       <value>filesystem</value>
  </property>

zookeeper 查看hbase节点 hbase zookeeper配置_zookeeper_07

  修改./habase/conf/  下regionservers文件

删除localhost,添加除master结点以外结点机器名

zookeeper 查看hbase节点 hbase zookeeper配置_zookeeper 查看hbase节点_08

 chown -R hadoop:hadoop /usr/local/src/hbase #修改hbase归属为hadoop用户

 同步hbase到其他虚拟机

sh xsync /usr/local/src/hbase

启动hbase

启动hadoop 

start-all.sh

jps #查看hadoop是否启动完全

启动zookeeper(在三台电脑上分别启动zookeeper)

zkServer.sh start

jps  #查看是否有QuorumPeerMain进程

#启动后会在/usr/local/src/zookeeper/data/ 下生成zookeeper_server.pid文件,它的用户归属为root,所以下一次启动是会报错权限不够,所以要在第一次启动后重新修改zookeeper用户归属

chown -R hadoop:hadoop /usr/local/src/zookeeper

启动hbase(在master,主结点上启动)

chown -R hadoop:hadoop /usr/local/src/hbase

启动之前确保文件中没有用户归属是root的文件


start-hbase.sh

jps

#查看是否有HMaster进程

#查看其他结点是否有HRegionServer进程

 如果你做了映射

那么就进入master:60010,查看是否有正确web端界面

如果没有进入  你自己的ip地址 192.168.10.100:60010,查看是否有正确web端界面

关闭流程

关闭hbase,zookeeper

stop-hbase.sh

zkServer.sh stop

stop-all.sh

错误检测 

  • 查看安全模式
hdfs dfsadmin -safemode get
  • 进入安全模式状
hdfs dfsadmin -safemode enter
  • 离开安全模式
hdfs dfsadmin -safemode leave