我使用的是ubuntu下的pyspark和python 2. 7我安装它使用
pip install pyspark --user
尝试按照instruction设置Spark簇
我找不到脚本start-master.sh,我认为这与我安装的是pyspark而不是常规spark有关
我发现here可以通过pyspark将工作节点连接到主节点,但是如何用pyspark启动主节点呢?
我使用的是ubuntu下的pyspark和python 2. 7我安装它使用
pip install pyspark --user
尝试按照instruction设置Spark簇
我找不到脚本start-master.sh,我认为这与我安装的是pyspark而不是常规spark有关
我发现here可以通过pyspark将工作节点连接到主节点,但是如何用pyspark启动主节点呢?
4条答案
按热度按时间nhhxz33t1#
https://pypi.python.org/pypi/pyspark
Spark的Python打包并不打算取代所有的用例。Spark的Python打包版本适合与现有集群(Spark单机版、YARN或Mesos)交互--但是不包含安装自己的独立Spark集群所需的工具。您可以从Apache Spark下载页面下载Spark的完整版本。
yqhsw0fo2#
我在行动中出了点小差错。
你需要在主机上安装spark,你可以在here上下载
解压缩后,您有spark/sbin文件夹,在那里您有start-master.sh脚本。您需要用-h参数启动它。
请注意,您需要创建一个spark-env文件(如here所述),并定义spark本地变量和主变量,这在主机上非常重要。
然后,在工作节点上,使用start-slave.sh脚本启动工作节点。
而且你已经准备好了,你可以使用python内部的一个spark上下文来使用它!
dba5bblo3#
如果您已经通过conda / pip安装使用了pyspark,则无需为集群设置再次安装Spark和setup环境变量。
对于conda / pip pyspark安装只缺少
'conf'
,'sbin'
,'kubernetes'
,'yarn'
文件夹,您可以简单地下载Spark并将这些文件夹移动到pyspark所在的文件夹中(通常是python中的site-packages文件夹)。rnmwe5a24#
通过
pip install pyspark
安装pyspark后,可以使用以下命令启动Spark独立集群主进程:然后,您可以添加一些工作者(执行器),它们将处理作业:
标记
-c
和-m
指定工作线程提供的CPU内核数和内存量。出于安全原因,此处使用
127.0.0.1
本地地址(如果任何人只是复制/粘贴这几行代码就会在他们的网络中暴露“任意代码执行服务”,这是不好的),但是对于分布式独立Spark集群设置,应该使用不同的地址(例如,在隔离网络中仅可用于此群集节点及其目标用户的专用IP地址,以及应读取的正式Spark security guide)。spark-class
脚本包含在“pyspark”python包中,它是一个 Package 器,用于从spark-env.sh
加载环境变量,并将相应的spark jars位置添加到java
命令的-cp
标志中。如果您需要配置环境-请咨询official Spark docs,但它也可以正常工作,并且可能适合使用默认参数的常规使用。另外,请参阅使用
--help
的主/工作命令的标志。以下是如何使用
pyspark
脚本和ipython
shell连接到此独立群集的示例:手动示例化Spark会话的代码,例如在Jupyter中: