在DSE(DataStax Enterprise)4.6中升级Spark

时间:2015-01-29 14:00:30

标签: apache-spark datastax-enterprise

是否可以在DSE 4.6中将Spark和相应的Spark Cassandra Connector从版本1.1.0升级到最新的1.2.0。

DSE目前仅附带Spark和Spark Cassandra Connector 1.1.0。

1 个答案:

答案 0 :(得分:2)

简答:

您必须等待DSE包含并支持Spark 1.2的未来版本。

可替换地:

你可以使用DSE的Cassandra和你自己的Spark 1.2设置la Al Tobey

风险自负:

我成功地将连接器升级到以前版本的DSE中的较新版本(我认为它是.9到1.0 - 您必须编辑1.2的版本和依赖关系)。这些是我遵循的步骤(这样做需要您自担风险,不要尝试生产设置):

使用以下bash脚本,创建连接器jar(将其作为sudo运行,以便mkdir工作):

mkdir /opt/connector
cd /opt/connector

rm *.jar

curl -o ivy-2.3.0.jar   'https://repo1.maven.org/maven2/org/apache/ivy/ivy/2.3.0/ivy-2.3.0.jar'
curl -o spark-cassandra-connector_2.10-1.1.0-beta2.jar 'https://repo1.maven.org/maven2/com/datastax/spark/spark-cassandra-connector_2.10/1.1.0-beta2/spark-cassandra-connector_2.10-1.1.0-beta2.jar'

ivy () { java -jar ivy-2.3.0.jar -dependency $* -retrieve "[artifact]-[revision](-[classifier]).[ext]"; }

ivy org.apache.cassandra cassandra-thrift 2.0.11
ivy com.datastax.cassandra cassandra-driver-core 2.0.6
ivy joda-time joda-time 2.3
ivy org.joda joda-convert 1.6

rm -f *-{sources,javadoc}.jar

接下来找到你的spark lib目录,就我而言/usr/local/lib/dse/resources/spark/lib/

将您刚刚生成的所有jar复制到该目录中。然后重命名或删除旧连接器(将其作为备份保留)。

重启DSE并启动spark-shell:

dse spark

要验证加载了哪个连接器,请使用:

dse spark -verbose

当然,您必须为每个节点执行此操作。

注意:我实际上没有尝试升级Spark版本。这可能是改变罐子的问题,但我没有尝试过。如果你觉得黑客试一试,请告诉我们!