Err1 hive安装之后启动报错解决的方法
参考链接:https://blog.csdn.net/xies
5b4
ai588/article/details/51317478
以上链接主要解决ERR2给出的报错信息的解决方法
软件版本信息如下:
jdk-1.8.0_161
hadoop-2.6.5
hbase-1.4.2
zookeeper-3.4.10
apache-hive-1.2.2-bin
hadoop,hbase,zookeeper集群已安装好,并启动成功,在使用hive的时候发现了一下错误,
ERR1:
shell> hive Cannot find hadoop installation: $HADOOP_HOME or $HADOOP_PREFIX must be set or hadoop must be in the path
解决方法:
1.在修改/etc/profile文件,添加一下内容
shell>vim /etc/profile export HIVE_HOME=/home/hadoop/hive-1.2.2/ export PATH=${JAVA_HOME}/bin:$PATH:$HADOOP_HOME/bin:$ZOOKEEPER_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/conf:$HIVE_HOME/bin:$PATH 执行 shell>source /etc/profile
根据错误提示信息,应该能解决问题才对的,但是此时无效,于是使用了在hive配置文件(hive-env.sh)中进行设置
此时配置文件内容如下: shell>cat /home/hadoop/hive-1.2.2/conf/hive-env.sh | grep -E -v "^#|^$"
#指定hadoop的安装目录
HADOOP_HOME=/home/hadoop/hadoop-2.6.5/ export HIVE_CONF_DIR=/home/hadoop/hive-1.2.2/conf export HIVE_AUX_JARS_PATH=/home/hadoop/hive-1.2.2/lib
测试:
hive> show tables; OK Time taken: 0.175 seconds
说明hive安装成功: ERR2:执行hive报一下错误
shell>hive 18/04/04 10:59:39 WARN conf.Configuration: DEPRECATED: hadoop-site.xml found in the classpath. Usage of hadoop-site.xml is deprecated. Instead use core-site.xml, mapred-site.xml and hdfs-site.xml to override properties of core-default.xml, mapred-default.xml and hdfs-default.xml respectively Logging initialized using configuration in jar:file:/home/hadoop/hive-1.2.2/lib/hive-common-1.2.2.jar!/hive-log4j.properties [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.setupConsoleReader(CliDriver.java:787) at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:721) at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.Delegat 5b4 ingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.hadoop.util.RunJar.run(RunJar.java:221) at org.apache.hadoop.util.RunJar.main(RunJar.java:136) Exception in thread "main" java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected at jline.console.ConsoleReader.<init>(ConsoleReader.java:230) at jline.console.ConsoleReader.<init>(ConsoleReader.java:221) at jline.console.ConsoleReader.<init>(ConsoleReader.java:209) at org.apache.hadoop.hive.cli.CliDriver.setupConsoleReader(CliDriver.java:787) at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:721) at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.hadoop.util.RunJar.run(RunJar.java:221) at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
错误原因:
在/hive/conf/lib目录中存在jline-x-x.jar,而/hadoop-x-x/share/hadoop/yarn/lib目录中存在老版本的jline-x-x.jar 解决办法:
将hive中新版本的jar包复制到hadoop中即可,分别为hive安装路径和hadoop安装路径
执行命令:
cp /home/hive/conf/lib/jline-2-12.jar /home/hadoop-2.5.1/share/hadoop/yarn/lib/
然后重新启动hive即可
ERR3 hive命令出现问题失败
在使用show命令是总是会提示一下报错
hive> show tables;
OK
Failed with exception java.io.IOException:java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:user.name%7D
解决方法:
修改配置文件hive-site.xml
shell>vim /home/hadoop/hive-1.2.2/conf/hive-site.xml
原配置:
<property> <name>hive.exec.local.scratchdir</name> <value>/home/hadoop/hive-1.2.2/iotmp/${system.user.name}</value> <description>Local scratch space for Hive jobs</description> </property>
修改后配置:
<property> <name>hive.exec.local.scratchdir</name> <value>/home/hadoop/hive-1.2.2/iotmp/${user.name}</value> <description>Local scratch space for Hive jobs</description> </property>
保存并重启hive即可 验证:
问题解决
- 安装、配置好hive后,在启动过程中报的错及解决方法
- Mac安装Windows8之后,无法启动Boot Camp Control Panel的解决方法
- Windows 10+Ubuntu 16.04在MBR分区上安装双系统之后没有Windows 10的启动菜单解决方法
- 安装jboss-5.1.0.GA之后启动出现的错误信息及解决方法
- grub2正确配置――硬盘安装ubuntu 9.10之后不能启动xp解决方法
- 初次安装hive-2.1.0启动报错问题解决方法
- CM安装好集群之后在shell命令下执行hive 或者hbase操作遇到权限问题的解决方法
- msn8.0安装之后启动无响应的解决方法
- 无法启动MSMQ服务-安装WINCC终极解决方法
- 系统恢复后,通过sqlserver服务管理器启动出现“指定的服务未安装”的解决方法
- 安装Adobe Reader后无法启动的解决方法
- Adobe Acrobat的安装时出现:服务print spooler启动失败,请确认您有足够权限启动系统服务。解决方法
- 在win7安装完tomcat之后开机老是提示unable to open the service 'tomcat6'的解决方法
- 安装MySQL 5后无法启动(不能Start service)解决方法小结
- 已安装好的Ubuntu启动出现 busybox initramfs 问题可能的解决方法
- Fedora10安装vmware-tools后系统无法正常启动的解决方法
- RAC 安装patch 后启动实例 报错 ORA-00439 feature not enabled- Real Application Clusters 解决方法
- 关于安装IE8之后VS2008使用MFC出现问题的解决方法
- 每次启动Word,Excel2007 2010时都要进行安装配置的解决方法
- 安装xampp后apache不能启动解决方法