【问题标题】:FAILED: Error in metadata: MetaException(message:org.apache.hadoop.hbase.MasterNotRunningException: in HBase+Hive intergration失败:元数据错误:MetaException(消息:org.apache.hadoop.hbase.MasterNotRunningException:在 HBase+Hive 集成中
【发布时间】:2013-01-08 16:31:02
【问题描述】:

使用的组件:- -Ubuntu 12.04、hive(0.9.0)、hbase(0.94.3)、hadoop(0.20.2)-单节点、zookeeper-3.4.3、guava-11.0.2、hive-hbase-handler-0.9.0

教程:-https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration

步骤 1)启动hadoop, 2) 启动 hbase-master 3)启动蜂巢服务器 4) 使用 --auxpath 参数启动 hive shell,如教程中所示 (所有工作都没有错误 - JobTracker、HRegionServer、HMaster、DataNode、NameNode、SecondaryNameNode、TaskTracker、HQuorumPeer、Jps)

hbase(main):001:0> status
1 servers, 0 dead, 2.0000 average load

在我创建的 hive shell 上可以创建表

CREATE TABLE IF NOT EXISTS familia (id_familia INT,fk_veiculo INT,fk_cliente INT,nome STRING) ROW FORMAT delimited fields terminated by ',' STORED AS TEXTFILE;
load data local inpath '/home/trendwise/hive_data/tables_csv/familia.csv' overwrite into table familia;

但是当我做下面的查询时,什么都没有显示,只是光标闪烁。我等了很长时间,然后显示错误

CREATE TABLE hbase_familia_1 (key int, id_familia int, fk_veiculo INT,fk_cliente INT,nome STRING)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES("hbase.columns.mapping" = ":key, cf1:id_familia, cf2:fk_veiculo,cf3:fk_cliente, cf4:nome")
TBLPROPERTIES ("hbase.table.name" = "hbase_familia");

我在 hbase shell 上做了list,但没有显示我尝试过的任何表格?

错误:-

FAILED: Error in metadata: MetaException(message:org.apache.hadoop.hbase.MasterNotRunningException: Retried 10 times
at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:127)
at org.apache.hadoop.hive.hbase.HBaseStorageHandler.getHBaseAdmin(HBaseStorageHandler.java:73)
at org.apache.hadoop.hive.hbase.HBaseStorageHandler.preCreateTable(HBaseStorageHandler.java:147)
at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:398)
at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:538)
at org.apache.hadoop.hive.ql.exec.DDLTask.createTable(DDLTask.java:3305)
at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:242)
at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:134)
at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57)
at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1326)
at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1118)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:951)
at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:258)
at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:215)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:406)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:689)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:557)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
) FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

hbase-site.xml

<property>
 <name>hbase.rootdir</name>
 <value>hdfs://localhost:54310/hbase</value>
</property>
<property>
 <name>dfs.replication</name>
 <value>1</value>
</property>
<property>
 <name>hbase.zookeeper.property.dataDir</name>
 <value>/home/trendwise/hadoop/hbase-0.94.3/hbase_dataDir</value>
</property>
<property>
 <name>hbase.zookeeper.property.clientPort</name>
 <value>2222</value>
 <description>Property from ZooKeeper's config zoo.cfg.
 </description>
</property>
<property>
 <name>hbase.zookeeper.quorum</name>
 <value>localhost</value>
 <description></description>
</property>
<property>
 <name>hbase.cluster.distributed</name>
 <value>true</value>
 <description></description>
</property>

【问题讨论】:

  • 您是否确认您的 HMaster 正在使用 jps 运行?您是否管理自己的 ZooKeeper 实例?如果没有,你不应该设置所有这些 ZooKeeper 属性,你可以在$HBASE_HOME/conf/hbase-env.sh 中设置HBASE_MANAGES_ZK
  • @Pieterjan,HMaster 在jps 之后运行,但没有 HRegionServer 和 HQuorumPeer,这些都这么重要吗?我没有管理自己的 ZooKeeper,所以我在 hbase-env 中取消注释 export HBASE_MANAGES_ZK=true .sh & 撤销 hbase.cluster.distributedhbase.zookeeper.property.clientPort,hbase.z ookeeper.quorum 属性
  • 没错。据我所知,只要 HBase 管理 ZooKeeper,就不需要运行 HRegionServer 和 HQuorumPeer。至少在伪分布式模式下是这样。进行这些更改后,您仍然会遇到相同的错误吗?你的日志文件说什么?

标签: hbase hive


【解决方案1】:

将 /etc/hosts 文件中包含“127.0.1.1”的行更改为“127.0.0.1”并重新启动所有内容。另外,将 hbase-site.xml 复制到 HIVE_HOME/conf 目录中。

【讨论】:

  • 我在 /etc/hosts 中做了更改 127.0.0.1 localhost 127.0.0.1 TrendwiseAnalytics 127.0.0.1 trendwise #127.0.1.1 TrendwiseAnalytics & 复制了 hbase-site.xml,重启机器,但仍然是同样的问题 &在 hive.log 文件中 ERROR DataNucleus.Plugin (Log4JLogger.java:error(115)) - 捆绑“org.eclipse.jdt.core”需要“org.eclipse.core.resources”,但无法解决。 WARN client.ZooKeeperSaslClient (ZooKeeperSaslClient.java:(123)) - SecurityException: java.lang.SecurityException: Unable to locate a login configuration 在尝试查找 JAAS 配置时发生。
  • 当我使用 stop-hbase.sh 关闭 HBase master 时,停止和不关闭需要更多时间。所以关闭终端并终止该进程
  • 这些事情表明您的 HBase 运行不正常。确保您在 hbase-site.xml 文件中至少指定了下面显示的所有属性:hbase.rootdir、custer.distributed、hbase .zookeeper.quorum, hbase.zookeeper.property.clientPort hbase.zookeeper.property.dataDir
  • 所有 hadoop 的组件都在运行 & 对于 HBase-HMaster,HRegionServer,HQuorumPeer,running.but,它再次给出错误--> FAILED: Error in metadata: MetaException(message:org.apache.hadoop. hbase.client.NoServerForRegionException: Unable to find region for after 10 try. 我检查了 HRegionServer 正在运行 我在上面的 hbase-site.xml 中的设置是否正确?主要是(hbase.rootdir=hdfs://localhost:54310/hbase,应该我把 54310 改成 90000)
【解决方案2】:

Hbase 无法启动它的所有守护进程...所以您可能会在 hbase 日志中找到线索...看看您是否可以在 hbase 日志中找到任何内容并报告该错误...希望这可行.. .

【讨论】:

    【解决方案3】:

    Hive 似乎无法找到所需的 jar 文件

    尝试使用所有的命令执行

    hive –auxpath /path-to-/hive-examples.jar;其他jar文件也用分号隔开

    然后尝试将 hbase conf 文件放在 hive conf 目录中。

    并在 hive-site.xml 或 hive-env.sh 中定义辅助路径并尝试

    这些错误主要是由于 hive 无法连接到 hadoop 或 hbase。

    同时检查所有的守护进程都在运行hbase,你可以在hbase shell上执行所有的操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 2015-04-01
      • 1970-01-01
      相关资源
      最近更新 更多