如何在主机服务器上将齐柏林飞船的图像与卡桑德拉连接



Docker对我来说是一个新东西,我甚至没有一般的技能,但我正在用一些安装的库创建特定的Zeppelin镜像。

这是我的Dockerfile:

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 notebook上的笔记本工作正常。

环境定义:

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' 

首先,Spark发行版应该已经包含在Zeppelin镜像中,所以您可能不需要安装pyspark(或者您需要使用单独的Spark镜像(。

要配置齐柏林飞船将Spark连接到Cassandra,您需要执行以下操作:

  • 在运行的齐柏林飞船上,转到解释器菜单,选择Spark解释器并按编辑
  • 将SCC的maven坐标添加到spark.jars.packages配置参数中(如果不在列表中,则添加该坐标。还将相同的坐标添加到"编辑"对话框末尾的依赖项列表中。对于Spark 3.0,您还需要使用SCC 3.0.0(当前为测试版(
  • 添加带有Cassandra实例地址的spark.cassandra.connection.host属性不要使用localhost,因为它会指向齐柏林飞船本身,而不是指向运行Cassandra的机器
  • 如果需要,添加其他SCC属性,例如用户名&密码等
  • 保存更改

这将生成包含所有配置的conf/interpreter.json文件,您可以将其放入Docker映像中。另一种选择是使用库存的Zeppelin Docker镜像,并通过Zeppelin REST API进行配置。

第页。你们可以在我的博客中找到很多关于齐柏林飞船的博客文章。

最新更新