docker对我来说是个新东西,我甚至没有一般的技能,但我正在尝试用一些安装的库创建特定的齐柏林飞艇图像。
这是我的文件:
FROM apache/zeppelin:0.9.0
ENV SPARK_VERSION=2.4.6
USER root
RUN apt-get -y update && \
apt-get install sudo
ENV SPARK_HOME=/opt/conda/lib/python3.7/site-packages/pyspark
RUN installing some libraries...
我的问题是如何将我的图像与本地主机上的cassandra连接起来,因为现在它不起作用了。我在jupyter笔记本上的笔记本工作正常。
环境定义:
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages com.datastax.spark:spark-cassandra-connector_2.11:2.4.3,commons-configuration:commons-configuration:1.10,com.codahale.metrics:metrics-core:3.0.2 --conf spark.cassandra.connection.host=localhost pyspark-shell'
1条答案
按热度按时间vzgqcmou1#
首先,spark分布应该已经包含在zeppelin映像中,因此您可能不需要安装pyspark(或者您需要使用spark的单独映像)。
要配置齐柏林飞艇将spark连接到cassandra,您需要执行以下操作:
在正在运行的齐柏林飞艇上,进入“解释器”菜单,选择“spark解释器”,然后按“编辑”
将scc的maven坐标添加到
spark.jars.packages
配置参数(如果不在列表中,则添加它)。还可以将相同的坐标添加到“编辑”对话框末尾的“依赖项”列表中。对于spark 3.0,您还需要使用scc 3.0.0(目前是测试版)添加
spark.cassandra.connection.host
属性和您的cassandra示例的地址。不要使用localhost,因为它会指向齐柏林飞艇本身,而不是Cassandra运行的机器!必要时添加其他scc属性,如用户名和密码等。
保存更改
这将生成
conf/interpreter.json
文件与您的所有配置,你可以把它放到码头形象。另一种选择是使用库存的zeppelindocker映像,并通过zeppelinrestapi进行配置。p、 你们可以在我的博客里找到许多关于齐柏林飞艇的博文。