`
han.zoo
  • 浏览: 26439 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

HBase replication 建立

阅读更多

HBase replication建立

官方文档   http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/replication/package-summary.html#requirements

  http://hbase.apache.org/replication.html

 

参考:http://www.infoq.com/cn/articles/lp-hbase-data-disaster-recovery

Zookeeper should be handled by yourself, not by HBase, and should always be available during the deployment.

1.zookeeper不用hbase管理 修改hbase-env.sh

export HBASE_MANAGES_ZK=false

2.安装zookeeper 下载zookeeper 解压zookeeper

创建文件/hadoopDATA/zookeeper(根据配置文件dataDir)

每台zookeeper机器

建立/hadoopDATA/zookeeper/myid文件并根据

server.1=192.168.40.240:2888:3888
server.2=192.168.40.246:2888:3888
server.3=192.168.40.247:2888:3888
server.4=
192.168.40.248:2888:3888

写入1,2,3,4等

192.168.40.240机器的myid=1

192.168.40.246机器的myid=2

编辑zoo.cfg


dataDir=/hadoopDATA/zookeeper

server.1=192.168.40.240:2888:3888
server.2=192.168.40.246:2888:3888
server.3=192.168.40.247:2888:3888
server.4=192.168.40.248:2888:3888

3.copy zoo.cfg 至/hbase/conf文件夹下

copy zookeeper至各服务器,并创建文件/hadoopDATA/zookeeper/myid,根扰配置文件分别写入各个值

scp -r zookeeper-3.4.3/ hadoop@slave1:/home/hadoop/

scp -r zookeeper-3.4.3/ hadoop@slave2:/home/hadoop/

scp -r zookeeper-3.4.3/ hadoop@slave3:/home/hadoop/

4.启动zookeeper验证是否正常

zookeeper目录下各服务器分别启动zookeeper

./bin/zkServer.sh

All machines from both clusters should be able to reach every other machine since replication goes from any region server to any other one on the slave cluster. That also includes the Zookeeper clusters.

两个集群间机器互联没问题(ssh master,ssh slave1,ssh salve2,ssh slave3)

Both clusters should have the same HBase and Hadoop major revision. For example, having 0.90.1 on the master and 0.90.0 on the slave is correct but not 0.90.1 and 0.89.20100725.

版本保持一致

Every table that contains families that are scoped for replication should exist on every cluster with the exact same name, same for those replicated families.

两个cluster间的表结构需要保持一致

For multiple slaves, Master/Master, or cyclic replication version 0.92 or greater is needed.

测试环境

两个集群zookeeper handled not by hbase

编辑hbase-env.conf

export HBASE_MANAGES_ZK=false

两集群的zookeeper.znode.parent要不一致,hbase默认会创建/hbase/,cluster 2在hbase-site.xml 指定zookeeper.znode.parent为/hbase-2

1.cluster 1分布式Hbase环境

hadoop namenode(master),datanode(master,slave1,slave2)

HBase

HMaster(master),regionserver(master,slave1,slave2)

2.cluster2 Pseudo-distributed Hbase

hadoop配置文件

hdfs-site.xml

<configuration>
<property>
<name>dfs.name.dir</name>
<value>/hadoopDATA/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/hadoopDATA/data</value>
</property>
<property>
<name>fs.replication</name>
<value>1</value>
</property>
</configuration>

core-site.xml

<configuration>
<!-- global properties -->
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoopDATA/tmp</value>
</property>
<!-- file system properties -->
<property>
<name>fs.default.name</name>
<value>hdfs://slave3:9000</value>
</property>
</configuration>

masters

slave3

slaves

slave3

Hbase 配置文件

hbase-site.xml

<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://slave3:9000/hbase3</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master</name>
<value>slave3:60000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>slave3</value>
</property>
<property>
<name>hbase.replication</name>
<value>true</value>
</property>
<property>
<name>zookeeper.znode.parent</name>
<value>/hbase-2</value>

</property>

regionservers

localhost

建立replication

1.Edit ${HBASE_HOME}/conf/hbase-site.xml on both cluster to add the following configurations:

<property>
  <name>hbase.replication</name>
  <value>true</value>
</property>

deploy the files, and then restart HBase if it was running.

2.add_peer '7', "slave3:2181:/hbase-2"

报错,实际使用中没有影响

hbase(main):004:0> add_peer '7' ,"slave3:2181:/hbase-2"
12/03/02 15:04:43 ERROR zookeeper.RecoverableZooKeeper: Node /hbase/replication/peers already exists and this is not a retry
0 row(s) in 0.0650 seconds

3.Once you have a peer, you need to enable replication on your column families. One way to do it is to alter the table and to set the scope like this:

      disable 'your_table'
      alter 'your_table', {NAME => 'family_name', REPLICATION_SCOPE => '7
'}
      enable 'your_table'
  两个cluster的表存在且结构相同
 

4.开启停止复制

start_replication
stop_replication
分享到:
评论

相关推荐

    Hadoop-2.4.0+Hbase-0.94.18+Nutch-2.3集群爬虫配置攻略

    HBase是建立在Hadoop之上的分布式数据库,用于存储和处理大数据。在配置Hbase-0.94.18时,首先需要确保Hadoop已经正确配置并运行。Hbase的配置文件主要在`conf/hbase-site.xml`中。关键配置包括: 1. 设置HBase的主...

    HBase在京东的使用.pdf

    HBase是一个开源的非关系型分布式数据库(NoSQL),它建立在Hadoop文件系统(HDFS)之上,具有良好的横向扩展能力。京东作为国内大型电商平台,其对HBase的应用实践对于了解分布式数据库在大规模电子商务环境中的...

    藏经阁-HBase 在网易的实践.pdf

    他们建立了7个HBase集群,拥有200多个RegionServers,存储的数据量达到数百TB。 2. **Linux系统调优**: - **禁用透明大页(THP)**:THP可能导致性能问题,因此进行了关闭。 - **调整vm.swappiness**:设置为0,以...

    kafka、zookeeper、hadoop、hbase、phoenix集群搭建和java调用.zip

    搭建Kafka集群时,我们需要配置多个broker节点,并设置合适的参数如`num.partitions`和`replication.factor`以保证数据的冗余和可用性。Java调用Kafka时,可以使用Kafka的Java API创建生产者和消费者,进行消息发布...

    英特尔Hadoop发行版 2.2 开发者指南

    - **HBase Replication**:展示HBase的复制机制。 - **HBase Aggregate**:介绍如何使用聚合函数进行数据统计。 - **HBase Parallel Scanning**:演示并行扫描数据的方法。 - **HBase Group-by**:展示如何使用...

    Hadoop学习问答

    接着,你还需要配置HDFS的参数,如`dfs.replication`(数据块副本数量)和`dfs.name.dir`(NameNode的目录),并在所有节点上安装和启动相关服务。 集群搭建是Hadoop应用的重要环节。Hadoop可以运行在伪分布模式...

    hmyjsmst.docx

    - HBase是一个分布式的、面向列的开源数据库,它是建立在Hadoop之上的NoSQL数据库。 - **HBase集群结构** - HBase集群主要包括Master节点和RegionServer节点。 - **HBase的存储模型** - HBase的数据存储模型基于...

    易车大数据平台体系建设及实践.pdf

    2. EC(Erasure Coding):引入了数据冗余编码技术,以更高效的方式提供数据保护,相比传统的Replication方式,节省了存储资源,同时保证数据安全性。 3. Kafka、Flink、HBase、Hdfs、Hive、Spark等组件的集成使用,...

    EleasticSearch基本原理及架构.pdf

    在面对大规模数据检索的问题时,尤其是在数据量达到10亿、100亿级别的系统中,我们需要考虑以下几个关键点:选择适合的数据库(如MySQL、Sybase、Oracle、MongoDB、HBase等)、解决单点故障(通过负载均衡器、...

    用Java怎么实现有每天有1亿条记录的DB储存,数据库如何设计.docx

    - 考虑使用分布式数据库,如Hadoop HBase或Apache Cassandra,这些数据库专门设计用于处理大规模数据。 - 对于关系型数据库,可以考虑使用支持分区和分片的MySQL,以提高性能和可扩展性。 2. **Spring Batch集成*...

    淘宝数据库架构演进历程.pdf

    这一阶段,MySQL Replication和Master-Slave架构成为了主流,读写分离有效降低了主库的压力,提高了系统的可用性。 3. 分布式数据库阶段:进一步应对海量数据,淘宝引入了分布式数据库系统,如TDDL(Taobao ...

    100亿数据量1万属性数据库架构设计

    6. **分布式架构**:采用分布式数据库架构,通过分布式技术如分片(Sharding)、复制(Replication)、负载均衡等技术,保证数据的高可用性和负载均衡。 7. **索引策略优化**:对于组合查询,可以使用全文索引和列...

    高并发大容量NoSQL解决方案探索.docx

    为了进一步优化哈希分布式的性能和平衡性,业界普遍采用了虚拟节点技术,该技术在数据分片和实际存储服务器之间建立了额外的映射层,从而提高了系统的灵活性和效率。 #### NoSQL数据库的分类 NoSQL数据库可以根据...

    大数据开发面试学习指南

    - **何时建索引**:当表中数据量较大时应考虑建立索引以加快查询速度;但如果更新操作频繁,则需权衡建索引带来的性能提升与维护成本之间是否划算。 - **索引优化**:可以通过调整索引列顺序、合理选择索引类型等...

    大数据技术与应用赛题库

    - 设置`dfs.replication`参数来控制数据块的副本数。 - 启动与监控Hadoop集群服务,包括NameNode、DataNode、SecondaryNameNode等。 - **实践意义**:全分布模式下的Hadoop集群能够提供高可用性和容错性,是大...

Global site tag (gtag.js) - Google Analytics