javahost(JVM虚拟DNS)解决hosts程序中hosts配置问题
最近做HBase項(xiàng)目,需要配置hosts,在本地運(yùn)行很方便,自己直接配置本地文件hosts就可以。但是項(xiàng)目要上線發(fā)布,其他團(tuán)隊(duì)成員要使用等等,我是否都要告訴他們?cè)趺磁渲胔osts問(wèn)題,這樣太麻煩,因此我試著尋求另一種解決方案。
如果在不同的運(yùn)行環(huán)境訪問(wèn)不同的數(shù)據(jù)源服務(wù)器,為了方便切換是否使用域名替代IP?如果使用域名的話,在開(kāi)發(fā)環(huán)境就需要配置hosts文件。我希望可以不用修改hosts文件就可直接運(yùn)行程序。通過(guò)我的努力,終于找到了javahost(JVM虛擬DNS)來(lái)幫我解決這些煩惱。
1、配置maven依賴(lài)
在pom.xml加入
如果是非maven用戶(hù),可以通過(guò)以下鏈接下載jar包.
io.leopard:javahost:0.9.6
2、編寫(xiě)hosts.propertie(src/main/resources/hosts.propertie)或者在類(lèi)中定義
(1)hosts.propertie
(2)HBaseHosts
public class HBaseHosts {private static Properties props = new Properties();static {props.put("spark-01", "10.10.xxx.xxx");props.put("spark-02", "10.10.xxx.xxx");props.put("spark-03", "10.10.xxx.xxx");props.put("spark-04", "10.10.xxx.xxx"); }public static void getJavaHost(){JavaHost.updateVirtualDns(props);}}3、設(shè)置虛擬DNS
(1)
(2)
public class HBaseUtil {private static Configuration conf;static {System.setProperty("hadoop.home.dir", Thread.currentThread().getContextClassLoader().getResource("hadoop-common-220-bin-master").getPath());HBaseHosts.getJavaHost();conf = HBaseConfiguration.create();conf.set("hbase.zookeeper.quorum", "");conf.set("hbase.zookeeper.property.clientPort", "2181");conf.set("zookeeper.znode.parent", "/hbase");conf.set("hbase.client.retries.number", "1");//default 35conf.set("hbase.rpc.timeout", "3000");//default 60sconf.set("hbase.rpc.shortoperation.timeout", "3000");}public static Configuration getHbaseConnection() {return conf;}}參考鏈接:javahost(JVM虛擬DNS)解決hosts程序中hosts配置問(wèn)題
總結(jié)
以上是生活随笔為你收集整理的javahost(JVM虚拟DNS)解决hosts程序中hosts配置问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【收藏】k8s使用如下配置给pod固定i
- 下一篇: hdfs集群数据迁移:使用distcp命