疑似分散モードで CDH4 をセットアップしています。
Hadoop をセットアップし、CDH4 インストール ガイドで提案されているように、hdfs デモも正常に完了しました。
HIVEとHBaseもセットアップしました。
Hbase にデータを入力するために、HBase に大量のデータを入力する Java クライアントを作成しました (4 つのテーブルにそれぞれ約 100 万行)。
今、私は2つの問題に直面しています:
- ダミー データを hbase に移植するために Java クライアントが実行されている場合、合計で約 4,50,000 行のデータが入力された後、リージョン サーバーがシャットダウンされます。
- Hive を使用すると、HBase で作成されたテーブルにアクセスできません。最悪の場合、Hive シェルからテーブルを作成することさえできません。ただし、hbase シェルにはデータ/テーブル構造が表示されます (regionserver がシャットダウンする前に生成されたものは何でも)。
私は同じことに関する他の投稿を見てきました。2 番目の問題は、/etc/hosts または hive-site.xml に関連しているようです。したがって、両方のコンテンツを貼り付けています。
/etc/ホスト
198.251.79.225 u17162752.onlinehome-server.com u17162752
198.251.79.225 default-domain.com
198.251.79.225 hbase.zookeeper.quorum localhost
198.251.79.225 cloudera-vm # Added by NetworkManager
127.0.0.1 localhost.localdomain localhost
127.0.1.1 cloudera-vm-local localhost
hive-site.xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/metastore</value>
<description>the URL of the MySQL database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>mypassword</value>
</property>
<property>
<name>datanucleus.autoCreateSchema</name>
<value>false</value>
</property>
<property>
<name>datanucleus.fixedDatastore</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://127.0.0.1:9083</value>
<description>IP address (or fully-qualified domain name) and port of the metastore host</description>
</property>
<property>
<name>hive.support.concurrency</name>
<description>Enable Hive's Table Lock Manager Service</description>
<value>true</value>
</property>
<property>
<name>hive.zookeeper.quorum</name>
<description>Zookeeper quorum used by Hive's Table Lock Manager</description>
<value>zk1.myco.com,zk2.myco.com,zk3.myco.com</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<description>Zookeeper quorum used by Hive's Table Lock Manager</description>
<value>zk1.myco.com,zk2.myco.com,zk3.myco.com</value>
</property>
<property>
<name>hive.server2.authentication</name>
<value>NOSASL</value>
</property>
</configuration>
これらの問題により、私はタスクを達成することができません。
よろしくお願いします
PS: これはこのフォーラムへの私の最初の投稿です。我慢してくれてありがとう。
こんにちは、Tariq さん、返信ありがとうございます。これでなんとか乗り越えることができました。今、私は別の問題に直面しています。
HBase には既に 4 つのテーブルがあり、そのためにハイブ シェルで外部テーブルを作成したいと考えています。ただし、Hive シェルで create external table コマンドを実行すると、次のエラーが発生します。
'ERROR: org.apache.hadoop.hbase.client.NoServerForRegionException: No server address listed in -ROOT- for region .META.,,1.1028785192 containing row'
また、HBase シェルで何かを実行すると、このエラーが表示されます。
hbase シェルで前者に付随するもう 1 つのエラーは、zookeeper に関連しています。スタックトレース:
'WARN zookeeper.ZKUtil: catalogtracker-on- org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@6a9a56bf- 0x1413718482c0010 Unable to get data of znode /hbase/unassigned/1028785192
org.apache.zookeeper.KeeperException$SessionExpiredException: KeeperErrorCode = Session expired for /hbase/unassigned/1028785192'
助けてください。ありがとう!