web-dev-qa-db-ja.com

Hadoop-Java.net.ConnectException:接続が拒否されました

(ローカルホストで)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

私は助けが必要です...

7
Alex

core-site.xmlでポート9000に設定されているDFSが実際に開始されていることを確認します。 jpsコマンドで確認できます。 sbin/start-dfs.shで始めることができます

4
nikk

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にアクセスできるようになります。

0
Durga Chava

同様のエラーが発生しました。チェックしたところ、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 /でこの進行状況を確認できます

0
Manish Mehra

最初のチェックは、Javaプロセスが動作しているかどうかをコマンドラインに入力してjpsコマンドを実行することです。実行中のjpsコマンドでは、次のプロセスを実行する必要があります->>

  • DataNode
  • jps
  • NameNode
  • SecondaryNameNode

次のプロセスが実行されていない場合は、まず次のコマンドを使用してネームノードを起動します->> start-dfs.sh

これは私にとってうまくいき、あなたが述べたエラーを取り除きました。

0
Gaurav Chandani