(ローカルホストで)hdfsに接続したいのですが、エラーが発生します:
Despubuntu-ThinkPad-E420/127.0.1.1からlocalhost:54310への呼び出しが接続例外で失敗しました:Java.net.ConnectException:接続が拒否されました。詳細については、以下を参照してください。 http://wiki.Apache.org/hadoop/ConnectionRefused
他の投稿のすべての手順に従いますが、問題を解決しません。私はhadoop 2.7を使用していますが、これは構成です。
core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/despubuntu/hadoop/name/data</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:54310</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
/ usr/local/hadoop/bin/hdfs namenode -formatと/usr/local/hadoop/sbin/start-all.shと入力します
しかし、「jps」と入力すると、結果は次のようになります。
10650 Jps
4162 Main
5255 NailgunRunner
20831 Launcher
私は助けが必要です...
core-site.xml
でポート9000に設定されているDFSが実際に開始されていることを確認します。 jps
コマンドで確認できます。 sbin/start-dfs.sh
で始めることができます
Hadoopクラスタを正しくセットアップしていないと思いますが、次の手順に従ってください。
ステップ1:.bashrcの設定から始めます。
vi $HOME/.bashrc
ファイルの最後に次の行を追加します:(hadoopホームを自分のものに変更します)
# Set Hadoop-related environment variables
export HADOOP_HOME=/usr/local/hadoop
# Set Java_HOME (we will also configure Java_HOME directly for Hadoop later on)
export Java_HOME=/usr/lib/jvm/Java-6-Sun
# Some convenient aliases and functions for running Hadoop-related commands
unalias fs &> /dev/null
alias fs="hadoop fs"
unalias hls &> /dev/null
alias hls="fs -ls"
# If you have LZO compression enabled in your Hadoop cluster and
# compress job outputs with LZOP (not covered in this tutorial):
# Conveniently inspect an LZOP compressed file from the command
# line; run via:
#
# $ lzohead /hdfs/path/to/lzop/compressed/file.lzo
#
# Requires installed 'lzop' command.
#
lzohead () {
hadoop fs -cat $1 | lzop -dc | head -1000 | less
}
# Add Hadoop bin/ directory to PATH
export PATH=$PATH:$HADOOP_HOME/bin
ステップ2:hadoop-env.shを次のように編集します。
# The Java implementation to use. Required.
export Java_HOME=/usr/lib/jvm/Java-6-Sun
ステップ3:ディレクトリを作成し、必要な所有権と権限を設定します
$ Sudo mkdir -p /app/hadoop/tmp
$ Sudo chown hduser:hadoop /app/hadoop/tmp
# ...and if you want to tighten up security, chmod from 755 to 750...
$ Sudo chmod 750 /app/hadoop/tmp
ステップ4:core-site.xmlを編集する
<property>
<name>hadoop.tmp.dir</name>
<value>/app/hadoop/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:54310</value>
</property>
ステップ5:mapred-site.xmlを編集する
<property>
<name>mapred.job.tracker</name>
<value>localhost:54311</value>
</property>
ステップ6:hdfs-site.xmlを編集する
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
最後にhdfsをフォーマットします(Hadoopクラスターを初めてセットアップするときにこれを行う必要があります)
$ /usr/local/hadoop/bin/hadoop namenode -format
これがあなたを助けることを願っています
同じ問題が発生しました。入力すると、名前ノード、データノード、リソースマネージャ、タスクマネージャのデーモンが実行されていることがわかります。したがって、start-all.shを実行すると、すべてのデーモンが実行を開始し、HDFSにアクセスできるようになります。
同様のエラーが発生しました。チェックしたところ、namenodeサービスが停止状態であることがわかりました。
namenodeのステータスを確認します
Sudo status hadoop-hdfs-namenode
起動/実行状態でない場合
namenodeサービスを開始します
Sudo start hadoop-hdfs-namenode
再起動後、ネームノードサービスが完全に機能するようになるまでには時間がかかることに注意してください。メモリ内のすべてのhdfs編集を読み取ります。コマンドtail -f /var/log/hadoop-hdfs/{Latest log file}
を使用して、/ var/log/hadoop-hdfs /でこの進行状況を確認できます
最初のチェックは、Javaプロセスが動作しているかどうかをコマンドラインに入力してjpsコマンドを実行することです。実行中のjpsコマンドでは、次のプロセスを実行する必要があります->>
次のプロセスが実行されていない場合は、まず次のコマンドを使用してネームノードを起動します->> start-dfs.sh
これは私にとってうまくいき、あなたが述べたエラーを取り除きました。