精华内容
下载资源
问答
  • Hbase集群数据同步验证

    千次阅读 2021-03-07 23:41:43
    HBASE zookeeper kerberos A集群 pthadoop01.dcs.com 192.168.98.37 namenode journalnode datanode hmster ...

     

    环境信息

    集群

    主机名称

    IP地址

    HDFS

    HBASE

    zookeeper

    kerberos

    A集群

    demo1.xiaoke.com

    192.168.98.37

    namenode
    journalnode
    datanode

    hmster
    regionserver

    zookeeper server

     
    demo2.xiaoke.com

    192.168.98.38

    namenode
    journalnode
    datanode

    hmster
    regionserver

    zookeeper server

     

    demo3.xiaoke.com

    192.168.98.39

    journalnode
    datanode

    regionserver

    zookeeper server

     

    B集群

    test1.xiaoke.com

    192.168.98.48

    namenode
    journalnode
    datanode

    hmster
    regionserver

    zookeeper server

     

    test2.xiaoke.com

    192.168.98.47

    namenode
    journalnode
    datanode

    hmster
    regionserver

    zookeeper server

     

    test3.xiaoke.com

    192.168.98.46

    journalnode
    datanode

    regionserver

    zookeeper server

     

     

    同步配置

    A集群与B集群均开启replication功能

    A集群增加对应的peer

    add_peer '11',' test1.xiaoke.com, test2.xiaoke.com, test3.xiaoke.com:2181:/hbase-unsecure'

    (11表示peer_id,若未加kerberos等安全认证,需要去ambari上查询zookeeper.znode.parent)

    注意:启用了kerberos认证后zk地址一定要使用域名的方式
    ps:
    remove_peer '11'  #
    删除peer(删除后,需要重新add + set)
    add_peer '11','
    test1.xiaoke.com, test2.xiaoke.com, test3.xiaoke.com:2181:/hbase-unsecure'
    set_peer_tableCFs '11','student'
    show_peer_tableCFs
    list_peers

    disable_peer '11'

    enable_peer '11'

     

    A集群与B集群创建一样的表student

    create 'student', 'score', {SPLITS => ['2','3', '4','5','6', '7','8', '9']}

    功能验证

    准备批量插入数据脚本,一共200条记录

     

    put 'student', '1', 'score:number', '1'

    ….

    put 'student', '200', 'score:number', '200'

    hbase跨集群主从同步功能及数据完整性验证

    A集群修改表属性

    disable 'student'

    alter 'student', {NAME => 'score',REPLICATION_SCOPE => '1'}

    enable 'student'

     

    配置表同步

    set_peer_tableCFs '11','student'

    (多张表的话以逗号分隔,如set_peer_tableCFs '11','student,student1')

     

    客户端执行往A集群插入数据

    put 'student', '1', 'score:number', '1'

    ….

    put 'student', '200', 'score:number', '200'

     

    A集群状态

     

    B集群状态

     

    批量插入数据脚本执行完成后,在A集群执行:

    hbase org.apache.hadoop.hbase.mapreduce.replication.VerifyReplication 11 student

    对比数据,如下图

     

     

    结果显示,GOODROWS为200,说明AB集群同步后数据一致。

    (1)当主机群同步验证停止后(disable_peer)
     


    向A集群插入新数据,

     

    查看B集群,无增量数据同步过来

     

    在A集群enable_peer后,

    查看B集群数据,数据同步了过来,但时间在10秒左右

     

    (2)当主机群移除同步验证后(remove_peer)

     

     

    插入数据

     

    B集群无数据同步过来

     

    重新添加同步验证

    重新添加,设置后,一秒后,增量添加到从集群了。

     

     

    (3)删除主机群上的zk里的replication的节点目录
    ps: hbase复制的状态都存储在zookeeper中,默认情况下存储到 /hbase/replication,这个目录有三个子节点: peers znode、rs znode和state。peer 节点管理slave集群在zk上的配置;state节点记录replication运行的状态;rs 节点记录着本集群rs中对应的hlog同步的信息,包括check point信息。(如果人为的删除 /hbase/replication 节点,会造成复制丢失数据)

     

    (3.1)只有全部删除后,才会出现了无法同步
    主库的student表无法添加数据,无法查询,从库的student表可以查询,但无增量数据

     

     

     

    (3.2)zk状态正常

     

     

    (3.3)查看peers状态

    (3.4)修复

    直接删除replication这个目录,再进行hmaster的主从切换,即重启hmaster。

     

    数据恢复,但从集群数据未同步过来。

     

     

    删除peers,重新建peers,增量数据同步成功,但中间的目录损坏时的增量数据,无法恢复,

     

     

     

     

     

     

    展开全文
  • Hbase集群迁移

    2021-08-26 10:47:07
    一、Hbase集群迁移方式## 标题 Hbase集群迁移的方式:copyTable...copyTable的本质也是利用MapReduce进行同步的,与DistCp不同的时,它是利用MR去scan 原表的数据,然后把scan出来的数据写入到目标集群的表。这种方

    一、Hbase跨集群迁移方式## 标题
    Hbase跨集群迁移的方式:copyTable、distcp、export/import、snapshot。
    备注:新集群Hbase 版本cdh 2.1.0。

    1、copyTable方式集群间迁移(HBase层数据迁移)

    copyTable也是属于HBase数据迁移的工具之一,以表级别进行数据迁移。copyTable的本质也是利用MapReduce进行同步的,与DistCp不同的时,它是利用MR去scan 原表的数据,然后把scan出来的数据写入到目标集群的表。这种方式也有很多局限,如一个表数据量达到T级,同时又在读写的情况下,全量scan表无疑会对集群性能造成影响。

    #1、ssh登录服务器  (切换到hbase用户)
    源集群节点:  (hbase用户)
    目标集群节点:(hbase 用户)
    
    #2、在目标集群上创建同名同结构的表
    源集群执行  desc  tablename  ,结果去除特殊字符后,在目标集群hbase shell 命令行执行
    create 'table',{name =>}
    
    #3、确保待迁移的表无读写
    #hbase  shell   执行   
    flush  'table_name' 
    hbase org.apache.hadoop.hbase.mapreduce.CopyTable \
    -Dhbase.client.scanner.caching=5000 -Dmapreduce.local.map.tasks.maximum=30 \
    -Dmapred.map.tasks.speculative.execution=false -Dbandwidth=200 \
    --peer.adr=zkip:2181:/hbase  \
    --new.name='table_new' table_name
    #.增量备份:增量备份表数据,参数中支持timeRange,指定要备份的时间范围,使用方式如下
    hbase org.apache.hadoop.hbase.mapreduce.CopyTable ... --starttime=start_timestamp --endtime=end_timestamp
    
    #4、对比原集群与目标集群表数据量
    count  'table_name'
    
    

    2、Distcp 方式集群间迁移(Hadoop层数据迁移)
    两个步骤:
    (1)拷贝底层表hdfs数据
    (2)使用hbck工具恢复表数据

    #1、数据刷盘
    > flush  'test_hbase2_permiss_move'
    #2、distcp 离线拷贝,放在目标集群hbase的/tmp或者临时目录
    sudo -u hbase hadoop distcp -bandwidth 2 -m 100  -skipcrccheck -update hdfs://ip:8020/hbase-2/data/default/test_hbase2_permiss_move hdfs://ip:8020/hbase/data/default/test_hbase2_permiss_move
    
    备注:
    distcp 拷贝时可根据配置文件过滤掉不需要的目录,如过滤空表
    过滤空表  节点 /home/hadoop/distcp_table_filter.txt 为需过滤掉的文件,
    正则路径如 hdfs:\/\/.*\.*\.*\.*:8020\/hbase\/data\/default\/test_hbase_permiss_03\/.*
    #测试
    hadoop distcp -bandwidth 2 -m 100 -filters ./distcp_table_filter.txt hdfs://ip:8020/hbase/data/default/* hdfs://ip:8020/tmp/test_distcp 
    
    以上为数据拷贝步骤。
    以下为恢复数据操作,需要下载hbck工具 https://github.com/apache/hbase-operator-tools
    
    数据恢复的详细步骤:
    #移动文件到目标目录   用hbase用户
    1、 sudo -u hbase hdfs dfs -mv  /tmp/default/*  /hbase/data/default/
    2、重启master
    3、添加元数据
    sudo -u hbase hbase hbck -j /opt/hbase_move/hbase-hbck2/hbase-hbck2-1.1.0.jar addFsRegionsMissingInMeta   default:fw_res 
    4、重启master
    5、重新分配region
    sudo -u hbase hbase hbck -j /opt/hbase_move/hbase-hbck2/hbase-hbck2-1.1.0.jar assigns  766a0d5e3394a83a258e5db20a6ec604 dc5b4bc928c518b0d3bf6ebd247e96b9
    6、合并region
    sudo -u hbase sh merging-region.sh  1 1000 fw_res  >> /opt/hbase_move/merge_region/20210815-01.log
    
    

    3、Snapshot方式

    #快照
    hbase shell
    > flush 'table_name'
    > snapshot 'table_name', 'table_name_snapshot'
    > list_snapshots
    > delete_snapshot 'table_name_snapshot'
    
    #迁移快照
    hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot \
    -Dsnapshot.export.skip.tmp=true \  
    #导出大表时需加上,不加的话默认快照引用会先写入/hbase/.hbase-snapshot/.tmp下,等hfile拷贝完成后正式写入/hbase/.hbase-snapshot下,但在拷贝过程中,snapshot是不是被hfilecleaner识别,超时后会删除archive下的文件,小表没问题,大表会报错,filenotfound
    -Dmapreduce.map.memory.mb=2048
    #指定每个map的内存
    -snapshot table_name_snapshot \
    -copy-from hdfs://ip:8020/hbase-2 \
    -copy-to hdfs://ip:8020/hbase \
    -mappers 16 \
    -bandwidth 100 \
    -overwrite
    
    3. 恢复(在cluster02进行)
    方式1:会覆盖原表device
    hbase shell
    > disable device
    > restore_snapshot 'device_snapshot01'
    > enable device
    方式2:恢复到新表
    > clone_snapshot 'table_name_snapshot','table_name_new'
    

    HBase ExportSnapshot报FileNotFoundException问题分析

    4、Export/Import方式

    此方式与CopyTable类似,主要是将HBase表数据转换成Sequence File并dump到HDFS,也涉及Scan表数据,与CopyTable相比,还多支持不同版本数据的拷贝,同时它拷贝时不是将HBase数据直接Put到目标集群表,而是先转换成文件,把文件同步到目标集群后再通过Import到线上表。主要有两个阶段:

    Export阶段: 将原集群表数据Scan并转换成Sequence File到Hdfs上,因Export也是依赖于MR的,如果用到独立的MR集群的话,只要保证在MR集群上关于HBase的配置和原集群一样且能和原集群策略打通(master&regionserver策略),就可直接用Export命令,如果没有独立MR集群,则只能在HBase集群上开MR,若需要同步多个版本数据,可以指定versions参数,否则默认同步最新版本的数据,还可以指定数据起始结束时间,使用如下:

    hbase org.apache.hadoop.hbase.mapreduce.Export <tableName> <ouput_hdfs_path> <versions> <starttime> <endtime>
    

    Import阶段: 将原集群Export出的SequenceFile导到目标集群对应表,使用如下:

    #如果原数据是存在原集群HDFS,此处input_hdfs_path可以是原集群的HDFS路径,如果原数据存在目标集群HDFS,则为目标集群的HDFS路径
    hbase org.apache.hadoop.hbase.mapreduce.Import <tableName> <input_hdfs_path>
    

    二、Hbase跨集群不停服数据迁移## 标题

    Hbase 的 snapshot + replication 实现不停服数据迁移。主要思路是主集群开启复制,使用快照迁移历史数据,通过replication同步增量数据,使主从集群保持数据一致后即可断开主从关系,实现不停服数据迁移。具体实施时根据开启复制时机有两种方法。

    (1)主从复制连同后,先暂停复制,创建快照,迁移快照,从集群恢复数据后,后开启暂停的复制

    #[[[需打开source集群 hbase shell 命令行、sink集群 hbase shell命令行、sink集群的服务器shell 命令行 ]]]
    # 1、老集群(source)hbase shell命令行执行 - 获取表结构
    describe 'table_name'
    
    # 2、新集群(sink)hbase shell命令行执行 - 新集群建同结构表
    create 'table_name',{NAME => 't', VERSIONS => '1', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE', CACHE_DATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '1', BLOOMFILTER => 'ROW', CACHE_INDEX_ON_WRITE => 'false', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE => '65536', METADATA => {'COMPRESSION_COMPACT' => 'GZ'}}
    list
    
    # 3、老集群(source)hbase shell命令行执行 - 开启表的replication_scope
    disable 'table_name'  
    alter  'table_name', {NAME = > 't', REPLICATION_SCOPE = > '1'} 
    enable'table_name'
    list_replicated_tables
    
    # 4、老集群(source)hbase shell命令行执行 - 添加从集群和复制表
    add_peer 'cdhservice', 'zkip:2181:/hbase', 'table_name' 
    list_peers
    # 4、老集群(source)hbase shell命令行执行 - 添加需要复制的表和列簇
    set_peer_tableCFs  'cdhservice', 'table_name'
    list_peers
    ########[[[测试source与sink是否可以复制数据]]]########
    
    # 5、新集群(sink)hbase shell命令行执行 - disable sink表
    disable 'table_name'
    is_disabled ''
    
    # 6、老集群(source)hbase shell命令行执行 - flush 并且创建快照
    flush 'table_name' 
    snapshot 'table_name', 'table_name_snapshot'
    list_snapshots
    
    # 7、新集群(sink)的服务器 shell命令行执行 - 导出快照到sink集群
    sudo -u hbase  hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot \
    -Dsnapshot.export.skip.tmp=true \  
    -snapshot table_name_snapshot \
    -copy-from hdfs://ip:8020/hbase \
    -copy-to hdfs://ip:8020/hbase \
    -mappers 100 -bandwidth 500  -overwrite
    
    list_snapshots
    
    # 8、新集群(sink)hbase shell命令行执行 - 新集群使用快照恢复历史数据
    restore_snapshot 'table_name_snapshot'
    
    # 9、新集群(sink)hbase shell命令行执行 - enable sink表
    enable 'table_name'
    is_enabled ''
    
    #---------观察主从数据是否平衡--------END------#
    关于replication的命令及用法:
    1、replication_scope: 表是否允许被复制(是否产生复制wal),产生的wal将被region读取后写入不同的peers
    2、set_peer_tableCFs: 主从集群之间数据同步的表清单,如不设置默认为所有开启replication_scope的表
    3、add_peer     :      创建主从集群的复制关系(创建后自动开启enable_peer,由于此时未设置set_peer_tableCFs,复制表是所有开启复制的表,如果从集群未建表会报错)
            注意事项:     建议add_peer时显式指定需要复制的表的列表,如未指定列表,后用set_peer_tableCFs设置引起replication不可用,regionserver报错,需重启regionserver节点
    4、disable_peer :      暂停复制,主从之间的数据同步在当前读取复制wal的位点停止,并记录当前的消费位点,用于复制的wal正常产生
    5、enable_peer  :      开始复制,如已存在该peer的消费位点,则从上次记录的消费位点开始,如无消费位点则从当前时点开始消费 (add_peer默认自动开启,如停止需 disable_peer)
    6、remove_peer  :      移除主从集群的复制关系,不影响用于复制的wal产生,其他peers可正常复制
    

    (2)先创建快照,迁移到从集群并恢复后,开启复制,export/import 将创建快照到开启复制之间的数据导出后导入新集群
    注意:该方式需要注意数据是否仅有insert,如有update操作,可能会出现import时会覆盖replication的数据。

    #不停服数据迁移(指定时间戳离线拷贝间隔数据)
    #1、添加原集群到目标集群的replication关系,并在目标集群中建立与原集群相同的表;
    #2、通过snapshot把历史数据导入到从集群: 
     在原集群执行以下指令: 
      a、list_snapshots 
      b、snapshot ‘test_table’, ‘test_table_snapshot' 
      c、bin/hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot        test_table_snapshot -copy-to hdfs://ip:8020/hbase  -mappers 16 
     在目标集群执行以下指令: 
      a、disable ‘test_table' 
      b、restore_snapshot ‘test_table_snapshot’ 
      c、enable 'test_table' 
      
    #3、开启原表的replication 
    原集群执行: 
    alter ‘test_table’,{NAME=>’f’,REPLICATION_SCOP=>’1’} 
    
    #4、通过Export工具把快照和开启replication之间的数据导入到从表; 
    #Export 在原集群执行以下指令: 指定1版本,起止时间戳导出 
    hbase org.apache.hadoop.hbase.mapreduce.Export test_re_01  hdfs://ip:8020/tmp/export  1 1629199320000  1629199380000
    1:指定了版本数,与线上一致 
    1445875200000 1445961600000:指定了起始时间戳 
    #Import 在目标集群执行以下指令: 
    hbase org.apache.hadoop.hbase.mapreduce.Import test_re_01  hdfs://ip:8020/tmp/export 
    
    展开全文
  • HBase集群迁移

    2019-07-09 23:37:01
    背景:假设有hbase1和hbase2两个集群,现在需要将hbase1的表迁移到hbase2,而且不能停止服务的运行。 准备工作 开启hbase.replication功能 设置hbase-site.xml中hbase.replication为true 开启待复制集群的Yarn计算...

    背景:假设有hbase1和hbase2两个集群,现在需要将hbase1的表迁移到hbase2,而且不能停止服务的运行。

    准备工作

    1. 开启hbase.replication功能
      设置hbase-site.xml中hbase.replication为true
    2. 开启待复制集群的Yarn计算,后续拷贝数据基于MR

    开始迁移

    1.hbase2集群建表(click-count’在hbase1是已经存在的)

    create table 'click-count','info'
    

    2.建立两个集群的replication

    在hbase1集群执行
    
    hbase(main):002:0> alter 'click-count',{NAME=>'info', REPLICATION_SCOPE=>'1'}
    Updating all regions with the new schema...
    1/1 regions updated.
    Done.
    0 row(s) in 2.1320 seconds
    
    hbase(main):003:0> add_peer '1',"172.16.201.7,172.16.201.8,172.16.201.9:2181:/hbase2"
    0 row(s) in 0.0510 seconds
    
    hbase(main):052:0> list_peers
     PEER_ID CLUSTER_KEY STATE TABLE_CFS
     1 172.16.201.7,172.16.201.8,172.16.201.9:2181:/hbase2 ENABLED
    1 row(s) in 0.0080 seconds
    

    3.暂停同步

    在hbase1集群执行
    hbase(main):052:0> disable_peer '1'
    

    4.建立快照

    在hbase1集群执行
    hbase(main):006:0> snapshot 'click-count','click-count-snp'
    
    hbase(main):007:0> list_snapshots
    SNAPSHOT                                         TABLE + CREATION TIME
     click-count-snp                                 click-count (Mon Jul 08 16:20:46 +0800 2019)
    1 row(s) in 0.0100 seconds
    
    => ["click-count-snp"]
    

    5.跨集群复制

    在集群hbase1执行(需要开启MR,因为hbase集群一般都不开MR):
    [hadoopuser@nn1 bin]$ ./hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -Dmapreduce.map.memory.mb=4096 -Dmapreduce.map.java.opts=-Xmx3686m -snapshot click-count-snp -copy-to hdfs://172.16.201.42:8020/hbase -mappers 10 -bandwidth 10
    2019-07-09 16:24:02,886 INFO  [main] snapshot.ExportSnapshot: Copy Snapshot Manifest
    2019-07-09 16:24:03,193 WARN  [main] mapreduce.TableMapReduceUtil: The hbase-prefix-tree module jar containing PrefixTreeCodec is not present.  Continuing without it.
    2019-07-09 16:24:04,217 INFO  [main] snapshot.ExportSnapshot: Loading Snapshot 'click-count-snp' hfile list
    2019-07-09 16:24:04,475 INFO  [main] mapreduce.JobSubmitter: number of splits:1
    2019-07-09 16:24:04,603 INFO  [main] mapreduce.JobSubmitter: Submitting tokens for job: job_1562659148784_0006
    2019-07-09 16:24:05,024 INFO  [main] impl.YarnClientImpl: Submitted application application_1562659148784_0006
    2019-07-09 16:24:05,054 INFO  [main] mapreduce.Job: The url to track the job: http://nn1:8088/proxy/application_1562659148784_0006/
    2019-07-09 16:24:05,054 INFO  [main] mapreduce.Job: Running job: job_1562659148784_0006
    2019-07-09 16:24:11,179 INFO  [main] mapreduce.Job: Job job_1562659148784_0006 running in uber mode : false
    2019-07-09 16:24:11,180 INFO  [main] mapreduce.Job:  map 0% reduce 0%
    2019-07-09 16:24:16,233 INFO  [main] mapreduce.Job:  map 100% reduce 0%
    2019-07-09 16:24:16,241 INFO  [main] mapreduce.Job: Job job_1562659148784_0006 completed successfully
    2019-07-09 16:24:16,338 INFO  [main] mapreduce.Job: Counters: 37
    	File System Counters
    		FILE: Number of bytes read=0
    		FILE: Number of bytes written=158069
    		FILE: Number of read operations=0
    		FILE: Number of large read operations=0
    		FILE: Number of write operations=0
    		HDFS: Number of bytes read=6998
    		HDFS: Number of bytes written=6797
    		HDFS: Number of read operations=5
    		HDFS: Number of large read operations=0
    		HDFS: Number of write operations=2
    	Job Counters
    		Launched map tasks=1
    		Other local map tasks=1
    		Total time spent by all maps in occupied slots (ms)=11704
    		Total time spent by all reduces in occupied slots (ms)=0
    		Total time spent by all map tasks (ms)=2926
    		Total vcore-seconds taken by all map tasks=2926
    		Total megabyte-seconds taken by all map tasks=11984896
    	Map-Reduce Framework
    		Map input records=1
    		Map output records=0
    		Input split bytes=201
    		Spilled Records=0
    		Failed Shuffles=0
    		Merged Map outputs=0
    		GC time elapsed (ms)=71
    		CPU time spent (ms)=740
    		Physical memory (bytes) snapshot=325951488
    		Virtual memory (bytes) snapshot=5925187584
    		Total committed heap usage (bytes)=300941312
    	org.apache.hadoop.hbase.snapshot.ExportSnapshot$Counter
    		BYTES_COPIED=6797
    		BYTES_EXPECTED=6797
    		BYTES_SKIPPED=0
    		COPY_FAILED=0
    		FILES_COPIED=1
    		FILES_SKIPPED=0
    		MISSING_FILES=0
    	File Input Format Counters
    		Bytes Read=0
    	File Output Format Counters
    		Bytes Written=0
    2019-07-09 16:24:16,341 INFO  [main] snapshot.ExportSnapshot: Finalize the Snapshot Export
    2019-07-09 16:24:16,348 INFO  [main] snapshot.ExportSnapshot: Verify snapshot integrity
    2019-07-09 16:24:16,378 INFO  [main] snapshot.ExportSnapshot: Export Completed: click-count-snp
    
    

    6.目标集群hbase2恢复

    在集群hbase2执行:
    hbase(main):140:0> disable 'click-count'
    0 row(s) in 2.2270 seconds
    
    hbase(main):141:0> restore_snapshot 'click-count-snp'
    0 row(s) in 0.7720 seconds
    
    hbase(main):142:0> enable 'click-count'
    0 row(s) in 1.3340 seconds
    
    

    7.迁移完成,通知业务方择期迁移

    展开全文
  • Hbase1.3.1集群

    2018-08-15 10:09:17
    Hbase1.3.1集群   集群规划: 主机名 IP 安装的软件 运行的进程 hdp-ha-01 192.168.1.63 jdk、hadoop、zookeeper、hbase NameNode,SecondaryNameNode,NodeManager,ResourceManager,QuorumP...

     

      1. Hbase1.3.1集群

     

    集群规划:

    主机名     IP            安装的软件               运行的进程

    hdp-ha-01  192.168.1.63  jdk、hadoop、zookeeper、hbase       NameNode,SecondaryNameNode,NodeManager,ResourceManager,QuorumPeerMain、hmaster

     

    hdp-ha-02  192.168.1.63  jdk、hadoop、zookeeper、hbase      DataNode、NodeManager、QuorumPeerMain、、hregionserver

     

    hdp-ha-03  192.168.1.64  jdk、hadoop、zookeeper、hbase      DataNode、NodeManager、QuorumPeerMain、hregionserver

     

     

        1. 准备工作
    1. 安装jdk
    2. Hadoop集群
    3. Zookeeper集群

     

    安装步骤:

    (1)下载hbase安装包,上传hbase安装包到linux

    (2)解压

    (3)配置hbase集群,要修改3个文件

        注意:要把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下

       

        (3.1)修改hbase-env.sh

        export JAVA_HOME=/usr/java/jdk1.7.0_55

        //告诉hbase使用外部的zk

        export HBASE_MANAGES_ZK=false

       

        (3.2)修改 hbase-site.xml

        <configuration>

            <!-- 指定hbase在HDFS上存储的路径 -->

            <property>

                    <name>hbase.rootdir</name>

                    <value>hdfs://ns1/hbase</value>

            </property>

            <!-- 指定hbase是分布式的 -->

            <property>

                    <name>hbase.cluster.distributed</name>

                    <value>true</value>

            </property>

            <!-- 指定zk的地址,多个用“,”分割 -->

            <property>

                    <name>hbase.zookeeper.quorum</name>

                    <value>hdp-server-01:2181, hdp-server-02:2181, hdp-server-03:2181</value>

            </property>

        </configuration>

     

    (3.3)修改 regionservers

        weekend03

        weekend04

        weekend05

        weekend06

       

    (3.4) 拷贝hbase到其他节点

            scp -r /weekend/hbase-0.96.2-hadoop2/ weekend02:/weekend/

            scp -r /weekend/hbase-0.96.2-hadoop2/ weekend03:/weekend/

            scp -r /weekend/hbase-0.96.2-hadoop2/ weekend04:/weekend/

            scp -r /weekend/hbase-0.96.2-hadoop2/ weekend05:/weekend/

            scp -r /weekend/hbase-0.96.2-hadoop2/ weekend06:/weekend/

    (4) 将配置好的HBase拷贝到每一个节点并同步时间。

     

    (5) 启动所有的hbase进程

        首先启动zk集群

            ./zkServer.sh start

        启动hbase集群

            start-dfs.sh

        启动hbase,在主节点上运行:

            start-hbase.sh

    (6) 通过浏览器访问hbase管理页面

        192.168.1.201:60010

    (7) 为保证集群的可靠性,要启动多个HMaster

        hbase-daemon.sh start master

     

     

     

     

        1. 解压缩到/usr/local目录

    [root@xuegod63 download]#

    [root@xuegod63 download]# tar -zxf hbase-1.3.1-bin.tar.gz  -C /usr/local/

    [root@xuegod63 download]# cd /usr/local/

    [root@xuegod63 local]# ls

    bin              games         include  libexec      share    ucenter1.5                        vmware-tools-distrib

    etc              hadoop-2.6.2  lib      redis-3.2.8  src      ucenter_home2.0                   zookeeper-3.4.6

    fail2ban-0.8.14  hbase-1.3.1   lib64    sbin         tomcat7  VMwareTools-9.6.2-1688356.tar.gz

    [root@xuegod63 local]#

    [root@xuegod63 local]# cd hbase-1.3.1/

    [root@xuegod63 hbase-1.3.1]# ls

    bin          conf           LEGAL  LICENSE.txt  NOTICE.txt  xuegod65

    CHANGES.txt  hbase-webapps  lib    logs         README.txt

    [root@xuegod63 hbase-1.3.1]#

     

        1. 设置环境变量

    [root@xuegod63 hbase-1.3.1]#  vim /etc/profile

    export JAVA_HOME=/usr/java/jdk1.7.0_15

    export JRE_HOME=/usr/java/jdk1.7.0_15/jre

    export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

     

    export HADOOP_HOME=/usr/local/hadoop-2.6.2

    export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

     

    export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.6

    export PATH=$ZOOKEEPER_HOME/bin::$PATH

     

    export HBASE_HOME=/usr/local/hbase-1.3.1

    export PATH=$HBASE_HOME/bin::$PATH

     

    [root@xuegod63 hbase-1.3.1]#

     

     

        1. 修改hbase-env.sh配置文件

    [root@xuegod63 hbase-1.3.1]# ls

    bin          conf           LEGAL  LICENSE.txt  NOTICE.txt  xuegod65

    CHANGES.txt  hbase-webapps  lib    logs         README.txt

    [root@xuegod63 hbase-1.3.1]# cd conf/

    [root@xuegod63 conf]# ls

    core-site.xml                     hbase-env.sh      hdfs-site.xml

    hadoop-metrics2-hbase.properties  hbase-policy.xml  log4j.properties

    hbase-env.cmd                     hbase-site.xml    regionservers

    [root@xuegod63 conf]#

    修改hbase-env.sh

    [root@xuegod63 conf]# vim hbase-env.sh

    #添加一下内容:

    # The java implementation to use.  Java 1.7+ required.

    export JAVA_HOME=/usr/java/jdk1.7.0_15

     

    # Extra Java CLASSPATH elements.  Optional.

    #设置到Hadoop的etc/hadoop目录是用来引导Hbase找到Hadoop,即hbase和hadoop进行关联

    export HBASE_CLASSPATH=/usr/local/hadoop-2.6.2/etc/hadoop

     

    export HBASE_MANAGES_ZK=false 默认为true,使用自带的zookeeper,如果设置为false,需要自己配置zookeeper.

    [root@xuegod63 conf]#

     

     

        1. 修改hbase-site.xml配置文件

    [root@xuegod63 conf]#

    [root@localhost65 conf]# vim hbase-site.xml

    <configuration>

        <!-- 指定hbase在HDFS上存储的路径,hbase.rootdir的前端与$HADOOP_HOME/conf/core-site.xml的fs.defaultFS一致 -->

            <property>

                    <name>hbase.rootdir</name>

                    <value>hdfs://192.168.3.65:9000/hbase</value>

            </property>

    <!-- 指定hbase是分布式的 -->

            <property>

                    <name>hbase.cluster.distributed</name>

                    <value>true</value>

            </property>

     

    <!--本地文件系统的临时文件夹。可以修改到一个更为持久的目录上。(/tmp会在重启时清除) -->

            <property>

                    <name>hbase.tmp.dir</name>

                    <value>/home/hbase/tmp</value>

            </property>

     

    <!--如果只设置单个 Hmaster,那么 hbase.master 属性参数需要设置为 master5:60000 (主机名:60000) -->

    <!--如果要设置多个 Hmaster,那么我们只需要提供端口 60000,因为选择真正的 master 的事情会有 zookeeper 去处理 -->

            <property>

                    <name>hbase.master</name>

                    <value>60000</value>

            </property>

     

    <!--这个参数用户设置 ZooKeeper 快照的存储位置,默认值为 /tmp,显然在重启的时候会清空。因为笔者的 ZooKeeper 是独立安装的,所以这里路径是指向了 $ZOOKEEPER_HOME/conf/zoo.cfg 中 dataDir 所设定的位置 -->

            <property>

                    <name>hbase.zookeeper.property.dataDir</name>

                    <value>/home/zookeeper/data</value>

            </property>

     

    <!--客户端连接 ZooKeeper服务地址,这里有几个集群zookeeper就配置几个,多个以逗号分隔,zookeeper集群最好是奇数个,由于zookeeper的选举机>制是过半原则,偶数集群选举时间比较长 -->

            <property>

                    <name>hbase.zookeeper.quorum</name>

                    <value>xuegod63:2181,xuegod64:2181,xuegod65:2181</value>

            </property>

    <!--表示客户端连接 ZooKeeper 的端口 -->

            <property>

                    <name>hbase.zookeeper.property.clientPort</name>

                    <value>2181</value>

            </property>

    <!--ZooKeeper 会话超时。Hbase 把这个值传递改 zk 集群,向它推荐一个会话的最大超时时间 -->

            <property>

                    <name>zookeeper.session.timeout</name>

                    <value>120000</value>

            </property>

     

    <!--当 regionserver 遇到 ZooKeeper session expired , regionserver 将选择 restart 而不是 abort -->

            <property>

                    <name>hbase.regionserver.restart.on.zk.expire</name>

                    <value>true</value>

            </property>

    </configuration>

    [root@xuegod63 conf]#

     

        1. 拷贝hadoop目录下hdfs-site.xml和core-site.xml 放到hbase/conf下

     

    要把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下

     

     

    [root@xuegod63 conf]# cp /usr/local/hadoop-2.6.2/etc/hadoop/hdfs-site.xml ./

    [root@xuegod63 conf]# cp /usr/local/hadoop-2.6.2/etc/hadoop/core-site.xml ./

    [root@xuegod63 conf]# ls

    core-site.xml                     hbase-env.sh      hdfs-site.xml

    hadoop-metrics2-hbase.properties  hbase-policy.xml  log4j.properties

    hbase-env.cmd                     hbase-site.xml    regionservers

    [root@xuegod63 conf]# vim core-site.xml

    [root@xuegod63 conf]#

     

     

        1. 修改regionservers文件

    Master只能有一个,如果启动多个master,则其他的都为standby。Regionserver可以有多个。

    编辑所有机器的HBase的HMasters和HRegionServers。修改/conf 文件夹下的regionservers文件。添加DataNode的IP即可,通常是将regionserver与datanode服务器放在一起

    [root@xuegod63 conf]#

    [root@xuegod63 conf]# ls

    core-site.xml                     hbase-env.sh      hdfs-site.xml

    hadoop-metrics2-hbase.properties  hbase-policy.xml  log4j.properties

    hbase-env.cmd                     hbase-site.xml    regionservers

    [root@xuegod63 conf]# vim regionservers

    xuegod63

    xuegod64

    xuegod65

    [root@xuegod63 conf]#

     

        1. 将hbase拷贝到其他服务器

    [root@xuegod63 local]#

    [root@xuegod63 local]# scp -r hbase-1.3.1/ xuegod64:/usr/local/

    [root@xuegod63 local]# scp -r hbase-1.3.1/ xuegod65:/usr/local/

    [root@xuegod63 local]#

     

     

    [root@xuegod64 local]# ls

    bin           hadoop-2.7.3.tar  lib64        share                             zookeeper-3.4.6

    etc           hbase-1.3.1       libexec      src

    games         include           redis-3.2.8  VMwareTools-9.6.2-1688356.tar.gz

    hadoop-2.6.2  lib               sbin         vmware-tools-distrib

    [root@xuegod64 local]#

     

    [root@xuegod65 ~]# cd /usr/local/

    [root@xuegod65 local]# ls

    bin              hadoop-2.6.2  lib64        share       ucenter_home2.0

    etc              hbase-1.3.1   libexec      src         VMwareTools-9.6.2-1688356.tar.gz

    fail2ban-0.8.14  include       redis-3.2.8  tomcat7     vmware-tools-distrib

    games            lib           sbin         ucenter1.5  zookeeper-3.4.6

    [root@xuegod65 local]#

     

     

        1. 启动hbase服务

    [root@xuegod63 local]# start-hbase.sh

    starting master, logging to /usr/local/hbase-1.3.1/logs/hbase-root-master-xuegod63.out

    xuegod65: starting regionserver, logging to /usr/local/hbase-1.3.1/bin/../logs/hbase-root-regionserver-xuegod65.out

    xuegod64: starting regionserver, logging to /usr/local/hbase-1.3.1/bin/../logs/hbase-root-regionserver-xuegod64.out

    xuegod63: starting regionserver, logging to /usr/local/hbase-1.3.1/bin/../logs/hbase-root-regionserver-xuegod63.out

    [root@xuegod63 local]# jps

    7026 NameNode

    6814 QuorumPeerMain

    8258 HRegionServer

    8304 Jps

    8133 HMaster

    7270 SecondaryNameNode

    7440 ResourceManager

    7539 NodeManager

    [root@xuegod63 local]#

     

    Xuegod64服务:

    [root@xuegod64 ~]# jps

    5656 HRegionServer

    6616 Jps

    5307 DataNode

    5188 QuorumPeerMain

    5411 NodeManager

    [root@xuegod64 ~]#

     

    Xuegod65服务:

    [root@xuegod65 local]# jps

    4435 Jps

    4275 HRegionServer

    4030 NodeManager

    3833 QuorumPeerMain

    [root@xuegod65 local]#

    注意:在集群使用命令start-hbase.sh启动的服务为Hmaster,并且master只能有一个,其他的为standby,  HregionServer则为hbase中regionserver配置文件中的配置的主机。可以为多个。

     

    可以通过手动启动standby节点,如下:

    [root@xuegod63 hbase-1.3.1]# hbase-daemon.sh start master

    starting master, logging to /usr/local/hbase-1.3.1/logs/hbase-root-master-xuegod63.out

    [root@xuegod63 hbase-1.3.1]#

     

     

     

        1. 查看hbase服务是否已经启动

    [root@xuegod63 hbase-1.3.1]# jps

    7026 NameNode

    6814 QuorumPeerMain

    9028 Jps

    8258 HRegionServer

    7270 SecondaryNameNode

    7440 ResourceManager

    8797 Hmaster    #表示hbase已经启动成功

    7539 NodeManager

    [root@xuegod63 hbase-1.3.1]#

     

     

        1. 登录zookeeper查看hbase

    [root@xuegod63 hbase-1.3.1]#

    [root@xuegod63 hbase-1.3.1]# zkCli.sh

    Connecting to localhost:2181

    2017-09-25 23:18:29,809 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.6-1569965, built on 02/20/2014 09:09 GMT

    2017-09-25 23:18:29,823 [myid:] - INFO  [main:Environment@100] - Client environment:host.name=xuegod63

    2017-09-25 23:18:29,824 [myid:] - INFO  [main:Environment@100] - Client environment:java.version=1.7.0_15

    2017-09-25 23:18:29,834 [myid:] - INFO  [main:Environment@100] - Client environment:java.vendor=Oracle Corporation

    2017-09-25 23:18:29,834 [myid:] - INFO  [main:Environment@100] - Client environment:java.home=/usr/java/jdk1.7.0_15/jre

    2017-09-25 23:18:29,834 [myid:] - INFO  [main:Environment@100] - Client environment:java.class.path=/usr/local/zookeeper-3.4.6/bin/../build/classes:/usr/local/zookeeper-3.4.6/bin/../build/lib/*.jar:/usr/local/zookeeper-3.4.6/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/local/zookeeper-3.4.6/bin/../lib/slf4j-api-1.6.1.jar:/usr/local/zookeeper-3.4.6/bin/../lib/netty-3.7.0.Final.jar:/usr/local/zookeeper-3.4.6/bin/../lib/log4j-1.2.16.jar:/usr/local/zookeeper-3.4.6/bin/../lib/jline-0.9.94.jar:/usr/local/zookeeper-3.4.6/bin/../zookeeper-3.4.6.jar:/usr/local/zookeeper-3.4.6/bin/../src/java/lib/*.jar:/usr/local/zookeeper-3.4.6/bin/../conf:/usr/java/jdk1.7.0_15/lib:/usr/java/jdk1.7.0_15/jre/lib:

    2017-09-25 23:18:29,834 [myid:] - INFO  [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib

    2017-09-25 23:18:29,835 [myid:] - INFO  [main:Environment@100] - Client environment:java.io.tmpdir=/tmp

    2017-09-25 23:18:29,835 [myid:] - INFO  [main:Environment@100] - Client environment:java.compiler=<NA>

    2017-09-25 23:18:29,835 [myid:] - INFO  [main:Environment@100] - Client environment:os.name=Linux

    2017-09-25 23:18:29,835 [myid:] - INFO  [main:Environment@100] - Client environment:os.arch=amd64

    2017-09-25 23:18:29,836 [myid:] - INFO  [main:Environment@100] - Client environment:os.version=2.6.32-431.el6.x86_64

    2017-09-25 23:18:29,836 [myid:] - INFO  [main:Environment@100] - Client environment:user.name=root

    2017-09-25 23:18:29,836 [myid:] - INFO  [main:Environment@100] - Client environment:user.home=/root

    2017-09-25 23:18:29,836 [myid:] - INFO  [main:Environment@100] - Client environment:user.dir=/usr/local/hbase-1.3.1

    2017-09-25 23:18:29,841 [myid:] - INFO  [main:ZooKeeper@438] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@27c09226

    Welcome to ZooKeeper!

    2017-09-25 23:18:29,917 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@975] - Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181. Will not attempt to authenticate using SASL (unknown error)

    2017-09-25 23:18:29,945 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@852] - Socket connection established to localhost/0:0:0:0:0:0:0:1:2181, initiating session

    JLine support is enabled

    2017-09-25 23:18:29,990 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1235] - Session establishment complete on server localhost/0:0:0:0:0:0:0:1:2181, sessionid = 0x15eb96af2fd0008, negotiated timeout = 30000

     

    WATCHER::

     

    WatchedEvent state:SyncConnected type:None path:null

    [zk: localhost:2181(CONNECTED) 0] ls /

    [hbase, zookeeper]

    [zk: localhost:2181(CONNECTED) 1] ls /hbase

    [meta-region-server, backup-masters, switch, table, draining, region-in-transition, table-lock, running, master, namespace, hbaseid, online-snapshot, replication, splitWAL, recovering-regions, rs, flush-table-proc]

    [zk: localhost:2181(CONNECTED) 2]

     

        1. 关闭hbase服务

    [root@xuegod63 hbase-1.3.1]#

    [root@xuegod63 hbase-1.3.1]# stop-hbase.sh

    stopping hbase.....................

     

    [root@xuegod63 hbase-1.3.1]#

     

        1. 测试hbase服务

    浏览器输入:http://192.168.3.63:16010/  hbase默认端口是16010。

     

     

     

     

     

     

     

        1. hbase通过脚本复制到其他节点

     

    创建脚本:

    [root@server66 ~]# vim cphbase.sh

    #!/bin/bash

    if [ "$#" != "2" ]; then

            echo "usage:$(basename $0) <dir-name> <ln-name>"

            echo "example:$(basename $0) hbase-1.3 hbase"

    fi

     

    SRC_PATH="/usr/local/$1/conf/regionservers"

    for srv in $(cat $SRC_PATH);

    do

            echo "sending command to $srv...";

            rsync -vaz --exclude='logs/*' /usr/local/$1 $srv:/root/test/

    #       ssh $srv "rm -rf /usr/local/$2;ln -s /usr/local/$1 /usr/local/$2"

    done

    echo "done.............";

    ~                                                          

    [root@server66 ~]#

    执行复制操作:

    [root@server66 ~]# sh cphbase.sh hbase-1.3.1 hbase-1.3.1

     

    展开全文
  • Hbase分布式集群

    2016-06-03 13:13:00
    Hbase分布式集群 官方网站: http://hbase.apache.org/ http://hbase.apache.org/book.html 环境: CentOS 7.1 hadoop-2.7.2 hbase-1.2.1 jdk-1.8 说明:仅个人测试学习记录,大神们可以一笑而过 Table 1. ...
  • hbase集群搭建

    2019-10-21 18:45:42
    安装hbase集群的准备和安装步骤
  • 指路牌Hbase 架构 & HA架构宏观架构Table 和 RegionRegionServer和RegionHA构建主机和服务启动映射表主机信息 Hbase 架构 &...以下HBase 集群构建基础环境基于之前的Hadoop 集群之上构建,CentOSX
  • hbase1.1.4集群搭建

    2017-08-30 20:09:00
    hbase1.1.4集群搭建 先部署一个zookeeper集群和hadoop集群。 (1)上传hbase安装包到intsmaze01节点 (2)解压 (3)配置hbase集群,要修改3个文件  注意:要把hadoop的hdfs-site.xml和core-site.xml 放到...
  • Hbase2.1.5集群环境搭建

    2019-08-28 15:24:05
    序言 Hbase跟基于Hadoop和Zookeeper. 同时Hbase的版本跟Hadoop的版本密切相关.一定要下载对应的Hadoop版本....Hbase集群拓扑图 Client 包含访问Hbase的接口,并维护cache来加快对Hbase的访问,比如region...
  • Hbase集群搭建

    2017-02-27 20:51:16
    3.配置hbase集群,要修改3个文件(首先zk集群已经安装好了)  注意:要把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下    3.1修改hbase-env.sh  export JAVA_HOME=/usr/local/java/jdk1.7.0_55 ...
  • hbase 0.98.1集群安装

    万次阅读 2014-04-27 16:56:34
    本文将基于hbase 0.98.1讲解其在linux集群上的安装方法,并对一些重要的设置项进行解释,本文原文链接:,转载请注明出处!1. 安装与配置1.1. 前置条件确保已经安装了hadoop并保证hadoop运行正常。关于hbase与hadoop...
  • HBase分布式集群搭建

    千次阅读 2016-08-02 21:53:08
    本文详细介绍搭建分布式HBase集群的步骤,并给出一个简单的例子。假设在集群上已经安装好JDK以及HDFS,如果还未安装,请参考这篇详细的Hadoop集群搭建步骤。HBase集群组成HBase采用主从模式,由Master和RegionServer...
  • hbase1.4.10集群搭建

    2019-08-14 16:23:11
    1、准备安装包,hbase集群需要依赖hadoop集群、zookeeper集群和jdk环境,所以安装之前要先确保依赖环境可用 https://www.apache.org/dyn/closer.lua/hbase/1.4.10/hbase-1.4.10-src.tar.gz 2、设置环境变量,执行...
  • hadoop zookeeper hbase phoenix集群部署1.1. 部署前准备1.1.1. 版本1.1.2. 添加节点映射1.1.3. 添加免密登录1.2. zookeeper集群部署1.2.1. 编辑环境变量1.2.2. zookeeper配置:1.2.3. 创建myid文件1.3. hadoop集群...
  • 摘要:在2018年1月25日的数据库直播上由阿里云HBase team的玄陵带来了以“ApsaraDB-HBase集群和稳定性”为主题的分享,通过对云HBase集群方案存在的必要性、常见跨集群数据复制方案、云HBase集群数据复制...
  • hbase 1.2.6 集群模式

    2017-06-20 16:51:23
    <!-- 指定hbase在HDFS上存储的路径 --> <name>hbase.rootdir <value>hdfs://nameservice/hbase <!-- 指定hbase是分布式的 --> <name>hba
  • 快速搭建HBase分布式集群

    千次阅读 2018-10-10 18:05:09
    前面的文章中,我们已经搭建了一个3节点的Hadoop分布式集群,为了保证数据的本地性,HBase集群与Hadoop集群共用节点。   1.2软件规划 前面hadoop集群使用的安装包为hadoop-2.6.0-cdh5.10.0.tar.gz,...
  • 3.同步集群时间---时间不同步会抛出异常 1. 连接时间服务器同步集群时间 yumyum -y install ntpdate.x86_64 ntpdate 0.asia.pool.ntp.org 2.手动设置时间 date -s ''2020-08-27-19:2...
  • hbase分布式集群搭建

    2018-09-07 20:56:00
    hbase和hadoop一样也分为单机版、伪分布式版和完全分布式集群版本,这篇文件介绍如何搭建完全分布式集群环境搭建。 hbase依赖于hadoop环境,搭建habase之前首先需要搭建好hadoop的完全集群环境,因此看这篇文章之前...
  • Hbase分布式集群搭建

    2019-06-16 10:14:15
    环境准备 hbase软件包: ... 完成hadoop集群环境搭建 安装hbase 首先在hadoop-master安装配置好之后,在复制到从节点 wget http://mirror.bit.edu.cn/apache/hbase/1.3.1...
  • 1 HBase集群角色 类别 服务 位置 HDFS NameNode——主节点 Master机器 Yarn ResourceManager——全局的资源管理器 Master机器 HBase HMaster Master机器 HDFS DataNode——数据...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,450
精华内容 12,580
关键字:

hbase同步集群