是否可以在DSE 4.6中将Spark和相应的Spark Cassandra Connector从版本1.1.0升级到最新的1.2.0。
DSE目前仅附带Spark和Spark Cassandra Connector 1.1.0。
答案 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版本。这可能是改变罐子的问题,但我没有尝试过。如果你觉得黑客试一试,请告诉我们!