Beelineクライアントを介して、マシンにインストールされているHiveに接続しようとしています。 「beeline」コマンドを入力してHiveに接続すると、クライアントはユーザー名とパスワードを要求しています
!connect jdbc:Hive2://localhost:10000/default
ユーザー名とパスワードを教えてください。構成ファイルに資格情報(ユーザー名とパスワード)を追加する必要がありますか?
ユーザー名とパスワードはありません。
!connect jdbc:Hive2://localhost:10000/default
Enter username for jdbc:Hive2://localhost:10000/default: <press Enter>
Enter password for jdbc:Hive2://localhost:10000/default: <press Enter>
Enterキーを押すだけです。わたしにはできる。
またはこれを試してください。
!connect jdbc:Hive2://localhost:10000/default "" "" ""
beeline --incremental=true
注:コマンドラインオプション「—incremental = true」はオプションですが、アイドル状態を維持し、接続が切断されない時間を延長します。
!connect jdbc:Hive2://silver-server-
Hive.app.google.com:10000/default
注:ユーザー名とパスワードの入力を求められます。ユーザー名とパスワードを使用する
beeline> !connect jdbc:Hive2:// silver-server-Hive.app.google.com:10000/default
scan complete in 3ms
Connecting to jdbc:Hive2:// silver-server-Hive.app.google.com:10000/default
Enter username for jdbc:Hive2:// silver-server-Hive.app.google.com:10000/default:suman
Enter password for jdbc:Hive2:// silver-server-Hive.app.google.com:10000/default: *********
set mapred.job.queue.name=<your queue name>;
注:クエリを実行するには、キューを設定する必要があります。
USE google_map_data;
注:クエリを実行するときは、データベースにいる必要があります。
!reconnect jdbc:Hive2:// silver-server-Hive.app.google.com:10000/default;
!quit
ノート:
beeline -u jdbc:Hive2:// silver-server-Hive.app.google.com:10000\
-n <yourname> -p <yourpassword> --incremental=true**
Beelineは、豊富なSQLクエリ関数セットをサポートしています。
SHOW DATABASES;
USE <database>;
SHOW TABLES;
DESC <table>;
DESC FORMATTED <table>;
SELECT * FROM google_map_city limit 25;
Kerberosセキュリティが有効になっているHiveサーバーへのビーラインの使用
beeline -u "jdbc:Hive2://<Server Ip>:<port>/sample;principal=<Hive user>/<Server Ip>@<relam>;retries=3"
例
beeline -u "jdbc:Hive2://10.10.10.10:8071/sample;principal=Hive/[email protected];retries=3"
クラスターへのログインに使用されるのは、ユーザーIDとパスワードです。サーバーへのログインに使用するのは、エッジノードの資格情報である場合があります。これを回避する最善の方法は、以下のコマンドを使用することです
beeline -u jdbc:Hive2://localhost:10000/default
既にPuTTYを介してノードにログインしている場合、ユーザーIDまたはパスワードの入力は求められません。
[〜#〜] edit [〜#〜]
秘::ビーライン文字列全体を繰り返し入力しないようにするには、bash_profileファイルにエイリアスを作成することをお勧めします。
bashプロファイルに次の行を追加するだけです(@Harsimranjit Singh Klerが推奨するKerberosセキュリティを使用)beeline -u jdbc:Hive2://<hostname>:10000/default;principal=Hive/<hostname>@<realm>;ssl=true;
およびbash_profile(source .bash_profile
)これで完了です。次回beeline
と入力すると、Hive2サーバーに接続します
@sravanが述べたように、空のユーザー名とパスワードを使用できます。これにより、hiveserver2プロセスを実行しているユーザーとしてクエリが実行されます。
ただし、Hive.server2.enable.doAs
プロパティをHive-site.xmlに追加するか、hiveserver2の実行中にhiveconfに配置してから、オプションでプロンプトを介してユーザー名とパスワードを渡すことができます。この場合、Hiveは指定されたパスワードを使用して、渡されたユーザー名としてクエリを実行します。ここのユーザー名はシステムのユーザー名です。
いくつかのシナリオではそれが必要です-ユーザー 'hive'としてhiveserver2プロセスを実行しているが、ユーザー 'alex'が所有し、他のユーザーが所有していないHDFSパス/ user/alex/table1で定義された外部テーブルがあるとしますこの場所の読み取り/書き込みアクセス。この場合、空のユーザー名とパスワードを入力して「ハイブ」としてクエリを実行すると、ディレクトリにアクセスできず、アクセス許可拒否例外をスローできないため、機能しません。
はい、tge conf
フォルダー内のHive-site.xml
ファイルでユーザー名とパスワードを設定できます。デフォルトの資格情報はAPP
/mine
です。