千家信息网

修改hadoop脚本改变CLASSPATH中jar加载顺序

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,先说一下环境,有两个集群,一个新的一个旧的,打算把新的调试好然后把旧的关掉。新:Cloudera Express 5.6.0,CDH-5.6.0旧: Cloudera Express 5.0.5,CD
千家信息网最后更新 2025年12月03日修改hadoop脚本改变CLASSPATH中jar加载顺序

先说一下环境,有两个集群,一个新的一个旧的,打算把新的调试好然后把旧的关掉。

新:Cloudera Express 5.6.0,CDH-5.6.0

旧: Cloudera Express 5.0.5,CDH-5.0.5

新集群搭建过程中发现一个问题,执行以下命令对lzo文件创建索引,在新集群中job无法提交到指定队列,同样的命令在旧集群中正常:

hadoop jar hadoop-lzo.jar com.hadoop.compression.lzo.DistributedLzoIndexer -D mapreduce.job.queuename=copy /data/lzodata/


两个集群的配置区别在于,旧集群lzo的配置一个是手动的,新集群是用GPLEXTRAS的parcel包配置的。

用GPLEXTRAS配置的新集群默认吧lzo的jar包加载到hadoop classpath路径中了,导致的结果是DistributedLzoIndexer 提交不到正确的队列。

因为新版版的hadoop-lzo.jar中

com.hadoop.compression.lzo.DistributedLzoIndexer 修改了获取Configuration的方式

Configuration conf = new Configuration(); Job job = new Job(conf );

旧版本中为

Job job = new Job(getConf());

修改了源码,然后重新上传到提交job的服务器,只在提交job的时候起作用。

修改脚本的位置,修改前请做好备份:

/opt/cloudera/parcels/CDH-5.6.0-1.cdh6.6.0.p0.45/lib/hadoop/bin

修改脚本中 export CLASSPATH=/opt/cloudera/userlib/hadoop-lzo.jar:$CLASSPATH


上面的/opt/cloudera/userlib/hadoop-lzo.jar为想要加载的路径



集群 配置 脚本 两个 命令 路径 队列 位置 作用 备份 手动 文件 方式 时候 服务器 源码 版本 环境 索引 结果 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东网络软件开发计划 澳大利亚网络安全专业好就业吗 袁嘉骏四川大学网络安全学院 坦克如何切换服务器 微信小程序向服务器传图片 郑州海西网络技术有限公司 成都软件开发项目经理面试题 网络安全工作贵阳 网络安全态势感知系统程序 vb与db数据库 杭州快柜网络技术有限公司 软件开发要英语吗 软件开发企业 研发薪酬 pdd服务器抽奖视频 农安网络技术咨询参考价格 dell服务器机箱 可以直接打印封面的数据库 连接服务器打不开网页 校园贷网络安全策划书 数据库自定义函数查询东西 无线网络安全技术的必要性 数据库系统由数据库及他的 乡镇网络安全工作会议讲话 珠海手机软件开发招聘信息 中国中国软件开发投资 网络安全讲座的 新闻稿 网络安全和信息化建设的意义 高科技互联网公司卖菜 我的世界星世界斗罗服务器 打开数据库连接字符串
0