13

cloudera(3)からhadoopとhbaseをインストールしましたが、 http:// localhost:60010にアクセスしようとすると、ロードが継続的に実行されます。

リージョンサーバーに正常にアクセスできます-http :// localhost:60030 ...マスターhbaseサーバーのログを見ると、次のことがわかります。

ルート領域に問題があるようです。

これらはすべて、Ubuntu(Natty)11を実行しているext4 1TBパーティションにインストールされます。クラスター/その他のボックスはありません)。

どんな助けでも素晴らしいでしょう!

11/05/15 19:58:27 WARN master.AssignmentManager: Failed assignment of -ROOT-,,0.70236052 to serverName=localhost,60020,1305452402149, load=(requests=0, regions=0, usedHeap=24, maxHeap=995), trying to assign elsewhere instead; retry=0
org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed setting up proxy interface org.apache.hadoop.hbase.ipc.HRegionInterface to /127.0.0.1:60020 after attempts=1
    at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:355)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:957)
    at org.apache.hadoop.hbase.master.ServerManager.getServerConnection(ServerManager.java:606)
    at org.apache.hadoop.hbase.master.ServerManager.sendRegionOpen(ServerManager.java:541)
    at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:901)
    at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:730)
    at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:710)
    at org.apache.hadoop.hbase.master.AssignmentManager$TimeoutMonitor.chore(AssignmentManager.java:1605)
    at org.apache.hadoop.hbase.Chore.run(Chore.java:66)
Caused by: java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567)
    at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:408)
    at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupIOstreams(HBaseClient.java:328)
    at org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:883)
    at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:750)
    at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
    at $Proxy6.getProtocolVersion(Unknown Source)
    at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:419)
    at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:393)
    at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:444)
    at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:349)
    ... 8 more
11/05/15 19:58:27 WARN master.AssignmentManager: Unable to find a viable location to assign region -ROOT-,,0.70236052
4

7 に答える 7

15

これを見つけた他の人のためにこの問題を修正しました。ホストファイル(/ etc / hosts)に問題がありました。127.0.1.1 COMPNAMEに関連するエントリを削除する必要があります-この行の前にハッシュ(#)を付けてから、すべてのhadoopおよびhbaseサービスを再起動します。

ここでの解決策の詳細:http://blog.nemccarthy.me/?p = 110

于 2011-06-30T13:19:39.173 に答える
5

@Manavによると:

/ etc / hostsを編集できない状況に陥った場合は、次の回避策も機能します

conf / hadoop-env.shに、次の行を追加します。

export HADOOP_OPTS=-Djava.net.preferIPv4Stack=true

Ubuntu 11.10(Oneiric)とHBase0.92.1を使用しています。これらの手順により、単一サーバーのインストールに関する問題が修正されました。

  1. 編集/etc/hosts:ホスト名に関連付けられているIPアドレスを変更して、代わりにLANIPを使用するようにします127.0.0.1
  2. 開ける<HBASE_DIR>/conf/hbase-env.sh
  3. 編集HBASE_OPTS、追加-Djava.net.preferIPv4Stack=true。行は次のようになります。

    export HBASE_OPTS = "-XX:+ UseConcMarkSweepGC -Djava.net.preferIPv4Stack = true"

  4. HBaseを再起動します

于 2012-04-17T14:38:24.953 に答える
3

/ etc / hostsを編集できない状況に陥った場合は、次の回避策も機能します。

conf / hadoop-env.shに、次の行を追加します。

export HADOOP_OPTS=-Djava.net.preferIPv4Stack=true

(編集を削除、別の回答として移動)

于 2011-09-07T19:39:20.503 に答える
1

ホストファイルは次のようになります

#127.0.0.1  localhost
#127.0.1.1  ubuntu.ubuntu-domain    ubuntu
192.168.2.100   ubuntu
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

このファイルは/etc/hostsにあります

よろしくシュジャ

于 2011-09-25T11:09:41.207 に答える
1

変更したくない場合は、Works For Meの別の回避策を次に示します/etc/hosts(Ubuntuが理由でそのエントリをそこ に置いたため)。

この投稿で説明されているように、コアの問題は、ループバックインターフェイスに複数のIPがバインドされているのに対し、hbaseは1つだけであると想定していることです。結果として生じる不一致により、マスターは、リージョンサーバーが実際に別のIP(127.0.1.1、ホストの宣言されたFQDNにバインドされたIP)をリッスンしているときに、1つのIP(127.0.0.1)を持っていると見なします。

エントリを削除する/etc/hostsことは、1つのインターフェイスと1つのIPの仮定を復元する1つの方法です。「実際の」永続IPに127.0.1.1置き換えることは別の方法です。/etc/hosts最後に、もう1つは、新しいインターフェイスを作成することです。これを/etc/network/interfaces:の下部にドロップします。

# Bind an interface solely for the default host FQDN IP, to fix reverse dns
auto eth0.1
iface eth0.1 inet static
pre-up ip link add eth0.1 name eth0.1 type bridge
address 127.0.1.1
netmask 255.255.255.0

sudo ifup eth0.1そうすれば、でそれを見ることができるはずifconfigです。hbaseを再起動すると、準備が整います。

すでにeth0.1別のスロットを選択(つまりeth0.2)を使用している場合は、問題ではありません。

編集@bcolynの使用lo:0も私のために機能し、ループバックが常に利用可能であるため、優れています。その場合、pre-up線も不要に見えます。

于 2013-03-12T20:17:59.213 に答える
1

サブインターフェイスを使用したトリックはうまくいきましたが、eth0が私のマシン(外部アダプター)で常に使用できるとは限らず、NetworkManager(eth0.1が定義されている場合はeth0の管理を拒否する)で管理する必要があるため、eth0ではなくループバックインターフェイスを使用しましたubuntu13.04の/etc/ network / interfacesにあります)

関連するスニペット:

auto lo:0
iface lo:0 inet static
address 127.0.1.1
netmask 255.255.255.0

通常に加えて

auto lo
iface lo inet loopback  

もちろん

于 2013-04-10T19:23:09.573 に答える
0

ホストファイルで、ホストアドレスを127.0.1.1から127.0.0.1に変更します

于 2014-07-09T13:10:22.540 に答える