1,执行#hive命令进入Hive CLI时报如下错误:
Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:444)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:672)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:616)
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.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
原因:因为没有正常启动Hive 的 Metastore Server服务进程。
解决方法:启动Hive 的 Metastore Server服务进程,执行如下命令:
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataStoreException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1
at org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:451)
at org.datanucleus.api.jdo.JDOPersistenceManager.getDataStoreConnection(JDOPersistenceManager.java:2259)
at org.apache.hadoop.hive.metastore.MetaStoreDirectSql.trySetAnsiQuotesForMysql(MetaStoreDirectSql.java:166)
注:碰到上述问题执行:--service metastore后报版本不匹配问题
解决方式:
把mysql-connector-java-5.0.3-bin.jar换成mysql-connector-java-5.1.34-bin.jar,问题解决。
或者直接进入mysql直接修改VERSION表即可。
2,执行#hive命令进入Hive CLI时报如下错误:
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataStoreException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1
at org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:451)
at org.datanucleus.api.jdo.JDOPersistenceManager.getDataStoreConnection(JDOPersistenceManager.java:2259)
at org.apache.hadoop.hive.metastore.MetaStoreDirectSql.trySetAnsiQuotesForMysql(MetaStoreDirectSql.java:166)
原因:可能是因为Hive连接Mysql的JDBC驱动版本有问题。Mysql版本是5.6.23,用的JDBC驱动是mysql-connector-java-5.0.3-bin.jar。
解决方法:把mysql-connector-java-5.0.3-bin.jar换成mysql-connector-java-5.1.34-bin.jar,问题解决。
3,执行#hive命令进入Hive CLI时报如下错误:
在hive1.1版本会有如下错:
# hive
......
Exception in thread "main" java.lang.RuntimeException: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:472)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:671)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:615)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
at org.apache.hadoop.fs.Path.initialize(Path.java:206)
at org.apache.hadoop.fs.Path.<init>(Path.java:172)
at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs(SessionState.java:515)
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:458)
... 8 more
Caused by: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
at java.net.URI.checkPath(URI.java:1804)
at java.net.URI.<init>(URI.java:752)
at org.apache.hadoop.fs.Path.initialize(Path.java:203)
... 11 more
原因:system:java.io.tmpdir 和system:user.name提示需要使用绝对路径
Caused by: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
解决方法:
将conf/hive-site.xml中所有的system:java.io.tmpdir 和system:user.name都换成绝对路径。
Hive-1.1.0版本中有以下四处:
<property>
<name>hive.exec.local.scratchdir</name>
<value>${system:java.io.tmpdir}/${system:user.name}</value>
<description>Local scratch space for Hive jobs</description>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>${system:java.io.tmpdir}/${hive.session.id}_resources</value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property>
<property>
<name>hive.querylog.location</name>
<value>${system:java.io.tmpdir}/${system:user.name}</value>
<description>Location of Hive run time structured log file</description>
</property>
<property>
<name>hive.server2.logging.operation.log.location</name>
<value>${system:java.io.tmpdir}/${system:user.name}/operation_logs</value>
<description>Top level directory where operation logs are stored if logging functionality is enabled</description>
</property>
配置之后如下:
<property>
<name>hive.exec.local.scratchdir</name>
<value>/root/hadoop/apache-hive-1.1.0-bin/iotmp/hive</value>
<description>Local scratch space for Hive jobs</description>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/root/hadoop/apache-hive-1.1.0-bin/iotmp/${hive.session.id}_resources</value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property>
<property>
<name>hive.querylog.location</name>
<value>/root/hadoop/apache-hive-1.1.0-bin/iotmp/hive</value>
<description>Location of Hive run time structured log file</description>
</property>
<property>
<name>hive.server2.logging.operation.log.location</name>
<value>/root/hadoop/apache-hive-1.1.0-bin/iotmp/hive/operation_logs</value>
<description>Top level directory where operation logs are stored if logging functionality is enabled</description>
</property>
4,执行#hive命令进入Hive CLI时报如下错误:
在hive1.1版本,对应的Hadoop版本是2.6。启动Hive时有如下错:
# hive
......
[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
at jline.TerminalFactory.create(TerminalFactory.java:101)
at jline.TerminalFactory.get(TerminalFactory.java:158)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:229)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
at org.apache.hadoop.hive.cli.CliDriver.getConsoleReader(CliDriver.java:773)
at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:715)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:615)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
原因:因为在hadoop目录下存在老版本jline:
/root/hadoop/hadoop-2.6.0/share/hadoop/yarn/lib/jline-0.9.94.jar
解决方法:将hive下的新版本jline的JAR包拷贝到hadoop下:
#cp /hive/apache-hive-1.1.0-bin/lib/jline-2.12.jar /root/hadoop/hadoop-2.6.0/share/hadoop/yarn/lib/
/root/hadoop/hadoop-2.6.0/share/hadoop/yarn/lib
-rw-r--r--. 1 20000 20000 87325 Nov 14 05:20 jline-0.9.94.jar.bak
-rw-r--r--. 1 root root 213854 Apr 2 08:55 jline-2.12.jar
Hive CLI可以成功启动。
5,在Hive中执行SQL时,报如下错:
Diagnostic Messages for this Task:
Container launch failed for container_1431310046688_0001_02_000013 : org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container.
This token is expired. current time is 1431311178863 found 1431311136701
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
原因:namenode和datanode的时间不一致,需要保证namenode和datanode的时间一致。
文章浏览阅读391次。步骤1:在jenkins服务器中,下载git和部署,并在jenkins中安装git插件,并在系统管理--全局工具配置中配置git路径(如下图)步骤2:jenkins服务器中,安装和部署mysql(自行百度,也可以采用docker 容器部署),并启动参考资料:https://www.cnblogs.com/yoyotl/p/5752437.html步骤3:docker 安..._jenkis 做testops
文章浏览阅读3.4w次,点赞4次,收藏24次。最近在使用tensorflow完成句子相似度建模等任务时常常会用到各种距离的计算,而且有很多论文提出了Attention机制,所以这里就介绍一下如何使用tensorflow实现上述各种功能。 这里首先假定我们的输入是两个四维的Tensor,然后我们需要计算的是其中某个维度的距离。比如说我们的输入是batch个句子,句长是sent_len, 每个词被表示成embed_size的词向量。所以我们的输入_tensorflow.keras里计算欧式距离的函数
文章浏览阅读273次。点阵汉字的字模读取与显示嵌入式第8周作业2_点,则其显示字模是______。a
文章浏览阅读4.1k次,点赞4次,收藏31次。前面已经完成了ESP32S3+LVGL+OV2640的工作,下一步就可以在这个基础上去增加OPENCV的模块了。提示:以下是本篇文章正文内容,下面案例可供参考。_esp32 opencv
文章浏览阅读1.6w次。随着技术的进步,现在办公大多都是通过电脑完成的,在使用电脑的过程中,键盘和鼠标是最容易出现故障的外接设备。今天我们就来给大家分析最常见的键盘失灵后该怎么办。下面我们就先来看看为什么键盘不能用,该怎么维修吧,希望我们提供的维修检查方法能够帮助您尽快解决问题。【为什么键盘不能用】一、键盘连接线键盘不能用很多用户日常使用中,会发现突然之间键盘按键全部无效,键盘状态指示灯伴随按键失灵同时熄灭。用户在移动键..._键盘无法使用
文章浏览阅读858次。自定义 Python 折线图颜色折线图是一种常见的数据可视化方式,用于展示数据随时间或其他变量的变化趋势。在 Python 中,可以使用 Plotly 库来绘制折线图,并自定义颜色以增加图表的可读性和美观度。Plotly 支持两种类型的颜色:离散颜色和连续颜色。离散颜色用于分类数据,而连续颜色用于数值数据。接下来,我们将演示如何使用两种类型的颜色来自定义折线图。_python折线图分段改变颜色
文章浏览阅读60次。1、前端如何选择图片的格式?2、解释一下 浏览器的标准模式和怪异模式 (混杂模式)3、简述从输入网址到页面显示的整个过程
文章浏览阅读1.4k次。// EC_Class.h: interface for the EC_Class class.////////////////////////////////////////////////////////////////////////#if !defined(AFX_EC_CLASS_H__360A35F7_DB6B_4390_810E_FFEF59954245__INC_ec class
寄存器r0 - r12是ARM处理器中用于存储临时数据、函数参数和返回值的通用寄存器,都是32位的。r13-r15则分别用于存储栈指针(SP)、链接寄存器(LR)和程序计数器(PC)。
文章浏览阅读2.9k次。首先第一步我们需要解锁小米6的BL锁权限。解锁完以后,先刷入官网包。如图:这里一定要注意。选择第一个全部删除!选择第一个全部删除!第一个全部删除!刷好官方底层包以后进入系统,直接关机,进入FASTBOOT模式。这时候我们打开刷入Rec。刷入完以后他会自动跳转 这时候我们数据线链接上电脑,导入虚拟包。双清-刷入。刷完虚拟包以后,一定要开机,开机能正常的进入Lineage OS 原生系统后,界面跟小米系统是很有区别的,一眼即可辨之!能开机后,我们关机,关机按住音量上加开机键,进入recove_小米6直播刷机包
文章浏览阅读3.3k次。有可能是客户端启动类上使用的是 @EnableEurekaClient注解,可以尝试改成@EnableDiscoveryClient/** * 开启eureka客户端功能 *///@EnableEurekaClient/** * @EnableEurekaClient和@EnableDiscoveryClient都让注册中心能够发现,扫描到该服务。 * 不同点:@EnableEurekaClient只适用于Eureka作为注册中心,@EnableDiscoveryClient 可以是其_配置中心读取不到文件
文章浏览阅读1.1k次。两个机器的系统初始化(略)参考https://blog.csdn.net/sudahai102448567/article/details/119611507一、安装Grid1.安装软件包yum install -y binutils* compat-libcap1 compat-libstdc* gcc* gcc-c++* glibc* ksh* libgcc* libstdc++* libaio* make* sysstat* elfutils-libelf-devel* xterm s._redhat 7.6 rac