Apache Hadoop core-site.xml 속성 설정

Apache Hadoop 속성을 설정 해야 하는 시나리오가 있습니다.

일반적으로 파일에서이 작업을 수행 core-site.xml 합니다.

이 문서에서는 클러스터에서를 설정할 수 있는 방법을 설명 core-site.xml 합니다.

core-site.xmlDBFS에서 파일 만들기

파일을 만들어 core-site.xml 클러스터의 DBFS에 저장 해야 합니다.

이 파일을 만드는 쉬운 방법은 전자 필기장의 bash 스크립트를 통하는 것입니다.

이 예제 코드는 hadoop-configs 클러스터에 폴더를 만든 다음이 폴더에 단일 속성 core-site.xml 파일을 씁니다.

mkdir -p /dbfs/hadoop-configs/
cat << 'EOF' > /dbfs/hadoop-configs/core-site.xml
 <property>
    <name><property-name-here></name>
    <value><property-value-here></value>
 </property>
EOF

스크립트에 다른 이름/값 쌍을 추가 하 여 파일에 여러 속성을 추가할 수 있습니다.

이 파일을 로컬로 만든 다음 클러스터에 업로드할 수도 있습니다.

로드 되는 init 스크립트 만들기 core-site.xml

이 예제 코드 set-core-site-configs.sh 는 방금 만든 파일을 사용 하는 라는 init 스크립트를 만듭니다 core-site.xml .

수동으로 파일을 업로드 하 core-site.xml 고 다른 곳에 저장 한 경우 config_xml 예제 코드에서 값을 업데이트 해야 합니다.

dbutils.fs.put("/databricks/scripts/set-core-site-configs.sh", """
#!/bin/bash

echo "Setting core-site.xml configs at `date`"

START_DRIVER_SCRIPT=/databricks/spark/scripts/start_driver.sh
START_WORKER_SCRIPT=/databricks/spark/scripts/start_spark_slave.sh

TMP_DRIVER_SCRIPT=/tmp/start_driver_temp.sh
TMP_WORKER_SCRIPT=/tmp/start_spark_slave_temp.sh

TMP_SCRIPT=/tmp/set_core-site_configs.sh

config_xml="/dbfs/hadoop-configs/core-site.xml"

cat >"$TMP_SCRIPT" <<EOL
#!/bin/bash
## Setting core-site.xml configs

sed -i '/<\/configuration>/{
    r $config_xml
    a \</configuration>
    d
}' /databricks/spark/dbconf/hadoop/core-site.xml

EOL
cat "$TMP_SCRIPT" > "$TMP_DRIVER_SCRIPT"
cat "$TMP_SCRIPT" > "$TMP_WORKER_SCRIPT"

cat "$START_DRIVER_SCRIPT" >> "$TMP_DRIVER_SCRIPT"
mv "$TMP_DRIVER_SCRIPT" "$START_DRIVER_SCRIPT"

cat "$START_WORKER_SCRIPT" >> "$TMP_WORKER_SCRIPT"
mv "$TMP_WORKER_SCRIPT" "$START_WORKER_SCRIPT"

echo "Completed core-site.xml config changes `date`"

""", True)

초기화 스크립트를 클러스터에 연결 합니다.

새로 만든 init 스크립트를 클러스터 범위 init 스크립트로구성 해야 합니다.

예제 코드를 사용한 경우 대상은Init 스크립트 경로 는입니다 .

예제 코드를 사용자 지정한 경우 클러스터에 연결할 때 init 스크립트의 올바른 경로와 이름을 입력 해야 합니다.