kerberos下怎么jdbc链接(kerberos)?
jdbc url的写法:
jdbc:hive2://host:21050/;principal=hive/_HOST@BIGDATA
这种写法和开启kerberos连hive的差不多,注意principal=hive/_HOST@BIGDATA是固定写法,大部分环境只需要确认@后边的BIGDATA改为自己的信息。
官网写法:
jdbc:impala://host:21050/;AuthMech=1;KrbRealm=HADOOP.COM;KrbHostFQDN=host;KrbServiceName=impala
KrbRealm KrbHostFQDN 修改成自己集群的。查询报错InternalException: Memory limit exceeded: Error occurred on backend....怎么解决?
A:首先是检查impala_daemon配置内存大小,此时检查发现默认才256MB,因此几乎可以肯定是内存不足引起的,修改mem_limit
为200gb,重启impala解决。
也有说impala连接数过多导致的,可以修改fe_service_threads
为更大值。-
Impala Shell集群kerberos环境连接?
- 首先本地kinit了hive的票据
- impala-shell -i impala.node1.com -s hive -k
- 显示Using service name hive,Connected to xxx:21000
-
如何刷新impala元数据?
初次连接impala后查询报找不到某数据库,Database does not exist: xxx
需要刷新一下impala元数据:invalidate metadata //重新加载所有库中的所有表 invalidate metadata [table_name] //重新加载指定的某个库中某张表
主要用于在hive中修改了元数据。执行这条命令时它会首先清除表的缓存,然后从metastore中重新加载全部数据并缓存,消耗较大:
impala-shell -i impala.node1.com -q 'invalidate table_name'
- 本文转自我的博客