在伪分布式模式下保存HBase中的批量数据的问题

时间:2013-09-17 10:18:11

标签: hadoop hbase hive hdfs

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

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

我也成立了,HIVE,& HBase的。

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

现在我面临两个问题:

  1. 当java客户端运行以将虚拟数据移植到hbase中时,区域服务器在总共输入大约4,50,000行数据后关闭。
  2. 使用Hive,我无法访问在HBase中创建的表,或者最糟糕的是,甚至无法从hive shell创建表。但是,hbase shell向我显示了数据/表结构(在regionserver关闭之前已经生成了。)
  3. 我见过其他相关帖子。似乎第二个问题与我的/ 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
    

    蜂房-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>
    

    这个问题阻碍了我完成任务,我应该这样做。

    提前致谢 Abhiskek

    PS:这是我在这个论坛的第一篇文章,所以道歉,对于任何不合适的内容,你可能已经找到了!谢谢你的支持。

    嗨Tariq,谢谢你的回复。我已经设法克服了这一点。现在,我正面临另一个问题。

    我已经在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'
    

    请帮忙。谢谢!

0 个答案:

没有答案