Flink 连接 hive 解决 java.net.UnknownHostException

时间:2022-07-26
本文章向大家介绍Flink 连接 hive 解决 java.net.UnknownHostException,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

错误

今天在实验 Flink 连接 hive 的操作,由于 CDH 的 hadoop 是 HA,连接过程中报错如下:

Exception in thread "main" java.lang.IllegalArgumentException: java.net.UnknownHostException: nameservice1
	at org.apache.hadoop.security.SecurityUtil.buildTokenService(SecurityUtil.java:378)
	at org.apache.hadoop.hdfs.NameNodeProxies.createNonHAProxy(NameNodeProxies.java:310)
	at org.apache.hadoop.hdfs.NameNodeProxies.createProxy(NameNodeProxies.java:176)
	at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:678)
	at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:619)
	at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:149)
	at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2653)
	at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:92)
解决方式

1.配置 HADOOP_CONF_DIR 环境变量

2.flink-conf.yaml 配置 env.hadoop.conf.dir

3.如果是在 idea 中调试,仅仅需要在该项目的环境变量中配置如下: HADOOP_CONF_DIR=/hadoop-conf;HADOOP_USER_NAME=hdfs

其中 /hadoop-conf 中存放的是 hdfs 的配置文件

至此就完美解决了,可以在本地愉快的调试程序了。