2

((1))

Thrift サーバーの起動中に以下のエラーが発生します。

hive --service hiveserver

Starting Hive Thrift Server
org.apache.thrift.transport.TTransportException: Could not create ServerSocket on address 0.0.0.0/0.0.0.0:10000.

netstat を実行したとき、ポート 10000 は既に使用されていました。

$ netstat -nl | grep 10000
tcp6       0      0 :::10000                :::*                    LISTEN 

これを解決するにはどうすればよいですか?

((2))

Hive Web インターフェイスの起動中にエラーが発生する

hive --service hwi

$ hive --service  hwi
13/01/01 22:05:36 INFO hwi.HWIServer: HWI is starting up
13/01/01 22:05:37 INFO mortbay.log: Logging to org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog
13/01/01 22:05:37 INFO mortbay.log: jetty-6.1.26
13/01/01 22:05:37 INFO mortbay.log: Extract /opt/hive/lib/hive-hwi-0.9.0.jar to /tmp/Jetty_127_0_0_1_3606_hive.hwi.0.9.0.jar__hwi__.6ogsv5/webapp
13/01/01 22:05:37 WARN mortbay.log: failed SocketConnector@127.0.0.1:3606: java.net.BindException: Address already in use
13/01/01 22:05:37 WARN mortbay.log: failed Jetty20SShims$Server@21e554: java.net.BindException: Address already in use
Exception in thread "main" java.net.BindException: Address already in use
    at java.net.PlainSocketImpl.socketBind(Native Method)

助けてください。

前もって感謝します!!

4

5 に答える 5

3

あなたのポートアドレスは他のプログラムで使用されているようです。以下の手順に従ってください:-

((1)) 別のポートアドレスを使用して Hive サーバーを起動する

    hive --service hiveserver -p 10001 &

((2))

a] $HIVE_HOME/conf フォルダーに存在しない場合は、hive-site.xml ファイルを作成します b] 次の行をその中に入れます

   <?xml version="1.0"?>
   <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
   <configuration>
   <property>
    <name>hive.hwi.listen.host</name>
    <value>localhost</value>
   </property>
   <property>
    <name>hive.hwi.listen.port</name>
    <value>9998</value>
   </property>
   <property>
    <name>hive.hwi.war.file</name>
    <value>lib/hive-hwi-0.10.0.war</value>
    <description>This sets the path to the HWI war file, relative to ${HIVE_HOME}. </description>
   </property>
   </configuration>

c]ハイブWebインターフェースを開始

    hive --service hwi

d] localhost:9998/hwi/ を参照します。

于 2013-04-18T09:49:06.347 に答える
0

ハイブを停止します。

hive-site.xml に次のプロパティを追加します。

1) hive.hwi.listen.host = ホスト

2) hive.hwi.listen.port = 9999

3) hive.hwi.war.file = /lib/hive-common-0.12.0.2.0.6.1-102.jar {これにより、$HIVE_HOME からの HWI war ファイルへのパスが設定されます}

ハイブを再起動する

コマンドを使用して、Hive サーバーで HWI を開始します。

nohup hive --service hwi &

これで、host:9999/hwi として HWI にアクセスできます。

于 2014-04-02T11:28:01.510 に答える
0

通常、この問題が発生します。ホスト名を変更して、メタストアで作成したユーザーが古いメタストアのホスト名を引き続き参照するようにします。

ケース -1 いずれかのメタストアが起動しておらず、上記のエラーがスローされるため、エラーなしで実行された場合は bin/metatool -listFSRoot を実行し、安全にハイブに接続できます。

それでも問題は解決しない場合 -2

ケース-2 ハイブで作成されたテーブルがまだ古いホスト名を指していた古い hiveuser を指しているため、ハイブ テーブルからレコードを取得できません。

解決策 :- すべてのファイルのホスト名を古いホスト名に戻してから、hadoop とハイブ スタックを次々に実行します。

これとは別に、他の解決策がある場合は共有してください。これは私の生産ボックスで解決しました。

于 2014-08-27T14:19:12.113 に答える