[
https://issues.apache.org/jira/browse/HBASE-18124?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
liubangchen updated HBASE-18124:
--------------------------------
Attachment: (was: HBASE-18124.pdf)
> Add Property name Of Strcut ServerName To Locate HMaster Or HRegionServer
> -------------------------------------------------------------------------
>
> Key: HBASE-18124
> URL: https://issues.apache.org/jira/browse/HBASE-18124
> Project: HBase
> Issue Type: New Feature
> Components: Client, hbase, master
> Reporter: liubangchen
> Assignee: liubangchen
> Attachments: 1.jpg, HBASE-18124.pdf
>
>
> Hbase only have one way to locate hmaster or hregionserver not like hdfs has
> two way to locate datanode use by name or hostname.
> I’m a engineer of tencent cloud computing , and I’m in charge of to make
> Hbase as a cloud service,when we make hbase as a cloud service we need hbase
> support other way to support locate hmaster or hregionserver
> Tencent Hbase cloud service architectue shown as follows 1.jpg
> 1.VM
> User’s Hbase client work in vm and use virtual ip address to access hbase
> cluster.
> 2.NAT
> Network Address Translation, vip(Virtual Network Address) to pip (Physical
> Network Address)
> 3. HbaseCluster Service
> HbaseCluster Service work in physical network
> Problem
> 1. View on vm
> On vm side vm use vip to communication,but hbase have only one way
> to communication use struct named
> ServerName. When Hmaster startup will store master address and meta
> region server address in zookeeper,
> then the address is pip(Physical Network Address) because hbase
> cluster work in physical network . when vm
> get the address from zookeeper will not work because vm use vip to
> communication,one way to solve this is to
> make physical machine host as vip like 192.168.0.1,but is not better to
> make this.
> 2. View on Physical machine
> Physical machine use pip to communication
> Solution
> 1. protocol extend change proto message to below:
> {code}
> message ServerName {
> required string host_name = 1;
> optional uint32 port = 2;
> optional uint64 start_code = 3;
> optional string name=4;
> }
> {code}
> add a filed named name like hdfs’s datablock location
> 2. metatable extend
> add column to hbase:meta named info namelocation
> 3. hbase-server
> add params hbase.regionserver.servername to regionserver namelocation
> add params hbase.master.servername to set master namelocation
> 4. hbase-client
> add params hbase.client.use.hostname to choose which address to use
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)