以前のリリースのWebUIからカスタムプロパティを隠す方法はありません。
2.0.1はパスワードの前処理が「*****」に対応しているため、あなたは2.0以降のsparkを使用していると仮定しています。
チェック発行SPARK-16796 Visible passwords on Spark environment page
我々はApacheのスパークソースコードに見てみると、いくつかの調査を行うと、我々はスパークウェブでプロパティを「非表示」にする方法いくつかの処理を見ることができますui。
SparkUI デフォルト環境ページが初期化attachTab(new EnvironmentTab(this))
内に装着されているようライン71]
EnvironmentPageは、ウェブGUIのタブとしてEnvironmentPage
にプロパティをレンダリングする:すべてのプロパティは、いくつかの種類なしでレンダリングさ
def render(request: HttpServletRequest): Seq[Node] = {
val runtimeInformationTable = UIUtils.listingTable(
propertyHeader, jvmRow, listener.jvmInformation, fixedWidth = true)
val sparkPropertiesTable = UIUtils.listingTable(
propertyHeader, propertyRow, listener.sparkProperties.map(removePass), fixedWidth = true)
val systemPropertiesTable = UIUtils.listingTable(
propertyHeader, propertyRow, listener.systemProperties, fixedWidth = true)
val classpathEntriesTable = UIUtils.listingTable(
classPathHeaders, classPathRow, listener.classpathEntries, fixedWidth = true)
val content =
<span>
<h4>Runtime Information</h4> {runtimeInformationTable}
<h4>Spark Properties</h4> {sparkPropertiesTable}
<h4>System Properties</h4> {systemPropertiesTable}
<h4>Classpath Entries</h4> {classpathEntriesTable}
</span>
UIUtils.headerSparkPage("Environment", content, parent)
}
sparkProperties
- removePass
で提供される機能を除いて、前処理を隠しています。
private def removePass(kv: (String, String)): (String, String) = {
if (kv._1.toLowerCase.contains("password")) (kv._1, "******") else kv
}
私たちは、「パスワード」を含むすべてのキーを見ることができるように:私は今、テストすることはできません
(BTWマスターブランチに、彼らはまた、キーワード「秘密」check if u are interested inでキーをフィルタリング)が、Uスパークの更新を試みることができます。そうです。 SparkSubmitArguments.scalaをmergeDefaultSparkProperties()
とすると、spark.cassandra.auth.password
はスパークとみなされ、sparkProperties
(removePass
の前処理あり)と見なされます。
そして、Web GUIのEnvironmentTabで一日の終わりに、このプロパティは****
として表示されます。
casaandraパスワードのキー名は何ですか? – VladoDemcak
@VladoDemcak "spark.cassandra.auth.password" –
あなたのソリューションはスパーク2.0.1と同じように見えます – VladoDemcak