VirtualBox의 도움으로 Cloudera 교육 가상 머신을 사용하여 CentOS 머신을 만들었습니다. 그런 다음 가상 머신에서 스파크를 사용하고 싶었기 때문에 아래의 정확한 단계에 따라 Java 1.8 버전을 설치했습니다.기술경영네트워크.
Java를 성공적으로 설치할 수 있었지만 Spark를 시작할 때마다 위 링크에서 제안한 대로 다음 세 가지 명령을 실행해야 합니다.
export JAVA_HOME=/opt/jdk1.8.0_91
export JRE_HOME=/opt/jdk1.8.0_91/jre
export PATH=$PATH:/opt/jdk1.8.0_91/bin:/opt/jdk1.8.0_91/jre/bin
Spark를 시작하기 전에 위 명령을 실행하지 않으면 Spark는 자동으로 Java 1.6 버전을 사용하고 예외를 발생시킵니다. 위의 명령을 실행하면 정상적으로 실행됩니다.
/etc/environment
위의 튜토리얼 마지막 부분에서 컴퓨터가 부팅할 때 이러한 변수를 사용하도록 환경 설정 명령을 파일에 넣어야 한다고 언급했습니다 .
/etc/environment
세 가지 명령을 모두 파일에 넣었 지만 그렇게 한 후에는 컴퓨터가 부팅되지 않고 다음 오류와 함께 시작 시 멈췄습니다.
Starting jexec servicesDevice, "eth0" does not exist
뭐가 문제 야?
답변1
/etc/environment
쉘 스크립트가 아니라 구성 파일입니다.pam_env
그리고 다양한 구문이 있습니다. /etc/environment
(그리고 각 사용자 파일에는 ~/.pam_environment
형식의 간단한 줄만 포함될 수 있습니다. .VARIABLE=VALUE
export
VARIABLE
사용하려면 전체 철자를 써야 /etc/environment
하며 , 루트는 ( 디렉토리와) 다른 값을 가질 수 없습니다. 쉘 스크립트를 넣는 것이 더 좋습니다 . 이것은 로그인 중에 실행되고 쉘에 의해 실행되므로 쉘 구문을 사용합니다. (그러나 cron 작업과 같이 로그인되지 않은 상태에서 명령을 실행하는 경우에는 그러면 실행되지 않습니다).PATH
sbin
/etc/profile.d