我正在運行一些測試,我需要能夠在兩個不同版本的Hadoop之間來回切換 - 2.2.0版本和我自定義的版本。但是,我在〜/ .bashrc中設置變量時遇到了問題 - 如果我同時使用它們,它將會發生衝突。我只能運行2.2.0版本,而不是我的版本。 但是,如果我在〜/ .bashrc中註釋與2.2.0版本相關的變量,它將運行我的版本。 這裏是我的Hadoop相關的變量來自〜/ .bashrc中:如何在Ubuntu上保留兩個Hadoop版本?
#Hadoop variables - my version
export HADOOPTWO_INSTALL=/home/parallels/Development/Hadoop/hadoop-trunk/trunk2/hadoop-dist/target/hadoop-3.0.0-SNAPSHOT
export PATH=$PATH:$HADOOPTWO_INSTALL/bin
export PATH=$PATH:$HADOOPTWO_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOPTWO_INSTALL
export HADOOP_COMMON_HOME=$HADOOPTWO_INSTALL
export HADOOP_HDFS_HOME=$HADOOPTWO_INSTALL
export YARN_HOME=$HADOOPTWO_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOPTWO_INSTALL/lib/native
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOPTWO_INSTALL/lib/"
#Hadoop variables - version 2.2.0
export HADOOP_INSTALL=/home/parallels/Development/Hadoop/hadoop-2.2.0
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_INSTALL/lib/"
如果我運行$HADOOPTWO_INSTALL/bin/hadoop version
,這就要求我的版本的Hadoop文件,它將返回:
Hadoop 2.2.0
Subversion https://svn.apache.org/repos/asf/hadoop/common -r 1529768
Compiled by hortonmu on 2013-10-07T06:28Z
Compiled with protoc 2.5.0
From source with checksum 79e53ce7994d1628b240f09af91e1af4
This command was run using /home/parallels/Development/Hadoop/hadoop-2.2.0/share/hadoop/common/hadoop-common-2.2.0.jar
這顯然是錯誤的,因爲在命令上調用的jar的位置(它仍然從2.2.0版本調用jar,即使我專門調用了我的自定義Hadoop版本)。
我在做什麼錯?任何幫助將深表感謝。
所以當我打開一個shell時,我只需要調用「my-hadoop-env」,對吧?你修改PS1是什麼意思? – yvesbastos
很酷,我想我已經明白了......這正是我所希望的那種類型。謝啦! – yvesbastos