我试图在本地机器上以伪分布式模式运行hadoop和hive。我已经运行了hadoop,但是当我尝试运行hive时,它会给我以下错误
`Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/thrift/TException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:266)
at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
Caused by: java.lang.ClassNotFoundException: org.apache.thrift.TException
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
... 3 more `
我试过调试这个问题,但找不到缺少的东西。我的hadoop\u主页,hadoop\u类路径正在正确设置。另外,hadoop\u classpath包含libthrift-0.9.0.jar,其中包含上面错误中显示的类。
有什么建议吗?我还缺什么?
2条答案
按热度按时间35g0bw711#
你把这些放好了吗?并确保您也设置了这些变量:
为了避免这些问题,使用hadoop和hive的最新稳定版本。
hc2pp10m2#
您应该输入$hadoop\u home/conf,修改“hadoop env.sh”文件。