0

我正在以伪分布式模式设置 CDH4。

我已经设置了 Hadoop,并且按照 CDH4 安装指南中的建议,也成功完成了 hdfs 演示。

我还设置了 HIVE 和 HBase。

为了在 Hbase 中填充数据,我编写了一个 java 客户端,它在 HBase 中填充大量数据(4 个表中每个大约 1M 行)。

现在我面临两个问题:

  1. 当 java 客户端运行将虚拟数据移植到 hbase 时,总共输入了大约 4,50,000 行数据后 regionserver 关闭。
  2. 使用 Hive,我无法访问在 HBase 中创建的表,或者最糟糕的是,甚至无法从 hive shell 创建表。虽然,hbase shell 向我显示了数据/表结构(无论是在 regionserver 关闭之前生成的。)

我看过其他关于相同的帖子。似乎第二个问题与我的 /etc/hosts 或 hive-site.xml 有关。因此,我正在粘贴它们的内容。

/etc/hosts

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

蜂巢站点.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:这是我第一次在这个论坛发帖,很抱歉,如有不当之处,您可能发现了!谢谢你陪我。

嗨塔里克,感谢您的回复。我以某种方式设法克服了这一点。现在,我面临另一个问题。

我已经在 HBase 中有 4 个表,我想在 hive shell 中创建外部表。但是在 hive shell 上运行 create external table 命令时会出现以下错误:

'ERROR: org.apache.hadoop.hbase.client.NoServerForRegionException: No server address listed in -ROOT- for region .META.,,1.1028785192 containing row'

此外,当我在 HBase shell 中执行某些操作时会出现此错误。

前一个错误在 hbase shell 上的另一个错误与 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'

请帮忙。谢谢!

4

0 回答 0