moonbox使用CDH6.0.0部署记录

本文详细记录了MoonBox在Apache Spark 2.2.0环境下部署过程中遇到的问题及解决方案,包括jar包替换、依赖冲突处理等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

前言

1.moonbox启动后,spark on yarn 任务运行失败

2.netty包冲突

3.spark相关包

4.关于rest方式提交时候影响的jar

5.其他


前言

      moonbox目前最新版本是0.3.0,官方的文档上在环境准备这一块明确指出仅支持Apache Spark2.2.0

  • 已安装Apache Spark 2.2.0

    (此版本仅支持Apache Spark 2.2.0, 其他Spark 版本后续会兼容)

  • 已安装MySQL并启动,且开启远程访问
  • 各安装节点已经配置ssh免密登录

        首先是版本要求必须是2.2.0,其次要求是Apache的。我们最初在搭建大数据平台的时候,使用的cloudera公司CM安装的CDH6.0.0配套的Spark是2.2.0。想着版本都一样,想必不会有什么问题,就按照官方的步骤一步一步安装。但是,还是遇到了不少问题。这些问题大多数都是jar包缺失或者冲突,说到底主要是CDH6.0.0配套的Spark2.2.0和Apache的Spark2.2.0还有区别。下面一一记录和说明。

说明:

        moonbox官方的百度网盘链接上有spark2.2.0的压缩包,down下来,主要用到jars文件夹中的jar。我把相关需要替换的jar放到集群中每台主机的/opt/ojars目录,如下:

1.moonbox启动后,spark on yarn 任务运行失败

主要是jackson相关包的版本不同造成,切到spark安装目录下的jars目录下

cd /opt/cloudera/parcels/CDH-6.0.0-1.cdh6.0.0.p0.537114/lib/spark/jars

修改对应软链接:

ln -snf /opt/ojars/jackson-annotations-2.6.5.jar jackson-annotations-2.9.5.jar
ln -snf /opt/ojars/jackson-core-2.6.5.jar jackson-core-2.9.5.jar
ln -snf /opt/ojars/jackson-databind-2.6.5.jar jackson-databind-2.9.5.jar
ln -snf /opt/ojars/spark-network-common_2.11-2.2.0.jar spark-network-common_2.11-2.2.0-cdh6.0.0.jar
ln -snf /opt/ojars/jackson-module-scala_2.11-2.6.5.jar jackson-module-scala_2.11-2.9.5.jar

2.netty包冲突

ln -snf /opt/ojars/netty-all-4.0.43.Final.jar netty-all-4.1.17.Final.jar

同时删除掉目录下所有的netty相关的软连接

3.spark相关包

主要影响moonbox-shell方式挂在数据库后的操作,如果不调整,在mount数据源之后,使用use database时候会shell会卡住不动,任务日志有报错。

ln -snf /opt/ojars/spark-sql_2.11-2.2.0.jar spark-sql_2.11-2.2.0-cdh6.0.0.jar
ln -snf /opt/ojars/spark-streaming_2.11-2.2.0.jar spark-streaming_2.11-2.2.0-cdh6.0.0.jar
ln -snf /opt/ojars/spark-catalyst_2.11-2.2.0.jar spark-catalyst_2.11-2.2.0-cdh6.0.0.jar
ln -snf /opt/ojars/spark-core_2.11-2.2.0.jar spark-core_2.11-2.2.0-cdh6.0.0.jar  
ln -snf /opt/ojars/spark-hive_2.11-2.2.0.jar spark-hive_2.11-2.2.0-cdh6.0.0.jar
ln -snf /opt/ojars/spark-yarn_2.11-2.2.0.jar spark-yarn_2.11-2.2.0-cdh6.0.0.jar

4.关于rest方式提交时候影响的jar

ln -snf /opt/ojars/spark-network-shuffle_2.11-2.2.0.jar spark-network-shuffle_2.11-2.2.0-cdh6.0.0.jar

不调整的话,rest方式提交任务会失败。

按照如上调整,目前可以正常使用moonbox,例如moonbox-shell的操作、rest提交、jdbc连接访问等等。

5.其他

          moonbox的rest方式不支持dll操作,即不支持通过rest方式创建组织、创建sa用户等操作,仅仅支持insert的批量操作,但是即便是insert操作也有局限性,只能使用insert into table select xx from table2 这样的语句,且table表后不能给字段名。

          但是jdbc方式支持dll操作,对于想封装自己的可视化操作界面的同学,这无疑是好消息。

          经过测试和调研,目前诸如mybatis/hb/DbRecord/JPA这一类的持久层框架不支持连接moonbox,而且注入druid/c3p0这些连接池工具也不支持moonbox。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值