본문 바로가기

hadoop

[security] jceks hadoop credential provider api

# list
hadoop credential list -provider jceks:///dir/filename.jceks

# create
hadoop credential create myalias -value 'pwd' -provider jceks:///dir/filename.jceks
hadoop credential create myalias2 -value 'pwd2' -provider jceks:///dir/filename.jceks
def getHadoopCredentail(credProviderPath="jceks:///dir/filename.jceks", pwAlias = None):
    spark = SparkSession.builder \
        .appName(appName1) \
        .enableHiveSupport() \
        .getOrCreate()
    jsc = spark.sparkContext._jsc.hadoopConfiguration()
    jsc.set("hadoop.security.credentail.provider.path", credProviderPath)
    a = jsc.getPassword(pwAlias)
    passw = ''
    for i in range(a.__len__()):
        passw = passw + str(a.__getitem__(i))
    spark.stop()
    return passw

pwd = getHadoopCredentail(pwAlias="myalias")