关闭

基于集群的Hadoop HBase安装与配置

标签: hbasezookeeper
1063人阅读 评论(0) 收藏 举报
分类:

  本文假设已经安装好一个三个节点的Hadoop集群,NameNode为namenode, 而DataNode为datanode1,datanode2。关于Hadoop集群的配置可以查看博客 集群分布式 Hadoop安装详细步骤,这里不再说明。

  Hbase要求每台机器必须能用主机名(而不是IP)来相互访问,因此在安装之前需要配置每个主机的/etc/host文件。本系统三个节点主机名和IP对应如下:
192.168.1.19  namenode
192.168.1.7  datanode1
192.168.1.20   datanode2

  另外,HBase集群要求每个节点的时间必须同步。这主要是因为HBase需要使用系统时间来产生时间戳。如果系统时间不同步的话,那么每个节点产生的时间戳差异会比较大,这就违背了时间戳设计的初衷。HBase对于节点间的时间扭曲的容忍度在秒级,如果Hbase发现节点间的时间差异已经有几十秒会拒绝启动。节点间同步的方法是建立NTP服务器,然后让所有的节点都和NTP服务器同步。

  HBase集群依赖一个Zookeeper集群来进行同步和协作,其中至少需要配置一个Zookeeper节点。部署的Zookeeper节点越多,可靠性越高。Zookeeper节点的个数最好为奇数个。下面我们先在namenode,datanode1,datanode2上部署一个3个节点的Zookeeper集群。
  
  在Apache Zookeeper发布页面(http://www.apache.org/dyn/closer.cgi/zookeeper)下载一个Zookeeper稳定版,然后在namenode解压:

$ tar xzf zookeeper-3.4.5.tar.gz

在zookeeper-3.4.5/conf文件夹下将文件zoo_sample.cfg改为zoo.cfg

$ cp zoo_sample.cfg zoo.cfg

修改zoo.cfg文件,主要是添加最后面的server主机名,其余基本不需要改动。

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/var/zookeeper
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

server.1=namenode:2888:3888
server.2=datanode1:2888:3888
server.3=datanode2:2888:3888                           

  用scp将namenode节点的zookeeper-3.4.5文件夹拷贝到datanode1,datanode2,然后在每个节点的/var目录下新建一个文件夹zookeeper,在该目录下新建名为myid的文件。根据zoo.cfg中的配置,在各自的myid文件中写入各自的编号,如:namenode的myid文件中写入1,datanode1的myid文件中写入2,datanode2写入3.

在所有节点的zookeeper-3.4.5文件夹下启动Zookeeper:

$ ./zkServer.sh start

  下面开始部署HBase,在Apache HBase发布页面(http://www.apache.org/dyn/closer.cgi/hbase)下载一个HBase稳定版本,解压到namenode:

$ tar xzf hbase-0.94.7.tar.gz
$ cd hbase-0.94.7

在hbase-0.94.7/conf/hbase-site.xml文件(这个是HBase的主配置文件)中配置如下:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://namenode:9000/hbase</value>
        </property>
         <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
        <property>
                <name>dfs.support.append</name>
                <value>true</value>
        </property>
        <property>
                <name>hbase.zookeeper.quorum</name>
                <value>namenode,datanode1,datanode2</value>
        </property>
        <property>
                <name>hbase.zookeeper.property.dataDir</name>
                <value>/var/zookeeper</value>
        </property>
        <property>
                <name>hbase.zookeeper.property.clientPort</name>
                <value>2181</value>
        </property>

修改hbase-env.sh(在/hbase-0.94.7/conf目录, 这个是Hbase的启动配置脚本,用于设置环境变量、内存设置等),增加内容如下:

export JAVA_HOME=/usr/java/jdk1.6.0_45/jre
export HADOOP_HOME=/home/hadoop/hadoop-1.2.1
export HBASE_HOME=/home/hadoop/hbase-0.94.7

在hbase-0.94.7/conf/regionservers中添加节点,内容如下:

namenode
datanode1
datanode2

  在hadoop-1.0.3/lib文件下的hadoop-core-1.0.3.jar拷贝到hbase-0.94.7/lib下,(这个根据自己的hadoop版本拷贝),替换掉hadoop-core-xxx.jar文件。

最后,把配置好的hbase-0.94.7用scp发送到其他节点。
在namenode节点执行bin/start-hbase.sh脚本启动Hbase集群。

$ ./bin/start-hbase.sh

下一步就可以编程了。

内容来源:《深入理解大数据,大数据处理与编程实践》黄宜华教授主编

0
0
查看评论

Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境

Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境 一、环境说明 集群环境至少需要3个节点(也就是3台服务器设备):1个Master,2个Slave,节点之间局域网连接,可以相互ping通,下面举例说明,配置节点IP分配如下: IP  ...
  • reblue520
  • reblue520
  • 2017-04-28 10:48
  • 3791

Hbase完全分布式集群安装配置(Hbase1.0.0,Hadoop2.6.0)

Hbase安装文档 1.   安装软件 OS:centos6.5 Hadoop:hadoop2.6.0 Hbase:hbase.1.0.0 JDK: jdk1.7.0_51 集群机器: 192.168.153.130(hadoop130 namenode) 192.16...
  • wuwenxiang91322
  • wuwenxiang91322
  • 2015-03-27 23:07
  • 34848

伪分布式集群环境hadoop、hbase、zookeeper搭建(全)

环境说明  1、操作系统centos 6.5
  • xumajie88
  • xumajie88
  • 2014-05-11 02:11
  • 1597

Hadoop HBase Hive安装,配置,整合

软件环境:Hadoop2.4, HBase
  • dream_it_life
  • dream_it_life
  • 2014-06-06 13:15
  • 4884

<Hadoop>HBase 集群安装

参考 http://blog.csdn.net/chenxingzhen001/article/details/7756129 Namenode:master DataNode:slave1,slave2 一.先关闭hadoop ,stop-all.sh 二.在master上安...
  • awsxsa
  • awsxsa
  • 2016-06-08 22:33
  • 638

学习搭建Hadoop+HBase+ZooKeeper分布式集群环境

一、环境配置 由于集群至少需要三台服务器,我就拿上次做的MongoDB Master, Slave, Arbiter环境来做Hadoop集群。服务器还是ibmcloud 免费提供的。其中Arbiter在这里做的也是slave的角色。 Hostname I...
  • rapheler
  • rapheler
  • 2016-05-04 16:51
  • 4323

基于hadoop集群的Hive1.2.1、Hbase1.2.2、Zookeeper3.4.8完全分布式安装

基于hadoop 2.7 的完全分布式集群部署 hive 2.0.0, Zookeeper 3.4.8 和 Hbase 1.2.2
  • Gamer_gyt
  • Gamer_gyt
  • 2016-07-27 14:41
  • 5685

基于独立Zookeeper集群的Hbase 安装配置实验

前面做了基于Hbase自带Zookeeper的安装配置(参考http://blog.csdn.net/wzy0623/article/details/51241641),今天做了个基于独立Zookeeper集群的。 一、实验环境 3台CentOS release 6.4虚拟机,IP地址为 ...
  • wzy0623
  • wzy0623
  • 2016-04-28 18:00
  • 1827

Solr+Hbase多条件查(优劣互补)

为什么要使用solr+hbase组合: 某电信项目中采用HBase来存储用户终端明细数据,供前台页面即时查询。HBase无可置疑拥有其优势,但其本身只对rowkey支持毫秒级的快速检索,对于多字段的组合查询却无能为力。针对HBase的多条件查询也有多种方案,但是这些方案要么太复杂,要么效率太低,本...
  • zwx19921215
  • zwx19921215
  • 2014-12-09 10:26
  • 16397

ganglia安装和配置监控hadoop,hbase,spark

hadoop平台是原生态安装的,安装完各模块发现没有统一监控界面,经网上查询说ganglia是个不错的选择,开始在网上大量搜索关于如何用ganglia监控的资料,碰到各种报错,就是出不来想要的结果,拿就用最原始的方法,看沉下心来看官方文档,理解参数的意义,各种尝试组合,终于在3天下班的前一刻出来自己...
  • haoxiaoyan
  • haoxiaoyan
  • 2016-10-21 15:04
  • 1152
    个人资料
    • 访问:591236次
    • 积分:8285
    • 等级:
    • 排名:第2906名
    • 原创:212篇
    • 转载:331篇
    • 译文:0篇
    • 评论:82条
    最新评论