VirtualBoxの助けを借りて、Clouderaトレーニング仮想マシンを使用してCentOSマシンを作成しました。その後、仮想マシンでスパークを使用したかったので、以下の正確な手順に従ってJava 1.8バージョンをインストールしました。技術管理ネットワーク。
Javaを正常にインストールできましたが、Sparkを起動するたびに、上記のリンクで提案されているように、次の3つのコマンドを実行する必要があります。
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
3つのコマンドすべてをファイルに入れましたが、それを行った後、コンピュータは起動せず、次のエラーで起動時に停止しました。
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