不过3.0+的版本, 好像不需要指定broker名字的吧?
指定了broker的名字应该是可以过去了 现在报别的错了 应该是需要指定的把
3.0+版本不需要,不过既然可以成功了,那么现在报什么错了?
报错是
感觉是三台broker的kerberos_principal主题不一样的原因把 也不知道怎么指定 大佬有遇到过吗 我们的主题是hive/host1@HADOOP.COM hive/host2@HADOOP.COM 类似这样的这个地方写的是hive这边的用户信息,
WITH BROKER broker_name (
“hadoop.security.authentication” = “kerberos”,
“dfs.client.failover.proxy.provider.【HDFS名称空间】” = “org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider”,
“kerberos_principal” = “【HIVE用户】@【principal】”,
“dfs.namenode.rpc-address.【HDFS名称空间】.nn2” = “【namenode】:8020”,
“dfs.namenode.rpc-address.【HDFS名称空间】.nn1” = “【namenode】:8020”,
“kerberos_keytab” = “/opt/keytab/.【HIVE用户】.keytab”,
“dfs.nameservices” = “【HDFS名称空间】”,
“dfs.ha.namenodes.【HDFS名称空间】” = “nn1,nn2”
)
PROPERTIES (
“max_filter_ratio” = “0.001”,
“timeout” = “17200”
)
还是不太行 写hive/host* 这样通配符也不行
klist -kt /path/xxx.keytab看下keytab里面是包含哪些kerberos账号的,然后principal里面指定下
我这个具体应该怎么指定princpal呐
每台不一样的话,只能利用其中一台来导入数据了,另外需要指定broker的名字,指定到与kerberos账号对应的keytab所在的broker节点
这样可以了 , 如何能指定一个broker节点的broker名字呐 , 这样同keytab不同princpal的场景有后续支持的计划吗
可以alter新增一个名字不一样的,同一个broker可以有不同的名字
这个是kerberos认证的限制,如果你们的kerberos账号是跟机器绑定了,换一台机器都没办法认证了。除非你们生成一个跟机器不绑定的kerberos账号和keytab
好的了解 多谢大佬
全部字段导入就不用写columns了,不过前提是orc的列名和sr的列名是一样的
好的 多谢大佬 万分感激