以伪分布式模式在hbase中保存大量数据的问题

pcww981p  于 2021-06-03  发布在  Hadoop
关注(0)|答案(0)|浏览(264)

我正在以伪分布式模式设置cdh4。
我已经安装了hadoop,并且按照cdh4安装指南的建议,也成功地完成了hdfs演示。
我还设置了、配置单元和hbase。
为了在hbase中填充数据,我编写了一个java客户机,它在hbase中填充大量数据(4个表中每个表大约有1百万行)。
现在我面临两个问题:
当java客户机运行以将虚拟数据移植到hbase时,regionserver在总共输入大约4,50000行数据后关闭。
使用hive,我无法访问在hbase中创建的表,或者最糟糕的是,甚至无法从hiveshell创建表。不过,hbase shell向我显示了数据/表结构(regionserver关闭之前生成的数据/表)
我也看过其他帖子。似乎第二个问题与my/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

配置单元站点.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个表了,我想在hiveshell中为它们创建外部表。但是在配置单元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'

请帮忙。谢谢!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题