HBase程序部署到Azure Web Job相关坑
-
- HBase程序本地可以正确运行,部署到Web Job上却跑不通,并且无任何报错。
debug代码,发现HbaseConnectiong中的hbase.root地址采用的是主机名的方式而不是ip地址(如下图),所以需要把hbase.root主机名和ip地址映射添加到Azure web job宿主主机的hosts文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kEwWbzbg-1583056668671)(/uploads/a33f736313a5224e6a1f1e9f515dda8d/image.png)]
但是Azure Web job宿主机的hosts文件貌似不能修改(也许能,目前暂不知道),所以我寻求另一解决方案,即在java代码中添加地址映射。
在pom中添加如下依赖:
<dependency>
<groupId>io.leopard</groupId>
<artifactId>javahost</artifactId>
<version>0.9.6</version>
</dependency>
并在代码中添加代码:JavaHost.updateVirtualDns("sandbox-hdp.hortonworks.com", "52.231.153.117");以指明映射即可解决问题
本文解决HBase程序在AzureWebJob上部署时遇到的问题,因HbaseConnection使用主机名而非IP地址导致连接失败。通过引入javahost库进行DNS映射,成功解决了部署难题。
1938

被折叠的 条评论
为什么被折叠?



