Nach einigen Nachforschungen kam ich auf folgendes:
Erstellte Datei modify_ntp_config.sh
auf S3:
#!/bin/bash set -eEu ntp_config_file="$" echo "Removing 'server 10.*' entries from \"$ntp_config_file\"" sudo sed -i -e '/server 10.*/d' $ntp_config_file echo "Reinitialize ntp" sudo service ntpd stop sudo ntpdate -s time.nist.gov sudo service ntpd start
Kopiere diese Datei nach s3:
$ aws s3 cp /var/tmp/modify_ntp_config.sh \ s3://<s3-bucket-name>/data/scripts/modify_ntp_config.sh
Und dann mit aws-tools
:
aws emr create-cluster --name "..." [...cluster create options ...] \ --steps \ Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,\ Jar=s3://<region>.elasticmapreduce/libs/script-runner/script-runner.jar,\ Args=["s3://<s3-bucket-name>/data/scripts/modify_ntp_config.sh","/etc/ntp.conf"]
Ergebnisse in der folgenden Protokollausgabe (von s3 nach localdisk kopiert)
$ aws s3 cp --recursive s3://<s3-bucket-name>/log/<cluster-id>/steps/<step-id>/ /var/tmp/5HKO7 download: s3://[...]/stdout.gz to ../../var/tmp/5HKO7/stdout.gz download: s3://[...]/stderr.gz to ../../var/tmp/5HKO7/stderr.gz download: s3://[...]/controller.gz to ../../var/tmp/5HKO7/controller.gz $ zcat /var/tmp/5HKO7/stdout.gz Downloading 's3://<s3-bucket-name>/data/scripts/modify_ntp_config.sh' to '/mnt/var/lib/hadoop/steps/[...]/.' Removing 'server 10.*' entries from "/etc/ntp.conf" Reinitialize ntp Shutting down ntpd: [ OK ] Starting ntpd: [ OK ] $ zcat /var/tmp/5HKO7/stderr.gz Command exiting with ret '0'
ANMERKUNG: Eine andere Möglichkeit wäre die Verwendung des EMR-Clusters mit aws emr add-steps
.
$ aws emr add-steps --cluster-id "j-<emr_cluster_id>"\ --steps Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,\ Jar=s3://<region>.elasticmapreduce/libs/script-runner/script-runner.jar,\ Args=["s3://<s3-bucket-name>/data/scripts/modify_ntp_config.sh","/etc/ntp.conf"]
Referenzen: https://docs.aws.amazon.com/emr/latest/DeveloperGuide//emr-hadoop-script.html https://docs.aws.amazon.com/cli/latest/reference/emr/add- steps.html https://askubuntu.com/questions/254826/how-to-force-a-clock-update-using-ntp https://unix.stackexchange.com/questions/158802/how-to-update- ntp-without-the-ntp-daemon heruntergefahren