私の目的は、Hadoop 2.2.0をUbuntu 12.4で実行することです。私はそれを行うことができましたが、次のコマンドを実行すると:rushi @ ubuntu:/ usr/local/hadoop $ sbin/start-dfs.sh
私のdfsはnamenode、scondarynamenode、そしてdatanodeも開始していますが、問題は次の警告を得ています
rushi@ubuntu:/usr/local/hadoop$ sbin/start-dfs.sh
14/01/24 12:05:46 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-Java classes where applicable
Starting namenodes on [Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /usr/local/hadoop-2.2.0/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
localhost]
sed: -e expression #1, char 6: unknown option to `s'
Java: ssh: Could not resolve hostname Java: Name or service not known
library: ssh: Could not resolve hostname library: Name or service not known
warning:: ssh: Could not resolve hostname warning:: Name or service not known
which: ssh: Could not resolve hostname which: Name or service not known
have: ssh: Could not resolve hostname have: Name or service not known
might: ssh: Could not resolve hostname might: Name or service not known
You: ssh: Could not resolve hostname You: Name or service not known
loaded: ssh: Could not resolve hostname loaded: Name or service not known
Server: ssh: Could not resolve hostname Server: Name or service not known
HotSpot(TM): ssh: Could not resolve hostname HotSpot(TM): Name or service not known
have: ssh: Could not resolve hostname have: Name or service not known
64-Bit: ssh: Could not resolve hostname 64-Bit: Name or service not known
VM: ssh: Could not resolve hostname VM: Name or service not known
disabled: ssh: Could not resolve hostname disabled: Name or service not known
VM: ssh: Could not resolve hostname VM: Name or service not known
stack: ssh: Could not resolve hostname stack: Name or service not known
The: ssh: Could not resolve hostname The: Name or service not known
fix: ssh: Could not resolve hostname fix: Name or service not known
try: ssh: Could not resolve hostname try: Name or service not known
guard.: ssh: Could not resolve hostname guard.: Name or service not known
to: ssh: Could not resolve hostname to: Name or service not known
now.: ssh: Could not resolve hostname now.: Name or service not known
will: ssh: Could not resolve hostname will: Name or service not known
that: ssh: Could not resolve hostname that: Name or service not known
stack: ssh: Could not resolve hostname stack: Name or service not known
the: ssh: Could not resolve hostname the: Name or service not known
you: ssh: Could not resolve hostname you: Name or service not known
-c: Unknown cipher type 'cd'
guard: ssh: Could not resolve hostname guard: Name or service not known
It's: ssh: Could not resolve hostname It's: Name or service not known
highly: ssh: Could not resolve hostname highly: Name or service not known
fix: ssh: Could not resolve hostname fix: Name or service not known
recommended: ssh: Could not resolve hostname recommended: Name or service not known
or: ssh: Could not resolve hostname or: Name or service not known
the: ssh: Could not resolve hostname the: Name or service not known
library: ssh: Could not resolve hostname library: Name or service not known
link: ssh: Could not resolve hostname link: Name or service not known
'execstack: ssh: Could not resolve hostname 'execstack: Name or service not known
with: ssh: Could not resolve hostname with: Name or service not known
<libfile>',: ssh: Could not resolve hostname <libfile>',: Name or service not known
it: ssh: Could not resolve hostname it: Name or service not known
noexecstack'.: ssh: Could not resolve hostname noexecstack'.: Name or service not known
with: ssh: Could not resolve hostname with: Name or service not known
'-z: ssh: Could not resolve hostname '-z: Name or service not known
localhost: starting namenode, logging to /usr/local/hadoop-2.2.0/logs/hadoop-rushi-namenode-ubuntu.out
localhost: starting datanode, logging to /usr/local/hadoop-2.2.0/logs/hadoop-rushi-datanode-ubuntu.out
Starting secondary namenodes [Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /usr/local/hadoop-2.2.0/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
0.0.0.0
]
何が問題で、どのように解決するのでしょうか?私を助けてください
理由の1つは、Hadoopのデフォルトのネイティブライブラリが32ビット用にビルドされていることです。
これらの行を.bashrcまたは.bash_profileに追加します。
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
これは私にとってUbuntu 12.04で機能しました。
$ HADOOP_INSTALLは、Hadoopをインストールする場所です(通常は/ usr/local/hadoopです)。
または、HADOOP_INSTALLの代わりにHADOOP_HOMEが存在する場合もあります。
ここでの唯一の問題は この質問 と同じであるため、解決策も同じです:
これがHDFS開始スクリプトを破壊するものであるため、JVMがスタックガード警告をstdout/stderrに出力しないようにします。
etc/hadoop/hadoop-env.sh
行:
export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"
と:
export HADOOP_OPTS="$HADOOP_OPTS -XX:-PrintWarnings -Djava.net.preferIPv4Stack=true"
( この解決策 は Sumit Chawlaのブログ )で見つかりました
このエラーは、主に.bashrcの設定ミスが原因で発生します。
以下のコードを.bashrcファイルの最後に追加します。
#HADOOP VARIABLES START
export Java_HOME=/usr/lib/jvm/Java-7-openjdk-AMD64
export HADOOP_INSTALL=/usr/local/hadoop
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_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib/native"
#HADOOP VARIABLES END
ホストに関するエラーを削除します。 Apache2サーバーをインストールします。 localhostのすべての基本構成を構成します。
Sudo apt-get install Apache2.
このURLで確認してください: http:// localhost
記事全体を読み、最初から構成してください。 http://www.bogotobogo.com/Hadoop/BigData_hadoop_Install_on_ubuntu_single_node_cluster.php