我有一个关于Elasticsearch的问题。我使用Search Guard作为传输层安全性,当我想从elasticsearch读取数据时,我必须提供用户名和密码。就像这样:访问Elasticsearch时如何哈希密码
import org.apache.spark.{SparkConf, SparkContext}
import org.elasticsearch.spark._
object ReadDataFromES {
def main(args: Array[String]) {
val conf = new SparkConf()
.setAppName("SampleESApp")
.set("es.index.auto.create", "true")
.set("es.nodes", "localhost:9200")
.set("es.net.http.auth.user", "elastic_user")
.set("es.net.http.auth.pass", "elastic_password")
val sc = new SparkContext(conf)
print("Reading data \n\n\n")
val RDD = sc.esRDD("bank/account")
println(RDD.first())
println("\n\n")
/*
print("Writing data \n\n\n")
RDD.saveToEs("bank/spark")
*/
}
}
但问题是,我不希望有密码(es.net.http.auth.pass参数的值)在我的代码纯文本。有谁知道一种方法来散列这个密码?
关于使用环境变量是什么? –