11

Apache Hive を使い始めたばかりで、ローカルの Ubuntu ボックス 12.04 を Hive 0.10.0 と Hadoop 1.1.2 で使用しています。

Apache Web サイトの公式の「はじめに」ガイドに従って、ガイドのコマンドを使用して Hive メタストアを作成する Hadoop コマンドに行き詰まっています。

$ $HADOOP_HOME/bin/hadoop fs -mkdir       /user/hive/warehouse

エラーはmkdir: failed to create /user/hive/warehouse

Hive は特定のモードで Hadoop を必要としますか? JAVA_HOME を更新する以外に、Hadoop のインストールに多くのことをする必要がないことはわかっているので、スタンドアロン モードになります。Hadoop のインストールに付属する PI サンプルを実行しているので、Hadoop 自体は機能していると確信しています。

また、作成する他のコマンド/tmpは、ディレクトリが既に存在することを示している/tmpため、再作成されず/bin/hadoop fs -ls、現在のディレクトリがリストされています。

それで、どうすればそれを回避できますか?

4

10 に答える 10

23

ドキュメントのほとんどすべての例で、このコマンドが間違っています。unix と同様に、親ディレクトリを作成していない場合は、親ディレクトリを作成するために "-p" フラグが必要です。このコマンドは機能します。

$HADOOP_HOME/bin/hadoop fs -mkdir -p    /user/hive/warehouse
于 2014-09-10T05:59:15.063 に答える
3

これは許可の問題のようです。ルート フォルダ / にアクセスできますか? 次のオプションを試してください-

1. Run command as superuser

OR

2.Create the warehouse in your home directory. 

これが役立つかどうかお知らせください。幸運を!

于 2013-09-28T17:27:15.463 に答える
0

Linux チェック (hadoop core-site.xml 内) のデータ ディレクトリとアクセス許可を実行している場合、デフォルトの /data/tmp を保持しているように見えますが、ほとんどの場合、ルート アクセス許可が必要です。xml 構成ファイルを変更します。 、/data/tmp を削除し、fs 形式を実行します (コア xml 構成を変更した後の OC)

于 2014-07-13T15:59:53.923 に答える
0

これは、上記の私のコメントで sudo を使用して解決された単純な権限の問題ですが、いくつかの注意事項があります。

  1. ホームディレクトリに作成することも同様に機能するはずですが、メタストアのパスのハイブ設定を更新する必要がある場合があります。デフォルトは /user/hive/warehouse になると思います

  2. Hive シェルで CREATE TABLE ステートメントの別のエラーに遭遇しました。エラーは次のようなものでした。

hive> CREATE TABLE pokes (foo INT, bar STRING); 失敗: メタデータのエラー: MetaException(message:Got exception: java.io.FileNotFoundException File file:/user/hive/warehouse/pokes does not exist.) 失敗: 実行エラー、org.apache.hadoop.hive からの戻りコード 1 .ql.exec.DDLTask

別の権限の問題になります。「hive」というグループを作成してから、現在のユーザーをそのグループに追加し、/user/hive/warehouse の所有権をそのグループに変更する必要があります。その後、動作します。詳細は以下のリンクからご覧いただけます。

http://mail-archives.apache.org/mod_mbox/hive-user/201104.mbox/%3CBANLkTinq4XWjEawu6zGeyZPfDurQf+j8Bw@mail.gmail.com%3E

于 2013-09-29T15:11:52.560 に答える