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

[经验分享] 分布式Hbase-0.98.4在Hadoop-2.2.0集群上的部署

[复制链接]
累计签到:15 天
连续签到:1 天
发表于 2015-7-11 11:41:43 | 显示全部楼层 |阅读模式
  
  fesh个人实践,欢迎经验交流!本文Blog地址:http://www.iyunv.com/fesh/p/3898991.html
  Hbase 是Apache Hadoop的数据库,能够对大数据提供随机、实时的读写访问功能,具有开源、分布式、可扩展及面向列存储的特点。由于Hbase架构是基于其他文件存储系统的,因此在分布式模式下安装Hadoop是必须的。本文参考官方文档,安装部署一个完全分布式的Hbase集群。@_@
  一、基本环境
  操作系统:Ubuntu14.04 Server-x64
  JDK版本:jdk1.8.0_11
  Hadoop:hadoop-2.2.0
    Zookeeper:zookeeper-3.4.6
  Hbase  :hbase-0.98.4-hadoop2 (stable)(版本与Hadoop、Zookeeper相对应)
  计算机台数:3

主机名IP地址JDK_x64Hadoop-2.2.0集群Zookeeper-3.4.6集群Hbase-0.98.4集群
master192.168.145.11.8.0_11NameNode,DataNodeQuorumPeerMain HMaser,HRegionServer 
slave1192.168.145.21.8.0_11DataNodeQuorumPeerMain  HMaster(backup-masters),HRegionServer
slave2192.168.145.31.8.0_11DataNodeQuorumPeerMain  HRegionServer
  二、预安装配置
  安装JDK
  安装SSH及设置SSH免密码登录,设置master可以免密码登陆slave1和slave2
  配置主机-IP地址映射 /etc/hosts 及 /etc/hostname
  搭建ZooKeeper集群,请参见《分布式Apache ZooKeeper-3.4.6集群安装》
  搭建Hadoop集群,可以参考《Ubuntu12.04-x64编译Hadoop2.2.0和安装Hadoop2.2.0集群》
  三、Master节点配置信息
  1、$HBASE_HOME/conf/hbase-env.sh  
    配置Hbase运行环境,包括Java安装路径及其他环境变量

  JAVA_HOME         :JAVA安装目录
  HADOOP_CONF_DIR   :HADOOP配置目录
  HBASE_HEAPSIZE    :设置堆内存为4G而不是默认的1G
  HBASE_MANAGES_ZK  :Tell HBase whether it should manage its own instance of Zookeeper or not.
          To point HBase at an existing ZooKeeper cluster, one that is not managed by HBase, set HBASE_MANAGES_ZK in conf/hbase-env.sh to false


export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_11
export HADOOP_CONF_DIR=/home/fesh/hadoop-2.2.0/etc/hadoop
export HBASE_HEAPSIZE=4096
export HBASE_MANAGES_ZK=false
  2、$HBASE_HOME/conf/hbase-site.xml
     hbase.rootdir          :Hbase数据存储目录(HDFS中目录)

   hbase.cluster.distributed        :指定Hbase是否运行在分布式模式
     hbase.zookeeper.property.dataDir :Zookeeper写数据目录(与ZooKeeper集群上配置相一致)

     hbase.zookeeper.quorun           :指定Hbase在每个节点上开启和管理一个Zookeeper instance,即指定ZooKeeper集群位置
    hbase.master           :指定Hbase的master的位置




hbase.rootdir
hdfs://master:9000/hbase


  hbase.cluster.distributed
  true

 
  hbase.zookeeper.quorum
  master,slave1,slave2


hbase.zookeeper.property.dataDir
/home/fesh/data/zookeeper


  hbase.master
  hdfs://master:60000

   
  3、$HBASE_HOME/conf/regionservers
    regionservers文件列出了所有运行Hbase RegionServer CHRegion Server的机器。此文件的配置和Hadoop的slaves文件十分类似,每一行指定一台机器。当Hbase的时候,会将此文件中列出的所有机器启动;同样,当Hbase关闭的时候,也会同时自动读取文件并将所有机器关闭。
    删除localhost,添加



master
slave1
slave2
  4、$HBASE_HOME/conf/backup-masters  
    新建此文件,用于设置备份Master (a backup master),这里设置为slave1节点



slave1
  四、分发文件
  分发到slave1:



scp -r hbase-0.98.4-hadoop2 slave1:~/
  分发到slave2:



scp -r hbase-0.98.4-hadoop2 slave2:~/
  五、其他配置(每个节点上都需要配置)
  1、设置ulimit 和 nproc
    HBase是数据库,会在同一时间使用很多的文件句柄。大多数linux系统使用的默认值1024是不能满足的,会导致FAQ: Why do I see "java.io.IOException...(Too many open files)" in my logs?异常。所以你需要修改你的最大文件句柄限制。可以设置到10k. 你还需要修改 hbase 用户的 nproc,如果过低会造成OutOfMemoryError异常。
  /etc/security/limits.conf  Ubuntu上的ulimit设置,操作系统用户fesh(用户名)打开文件(nofile)的soft and hard limits数目设置为32768, 用户fesh的processes数目设置为32000



fesh  -       nofile  32768
fesh  -       nproc   32000
  另外,在 /etc/pam.d/common-session 加上这一行,否则在 /etc/security/limits.conf上的配置不会生效



session required  pam_limits.so
  还有注销再登录,这些配置才能生效!
  2、配置dfs.datanode.max.xcievers
  一个 Hadoop HDFS Datanode 有一个同时处理文件的上限. 这个参数叫 xcievers (Hadoop的作者把这个单词拼错了). 在你加载之前,先确认下你有没有配置这个文件conf/hdfs-site.xml里面的xceivers参数,至少要有4096:
  配置文件$HADOOP_HOME/etc/hadoop/hdfs-site.xml,添加



   
dfs.datanode.max.xcievers
4096

  如果没有这一项配置,你可能会遇到奇怪的失败。你会在Datanode的日志中看到xcievers exceeded,但是运行起来会报 missing blocks错误。
  对于HDFS修改配置要记得重启.
  3、配置系统环境变量
  /etc/profile ,添加



#Set HBASE_HOME ENVIRONMENT
export HBASE_HOME=/home/fesh/hbase-0.98.4-hadoop2
export PATH=$PATH:$HBASE_HOME
  六、集群启动及查看
  1、启动
  Hbase的启动顺序为:  HDFS -> ZooKeeper -> Hbase
  master节点:
  在$HADOOP_HOME目录下启动Hadoop集群



sbin/start-all.sh
  每个节点:
  在$ZOOKEEPER_HOME目录下启动ZooKeeper集群



bin/zkServer.sh start
  master节点:
  在$HBASE_HOME目录下启动Hbase集群



bin/start-hbase.sh
  2、命令查看
  master节点:
DSC0000.jpg
DSC0001.jpg
  slave1节点:
DSC0002.jpg
DSC0003.jpg
  slave2节点:
DSC0004.jpg
DSC0005.jpg
  3、UI查看
  60010端口查看Master
  60030端口查看RegionServer
  master节点
DSC0006.jpg
DSC0007.jpg
  这里slave1和slave2没有可视化界面,所以不使用UI查看。
  七、停止
  停止顺序:Hbase  》  ZooKeeper  》 Hadoop
DSC0008.jpg
DSC0009.jpg
DSC00010.jpg
  
  参考:
  1、http://hbase.apache.org/book/book.html
  2、http://hbase.apache.org/book/quickstart.html

运维网声明 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-85521-1-1.html 上篇帖子: Apache Mahout的Taste基于Hadoop实现协同过滤推荐引擎的代码分析 下篇帖子: hadoop分布式安装过程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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