【发布时间】:2015-01-30 02:00:00
【问题描述】:
DSE 4.6 中是否可以将Spark 和对应的Spark Cassandra Connector 从版本 1.1.0 升级到最新的 1.2.0。
DSE 目前仅附带 Spark 和 Spark Cassandra 连接器 1.1.0。
【问题讨论】:
标签: apache-spark datastax-enterprise
DSE 4.6 中是否可以将Spark 和对应的Spark Cassandra Connector 从版本 1.1.0 升级到最新的 1.2.0。
DSE 目前仅附带 Spark 和 Spark Cassandra 连接器 1.1.0。
【问题讨论】:
标签: apache-spark datastax-enterprise
您将不得不等待 Spark 1.2 的未来版本包含在 DSE 中并得到其支持。
您可以将 DSE 的 Cassandra 与您自己的 Spark 1.2 设置一起使用 Al Tobey
我确实成功地将连接器升级到了以前版本的 DSE 中的更新版本(我认为它是 .9 到 1.0——您必须编辑 1.2 的版本和依赖项)。这些是我遵循的步骤(风险自负,请勿在生产环境中尝试):
使用以下 bash 脚本,创建您的连接器 jars(以 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 版本。这可能是更换罐子的问题,但我没有尝试过。如果您想进行黑客攻击,请尝试一下并告诉我们!
【讨论】:
stress.jar 文件位于/usr/share/dse/cassandra/tools/lib/ 中,尽管简单地用最新的 JAR 替换是行不通的(无论给出什么参数,命令都会失败并显示消息“未指定参数”)。