[ 
https://issues.apache.org/jira/browse/HBASE-18124?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

liubangchen updated HBASE-18124:
--------------------------------
    Attachment: HBASE-18124.patch

> 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.patch, 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)

Reply via email to