一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python通過kerberos安全認證操作kafka方式

Python通過kerberos安全認證操作kafka方式

2020-06-06 12:28小竹筒 Python

這篇文章主要介紹了Python通過kerberos安全認證操作kafka方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

如何通過Kerberos認證.

1.安裝Kerberos客戶端

CentOS:

yum install krb5-workstation

使用which kinit查看是否安裝成功;

2.拷貝Kerberos配置文件

conf目錄下krb5.conf和kafka.keytab和jaas.conf拷貝到客戶端機器的etc目錄, 同時,krb5.conf中的kdc集群主機名和IP配置到客戶端機器hosts配置文件中

3.Kinit客戶端通過kerberos認證

獲取Principal

klist -kt kafka.keytab

4.安裝python-gssapi

pip install gssapi

遇到的問題,如下:

a.在linux中執行wget命令提示 -bash: wget: command not found 解決方法

yum -y install wget

b.報錯:bash: pip: command not found

wget https://bootstrap.pypa.io/get-pip.py python get-pip.py pip -V  #查看pip版本

python -m pip install --upgrade --force pip easy_install -U setuptools pip install --upgrade setuptools

3.pip安裝出現Command “python setup.py egg_info” failed with error code 1 的解決方法

Traceback (most recent call last): File “”, line 1, in File “/tmp/pip-install-6HfDE3/gssapi/setup.py”, line 109, in raise Exception("Could not find main GSSAPI shared library. Please " Exception: Could not find main GSSAPI shared library. Please try setting GSSAPI_MAIN_LIB yourself or setting ENABLE_SUPPORT_DETECTION to ‘false'

Command “python setup.py egg_info” failed with error code 1 in /tmp/pip-install-6HfDE3/gssapi/

yum install -y krb5-devel.x86_64

4.關于error: command ‘gcc' failed with exit status 1錯誤的解決方法

yum install gcc python-devel

安裝kafka-python

pip install kafka-python

初始化環境變量

export KAFKA_OPTS="-Djava.security.auth.login.config=/etc/conf/jaas.conf -Djava.security.krb5.conf=/etc/krb5.conf"

Python操作kafka樣例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from kafka import KafkaProducer
from kafka.errors import KafkaError
import os
 
class Kafka_Producer():
 def __init__(self, kafkahost, kafkaport, kafkatopic):
  self.kafkaHost = kafkahost
  self.kafkaPort = kafkaport
  self.kafkatopic = kafkatopic
  self.producer = KafkaProducer(
    bootstrap_servers = '{kafka_host}:{kafka_port}'.format(kafka_host=self.kafkaHost,kafka_port=self.kafkaPort),
    security_protocol="SASL_PLAINTEXT",
    sasl_mechanism="GSSAPI",
    sasl_kerberos_service_name="kafka",
    compression_type='gzip' #壓縮方式
    )
 def sendFileData(self, params):
  try:
    f = open(params,'rb')
    parmasMessage = f.read(-1).strip()
    producer = self.producer
    producer.send(self.kafkatopic, parmasMessage)
    producer.flush()
  except KafkaError as e:
    print (e)
  
def main():
 filePath = "/home/public/data/"
 topic = "demo"
 producer = Kafka_Producer("xxx.xx.xx.xx","9092",topic)
 dirList = os.listdir(filePath)
 for fileName in dirList:
  producer.sendFileData(filePath+fileName)
 print('send success!!!')
 
if __name__=='__main__':
 main()

以上這篇Python通過kerberos安全認證操作kafka方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/weixin_42261073/article/details/84074470

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品一区二区国产 | 午夜欧美福利视频 | 大杳蕉在线影院在线播放 | 九九精品国产亚洲A片无码 九九99热久久999精品 | 国产亚洲精品综合在线网址 | 精品久久久久久 | 人人揉人人爽五月天视频 | 久久精品免视看国产 | 青青青国产精品国产精品美女 | 成年男女免费大片在线观看 | 7777色鬼xxxx欧美色夫 | 精品久久综合一区二区 | 草莓视频首页 | 亚洲午夜久久久久久91 | 国产一区二区视频在线播放 | 亚洲羞羞裸色私人影院 | 亚洲不卡高清免v无码屋 | 亚洲国产无线码在线观看 | 欧美日韩免费一区二区在线观看 | 久久人妻少妇嫩草AV無碼 | 亚洲国产美女精品久久 | 超强台风免费观看完整版视频 | 亚洲国产麻豆 | 色老板在线观看 | 国产免费小视频 | 性生大片免费看 | 俺去啦最新地址 | 四虎在线精品免费高清在线 | 性欧美videosex18嫩 | 久久精品人人做人人爽97 | 亚洲成人国产精品 | 国内亚州视频在线观看 | 日韩在线 中文字幕 | 国产91精品久久久久久久 | 国产精品主播在线 | 国产视频中文字幕 | 性派对xxxhd 性欧美video | 欧美聚众性派对hdsex | videodesexo中国妞| 无码观看AAAAAAAA片 | 日本高清在线播放一区二区三区 |