Python通過(guò)kerberos安全認(rèn)證操作kafka方式
如何通過(guò)Kerberos認(rèn)證.
1.安裝Kerberos客戶端
CentOS:
yum install krb5-workstation
使用which kinit查看是否安裝成功;
2.拷貝Kerberos配置文件
conf目錄下krb5.conf和kafka.keytab和jaas.conf拷貝到客戶端機(jī)器的etc目錄, 同時(shí),krb5.conf中的kdc集群主機(jī)名和IP配置到客戶端機(jī)器hosts配置文件中
3.Kinit客戶端通過(guò)kerberos認(rèn)證
獲取Principal
klist -kt kafka.keytab
4.安裝python-gssapi
pip install gssapi
遇到的問題,如下:
a.在linux中執(zhí)行wget命令提示 -bash: wget: command not found 解決方法
yum -y install wget
b.報(bào)錯(cuò):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安裝出現(xiàn)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.關(guān)于error: command ‘gcc' failed with exit status 1錯(cuò)誤的解決方法
yum install gcc python-devel
安裝kafka-python
pip install kafka-python
初始化環(huán)境變量
export KAFKA_OPTS="-Djava.security.auth.login.config=/etc/conf/jaas.conf -Djava.security.krb5.conf=/etc/krb5.conf"
Python操作kafka樣例
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通過(guò)kerberos安全認(rèn)證操作kafka方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 使用bandit對(duì)目標(biāo)python代碼進(jìn)行安全函數(shù)掃描的案例分析
- 線程安全及Python中的GIL原理分析
- python線程安全及多進(jìn)程多線程實(shí)現(xiàn)方法詳解
- 詳解python實(shí)現(xiàn)線程安全的單例模式
- 利用python批量給云主機(jī)配置安全組的方法教程
- Python簡(jiǎn)單實(shí)現(xiàn)安全開關(guān)文件的兩種方式
- python smtplib模塊發(fā)送SSL/TLS安全郵件實(shí)例
- Python操作sqlite3快速、安全插入數(shù)據(jù)(防注入)的實(shí)例
- 詳細(xì)總結(jié)Python常見的安全問題
相關(guān)文章
python+opencv邊緣提取與各函數(shù)參數(shù)解析
這篇文章主要介紹了python+opencv邊緣提取與各函數(shù)參數(shù)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03python 保存float類型的小數(shù)的位數(shù)方法
今天小編就為大家分享一篇python 保存float類型的小數(shù)的位數(shù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10基于Python實(shí)現(xiàn)銀行卡識(shí)別的示例代碼
銀行卡識(shí)別是一個(gè)在金融、安全等領(lǐng)域具有重要應(yīng)用的問題,本文主要為大家介紹了如何使用Python和深度學(xué)習(xí)技術(shù)來(lái)實(shí)現(xiàn)銀行卡識(shí)別功能,需要的可以參考下2024-03-03Python基于pygame實(shí)現(xiàn)圖片代替鼠標(biāo)移動(dòng)效果
這篇文章主要介紹了Python基于pygame實(shí)現(xiàn)圖片代替鼠標(biāo)移動(dòng)效果,可實(shí)現(xiàn)將鼠標(biāo)箭頭轉(zhuǎn)換成圖形的功能,涉及pygame圖形操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11Android Q之氣泡彈窗的實(shí)現(xiàn)示例
這篇文章主要介紹了Android Q之氣泡彈窗的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06python如何使用pywebview打造一個(gè)現(xiàn)代化的可視化GUI界面詳解
pywebview是一個(gè)輕量級(jí)的跨平臺(tái)庫(kù),它可以讓你在Python程序中嵌入一個(gè)瀏覽器窗口,下面這篇文章主要給大家介紹了關(guān)于python如何使用pywebview打造一個(gè)現(xiàn)代化的可視化GUI界面的相關(guān)資料,需要的朋友可以參考下2024-07-07詳解用Python爬蟲獲取百度企業(yè)信用中企業(yè)基本信息
這篇文章主要介紹了詳解用Python爬蟲獲取百度企業(yè)信用中企業(yè)基本信息,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07