hadoop-env.sh
주석이 달린 매개변수가 새 매개변수로 대체되도록 파일을 업데이트하려고 합니다 . 나는 전체 개념을 처음 접했고 많은 검색 끝에 다음을 수행하게 되었습니다.
sed -i '/^export JAVA_HOME=/ s:.*:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64\nexport HADOOP_HOME=/usr/local/hadoop\n:' $HADOOP_HOME/etc/hadoop/hadoop-env.sh
업데이트하려는 파일 부분은 다음과 같습니다.
# The java implementation to use. By default, this environment
# variable is REQUIRED on ALL platforms except OS X!
# export JAVA_HOME=
원하는 결과는 다음과 같습니다.
# The java implementation to use. By default, this environment
# variable is REQUIRED on ALL platforms except OS X!
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop
하지만 hadoop-env.sh
파일을 캡처하면 이전과 동일한 내용이 나옵니다. Dockerfile
다음 명령을 사용하여 실행 중임을 언급해야 합니다 .
RUN sed -i '/^export JAVA_HOME=/ s:.*:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64\nexport HADOOP_HOME=/usr/local/hadoop\n:' $HADOOP_HOME/etc/hadoop/hadoop-env.sh
내가 무엇을 놓치고 있을지 모르겠습니다. 도움을 주시면 대단히 감사하겠습니다.
답변1
댓글에 이에 대한 답변이 있었습니다.
변화:
sed -i '/^export JAVA_HOME=/ s:.*:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64\nexport HADOOP_HOME=/usr/local/hadoop\n:' $HADOOP_HOME/etc/hadoop/hadoop-env.sh
받는 사람: (2자만 추가하세요)
sed -i '/^# export JAVA_HOME=/ s:.*:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64\nexport HADOOP_HOME=/usr/local/hadoop\n:' $HADOOP_HOME/etc/hadoop/hadoop-env.sh