Ich denke, es gibt keine gemeinsame Lösung, wie Sie Ihre benutzerdefinierte Eigenschaft aus Spark WebUI für frühere Versionen ausblenden.
Ich nehme an, Sie verwenden Spark 2.0 oder niedriger (ich habe keine Funktion in 2.0 unten beschrieben), weil 2.0.1 Passwörter Vorverarbeitung zu "*****" unterstützt.
prüfen Ausgabe SPARK-16796 Visible passwords on Spark environment page
Wenn wir einen Blick in Apache Funken Quellcode nehmen und einige Untersuchungen tun können wir einige Verarbeitung sehen, wie zu "verstecken" Eigenschaft in Funken web Ui.
SparkUI standardmäßig ist die Umgebung Seite angebracht innerhalb Initialisierung attachTab(new EnvironmentTab(this))
[line 71]
EnvironmentPage Eigenschaften EnvironmentPage
als Register in Web GUI macht als:
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)
}
alle Objekte ohne irgendeine Art gemacht werden, Verbergen der Vorverarbeitung außer sparkProperties
- mit der Funktionalität, die in removePass
zur Verfügung gestellt wird.
private def removePass(kv: (String, String)): (String, String) = {
if (kv._1.toLowerCase.contains("password")) (kv._1, "******") else kv
}
wie können wir alle Schlüssel sehen, die „password“ enthält (BTW: in der Master-Zweig sie auch Schlüssel mit Stichwort „Geheimnis“ Filterung check if u are interested in)
Ich kann jetzt nicht getestet, aber u kann versuchen, Funken zu aktualisieren. so z. SparkSubmitArguments.scala in mergeDefaultSparkProperties()
wird spark.cassandra.auth.password
als Funken betrachten und als sparkProperties
(mit removePass
Vorverarbeitung) ausfüllen.
Und am Ende des Tages in EnvironmentTab in Web GUI sollte diese Eigenschaft als ****
sichtbar sein.
Wie lautet der Schlüsselname für Ihr casaandra-Passwort? – VladoDemcak
@VladoDemcak "spark.cassandra.auth.password" –
sieht aus wie Ihre Lösung kommt mit Funken 2.0.1 – VladoDemcak