kafka stream 安全配置问题检查

  其他常见问题
内容纲要

概要描述


kafka常见问题

详细说明


1 上游kafka流的流任务运行正常,但下游没数据查看slipstream server日志
file

排查步骤

“Could not login: the client is being asked for a password…” 这个报错信息并不是很具体,可能会有很多原因导致这个报错。

step1: 检查kafka安全流的tblproperties配置内容

检查安全相关属性是否都已添加,(这一步可以参照手册进行,着重看properties名称是否都存在)

-- TDH-client登陆beeline
show databases;
use ;
show create table .;

2.着重检查"sasl.jaas.config"这一项内容。整理经常遇到的错误示范如下

# required,userKeyTab=true,keyTab princpal之间都需要有空格&或者换行,连在一起会报错。
## ❌各个属性之间缺少空格,required后缺少空格
"com.sun.security.auth.module.Krb5LoginModule requireduseKeyTab=true storeKey=true keyTab=\"/etc/slipstream1/conf/kafka.keytab\" principal=\"kafka@TDH\""
## ❌principal内容不正确(下方示例中principal中包含一个空格)
"com.sun.security.auth.module.Krb5LoginModule requireduseKeyTab=true storeKey=true keyTab=\"/etc/slipstream1/conf/kafka.keytab\" principal=\" kafka@TDH\""
## ❌ kafka.keytab路径问题
### 1. 文件是否存在相应的目录
### 2. 是否每个executor所在的节点都存在
### 3. 查看下每个节点的kafka.keytab文件大小是否一致。

step2: 检查keytab

# 建议每个executor节点都看下
klist -ket /etc/slipstream1/conf/kafka.keytab
# 可能输出的结果如下
Keytab name: FILE:/etc/slipstream1/conf/kafka.keytab

KVNO Timestamp           Principal
---- ------------------- ------------------------------------------------------
   0 2020-12-02T01:30:05 kafka@TDH (aes128-cts-hmac-sha1-96) 
   0 2020-12-02T01:30:05 kafka@TDH (aes256-cts-hmac-sha1-96) 
   0 2020-12-02T01:30:05 kafka@TDH (des3-cbc-sha1) 
   0 2020-12-02T01:30:05 kafka@TDH (des-cbc-md5) 
   0 2020-12-02T01:30:05 kafka@TDH (arcfour-hmac) 

# ⚠️ 这里的Principal应当与kafka stream tblProperties中的 principal内容相同
# ⚠️ 每个executor节点的keytab结果应该是一样的!!!
# ⚠️ 每个executor节点上的keytab文件路径应该相同!!!
# ⚠️ 每个executor节点上的keytab文件,都应该可以在pod中访问到!!!

Tips1 slipsteram server日志

# 通过manager等页面找到slipstream-server所在节点
# 登入节点
# 进入日志目录
cd /var/log/slipstream1/
ls -all
# server 日志一般的名称为hive-server*.log

Tip2 进入slipstream executor pod

#查看 slipstream pod
kubectl get pods |grep slipstream
## 可能的输出
inceptor-executor1-slipstream1-7c845fcb48-7g5mw         1/1     Running   0          34h
inceptor-executor1-slipstream1-7c845fcb48-pjpdc         1/1     Running   0          34h
inceptor-executor1-slipstream1-7c845fcb48-qknct         1/1     Running   0          34h
inceptor-server-slipstream1-79fffdfd56-bmq8c            1/1     Running   0          34h

## 进入某一个executor pod
kubectl exec -it inceptor-executor1-slipstream1-7c845fcb48-7g5mw /bin/bash
## 退出pod回到宿主机
exit #回车

Tip3服务器间文件拷贝

# 例如把stream1节点上的keytab复制到stream2节点上
## 如果当前在stream1
scp /etc/slipstream1/conf/kafka.keytab root@stream2:/etc/slipstream1/conf #回车 -> 输入密码 ->回车
## 如果当前登陆在stream2上
scp root@stream1:/etc/slipstream/conf/kafka.keytab /etc/slipstream1/conf #回车 -> 输入密码 ->回车

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。