设为首页 收藏本站
查看: 1066|回复: 0

[经验分享] hadoop2.2.0集群基础上安装zookeeper3.4.5和hbase0.96(双机热备)

[复制链接]

尚未签到

发表于 2019-1-9 06:48:48 | 显示全部楼层 |阅读模式
本文非详细指南,主要记录安装步骤及问题解决思路,重点在hadoop2.2.0集群已建立的基础上部署hbase0.96和zookeeper3.4.5



一、安装zookeeper3.4.5



1、解压

这里有5个zookeeper的节点,安装路径都为: /home/hadoop/zookeeper

2、配置zoo.cfg

5个节点的zoo.cfg配置相同,如下

[hadoop@master1conf]$ vi zoo.cfg

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/home/hadoop/zkdata

clientPort=2181

server.1=namenode1:2888:3888

server.2=namestandby:2888:3888

server.3=datanode1:2888:3888

server.4=datanode2:2888:3888

server.5=datanode3:2888:3888

  

  2、Zookeeper Log4j日记输出修改
  不习惯zookeeper的log日志输出到当前zookeeper.out的文件,这是一个控制台的重定向文件,想着让zk的操作日志输出到标准的log4j文件。

  首先修改了:
  conf/log4j.properties:
  # Define some default values that can be overridden by system properties
  zookeeper.root.logger=INFO, CONSOLE
  改成
  # Define some default values that can be overridden by system properties
  zookeeper.root.logger=INFO,ROLLINGFILE
  但是这样启动的时候,还是输出到zookeeper.out文件中。还要修改bin/zkEvn.sh文件,

  if [ "x${ZOO_LOG4J_PROP}" = "x" ]
  then
      ZOO_LOG4J_PROP="INFO,CONSOLE"
  fi
  

  改成
  if [ "x${ZOO_LOG4J_PROP}" = "x" ]
  then
      ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
  fi
  这样再启动zkSever.sh start的时候 就会生成log4j.properties配置的中设定的zookeeper.log文件。


3、在5台zookeeper节点的 dataDir(即/home/hadoop/zkdata)下分别建立相应的myid文件,展示master1的细节如下:

[hadoop@master1zkdata]$ pwd

/home/hadoop/zkdata

[hadoop@master1zkdata]$ ls

myid

[hadoop@master1zkdata]$ cat myid

1

其他节点分别是 2 3 4 5 。

4、在/etc/profile文件中设置PATH
修改profile文件:
sudo vi /etc/profile
export ZOOKEEPER_HOME=/home/hadoop/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH

5、安装完毕
6、启动并测试zookeeper
6.1、在所有服务器中执行:zookeeper/bin/zkServer.sh start
6.2、输入jps命令查看进程:
namenode上显示为(本次为单机配置):
7724 DataNode
19769 HMaster
7485 NameNode
19361 QuorumPeerMain
7972 SecondaryNameNode
19988 HRegionServer

21691 Jps


其中,QuorumPeerMain是zookeeper进程,启动正常。(HMaster和HRegionServer为之后启动的hbase进程,其他为安装hadoop后启动的进程)
6.3、查看状态:zookeeper/bin/zkServer.sh status
JMX enabled by default
Using config: /home/hadoop/zookeeper/bin/../conf/zoo.cfg
Mode: follower

6.4、启动客户端脚本:zookeeper/bin/zkCli.sh -server namenode:2181
WatchedEvent state:SyncConnected type:None path:null
[zk: zookeeper:2181(CONNECTED) 0]
[zk: zookeeper:2181(CONNECTED) 0] help
ZooKeeper -server host:port cmd args
        connect host:port
        get path [watch]
        ls path [watch]
        set path data [version]
        rmr path
        delquota [-n|-b] path
        quit
        printwatches on|off
        create [-s] [-e] path data acl
        stat path [watch]
        close
        ls2 path [watch]
        history
        listquota path
        setAcl path acl
        getAcl path
        sync path
        redo cmdno
        addauth scheme auth
        delete path [version]
        setquota -n|-b val path
[zk: zookeeper:2181(CONNECTED) 1] ls /
[hbase, zookeeper]
[zk: zookeeper:2181(CONNECTED) 2]

6.5、停止zookeeper进程:zookeeper/bin/zkServer.sh stop



二、hadoop2.2.0下载、解压、配置(请参阅hadoop2.2.0安装配置及HA配置)

  

三、hbase0.96的安装



1、下载解压

2、本文案例部署了namenode(1台Hmaster)、datanode1、datanode2、datanode3(3台HRegionServer),安装路径如下:

/home/hadoop/hbase

3、参数配置

因为要使用已存在的zookeeper实例,需要修改$HBASE_HOME/conf/hbase-env.sh中的一个参数,如下所示:

# Tell HBase whetherit should manage it's own instance of Zookeeper or not.

export HBASE_MANAGES_ZK=false

修改hbase-site.xml,在本文案例中,其内容如下:



hbase.rootdir

hdfs://namenode:9000/hbase


(此处重要,“hdfs://namenode:9000”这个url要与hadoop中hdfs-site.xml中的对应配置保持一致,而“/hbase”是hbase在hdfs上数据存放的根路径,可自定义)


hbase.cluster.distributed

true



hbase.zookeeper.quorum

namenode,namenodestandby,datanode1,datanode2,datanode3



hbase.zookeeper.property.dataDir

/home/hadoop/zkdata


修改regionservers ,在本文案例中,其内容如下:

datanode1

datanode2

datanode3



4、lib目录下jar包的替换

hbase0.96安装包的lib目录下所用的hadoop相关jar包都是hadoop2.1.0 beta版的。

而这部分jar包跟hadoop2.2.0之间不能完全兼容,所以需要将hbase0.96的lib目录中的hadoop相关jar包替换成hadoop2.2.0版的jar包。

5、将hadoop的配置文件(最少需要hdfs-site.xml)copy到hbase0.96的conf目录下

6、启动hbase

$HBASE_HOME/bin/start-hbase.sh

在各节点上用jps看一下是否启动成功

打开web客户端 查看相关信息:

(Hmaster)http://namenode:60010



(RegionServer)http://datanode1:60030


启动shell 连接,   $HBASE_HOME/bin/hbase shell

执行几个基本操作,如list,status,create,put,get等进行测试

  如下顺利通过,则安装成功完成。
  






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-660902-1-1.html 上篇帖子: Kafka 0.9+Zookeeper3.4.6集群搭建、配置,新Client API的使用要点,高 下篇帖子: 基于ZooKeeper的分布式Session实现
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表