hadoop在运行mongodb的jar包时报错
检查我的环境变量感觉也没错,有引入对应的mongodb jdbc的jar包,网上众说纷纭,有jar包没引的,有jar包冲突的
vim /etc/profile
我的情况就是直接javac 再 java 就能运行,一用hadoop来运行对应jar包就报错,卡了好久
后来参考这篇文章总算好了:/article/8762196203/
因为使用hadoop jar执行程序时,系统加载的是hadoop classpath中的jar包,而mongodb并没有出现在hadoop classpath中。
# 查看hadoop环境变量hadoop classpath
修改hadoop配置文件,
vim hadoop-env.sh
在最后加入(你是其他数据库加入其他数据库j就把MONGODB_HOME改成其他数据库的HOME就行(如HBSE_HOME))
if [ -z $MONGODB_HOME ];thenexport HADOOP_CLASSPATH=${HADOOP_CLASSPATH}elseexport HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:${MONGODB_HOME}/lib/*fi
重新查看hadoop环境变量 对应jar包就有了
再hadoop 运行对应jar文件 就OK了