Python使用用户名密码

时间:2018-10-16 15:39:42

标签: python-2.7 hadoop ssh hdfs kerberos

我需要使用Python 2.7.15连接到具有Kerberos身份验证的Hadoop集群。
首先,我通过SSH连接到Hadoop Edge节点:

import paramiko
client = paramiko.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.WarningPolicy)
client.connect("myhost", port=22, username="myusername_1", password="mypwd_1")

第二,我询问Kerberos票证。由于公司的安全政策,我使用了不同的凭据(此处为“ myusername_2”和“ mypwd_2”)。

kinitcommand = "echo mypwd_2 | kinit myusername_2@MYDOMAIN"
stdin, stdout, stderr = client.exec_command(kinitcommand)

第三,我可以以“ ls”的身份运行命令

lscommand = "hadoop fs -ls"
stdin, stdout, stderr = client.exec_command(lscommand)

我正在寻找的是一个Python库,该库允许上述连接而无需使用SSH。
我尝试了hdfs,但是类hdfs.ext.kerberos.KerberosClient不允许用户凭据作为输入as the hdfs webpage shows
谢谢你

0 个答案:

没有答案