问题标签 [cluster-mode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 我可以在提交 spark 作业时向 python 代码添加参数吗?
我正在尝试使用spark-submit
在 spark 集群中执行我的 python 代码。
通常我们spark-submit
使用下面的 python 代码运行。
但我想my_python_code.py
通过传递几个参数来运行有没有聪明的方法来传递参数?
node.js - 在 Pm2 集群模式下,全局变量对于每个线程具有不同的值
我有一个 NodeJs 应用程序,它以 4 个实例在集群模式下运行。地图在文件“pipeline.js”中定义,如下所示:
我在地图中输入了如下值:
在代码中,我必须从 map 中删除该值,但它给出了错误消息:
但是,当朗姆酒只有 1 个实例时,不会出现此错误。
提前致谢 !
apache-spark - 在 Kerberized 环境中读取 Hive-Hbase 表的 Spark 集群模式问题
错误描述
我们无法在 yarn-cluster 或 yarn-client 模式下执行 Spark 作业,尽管它在本地模式下运行良好。
当我们尝试读取 Kerberized 集群中的 Hive-HBase 表时,会出现此问题。
到目前为止我们所做的尝试
- 在 spark submi 中传递 –jar 参数中的所有 HBASE jar
--jars /usr/hdp/current/hive-client/lib/hive-hbase-handler-1.2.1000.2.5.3.16-1.jar,/usr/hdp/current/spark-client/lib/datanucleus-api-jdo-3.2.6.jar,/usr/hdp/current/spark-client/lib/datanucleus-rdbms-3.2.9.jar,/usr/hdp/current/spark-client/lib/datanucleus-core-3.2.10.jar,/usr/hdp/current/hbase-client/lib/hbase-client.jar,/usr/hdp/current/hbase-client/lib/hbase-common.jar,/usr/hdp/current/hbase-client/lib/hbase-protocol.jar,/usr/hdp/current/hbase-client/lib/htrace-core-3.1.0-incubating.jar,/usr/hdp/current/hbase-client/lib/protobuf-java-2.5.0.jar,/usr/hdp/current/hbase-client/lib/guava-12.0.1.jar,/usr/hdp/current/hbase-client/lib/hbase-server.jar
- 在 Spark 提交中的文件参数中传递 Hbase 站点和 hive 站点
--files /usr/hdp/2.5.3.16-1/hbase/conf/hbase-site.xml,/usr/hdp/current/spark-client/conf/hive-site.xml,/home/pasusr/pasusr.keytab
在应用程序内部进行 Kerberos 身份验证。在代码中,我们显式传递了键选项卡
UserGroupInformation.setConfiguration(configuration) val ugi: UserGroupInformation = UserGroupInformation.loginUserFromKeytabAndReturnUGI(principle, keyTab) UserGroupInformation.setLoginUser(ugi) ConnectionFactory.createConnection(configuration) return ugi.doAs(new PrivilegedExceptionActionConnection { @throws[IOException] def run: Connection = { ConnectionFactory.createConnection(配置) } })
在 Spark 提交中传递关键选项卡信息
- 在 spark.driver.extraClassPath 和 spark.executor.extraClassPath 中传递 HBASE jar
错误日志
node.js - 使用 pm2 集群模式表达服务器端口配置问题
问题:我们以集群模式启动 pm2,pm2 启动的进程与 cpu 核心一样多,pm2 也尝试启动与 cpu 核心一样多的节点服务器,但这里的问题是它无法启动尽可能多的服务器,因为它们所有人都尝试在同一个端口 3000 上启动,该端口已被第一个节点服务器占用
我们使用 nginx 并将其代理到 3000 端口。
我们在集群模式下使用 pm2,配置如下:
run start:server:prod 是我们启动服务器的脚本
我们的快递服务器:
请帮忙,这是关键任务!
pyspark - 在集群模式下通过 spark-submit 的 pyarrow 失败
我有一个简单的 Pyspark 代码
导入 pyarrow fs = pyarrow.hdfs.connect()
如果我在“客户端”模式下使用 spark-submit 运行它,它工作正常,但在“集群”模式下,会引发错误
所有必要的 python 库都安装在我的 Hadoop 集群中的每个节点上。我已经通过在 pyspark 每个节点下单独测试此代码来验证。
但不能通过集群模式下的 spark-submit 使其工作?
有任何想法吗?
尚卡尔
apache-spark - 工作节点的控制台输出到 Spark 集群模式下的文件
我正在pyspark
使用spark-submit
. 作业成功运行。
现在我正在尝试将此作业的控制台输出收集到如下文件中。
spark-submit in yarn-client mode
我能够重定向写入文件的所有控制台输出,/home/$USER/logs/customer_2018_10_26
包括所有loglevels and any stacktrace errors
spark-submit in yarn-cluster mode
使用yarn-cluster
模式我无法重定向写入文件的控制台输出/home/$USER/logs/customer_2018_10_26
。
问题是如果我的工作在yarn-client
模式下失败,我可以去归档/home/$USER/logs/customer_2018_10_26
并轻松查找错误。
但是,如果我的工作在yarn-cluster
模式下失败,那么我不会将堆栈跟踪复制到文件/home/$USER/logs/customer_2018_10_26
中。我可以调试错误的唯一方法是使用yarn logs
.
我想避免使用yarn logs
选项相反,我想在使用模式时error stack trace
在文件/home/$USER/logs/customer_2018_10_26
本身中查看。yarn-cluster
我怎样才能做到这一点?
python - Confluent-kafka (with kerberos) 在集群模式下 spark-submit python 作业时出错
在集群模式下提交 python 作业时遇到以下错误:
appcache/application_1548793257188_803870/container_e80_1548793257188_803870_01_000001/environment/lib/python2.7/site-packages/confluent_kafka/ init .py”,第 2 行,从 .cimpl 导入(消费者,# noqa ImportError: librdkafka.so.1:文件:没有这样的文件或目录
librdkafka 和其他 python 依赖项仅安装在边缘节点上。在提交之前,我创建了一个虚拟环境并通过以下方式 pip install confluent-kafka :
之后,我创建 environment.tar.gz 并使用 --archives 将其传递给 spark-submit
我试图设置这样的火花属性:
但不幸的是它没有工作!
有人遇到同样的问题吗?
apache-spark - 可以在运行时提交火花后向主/工作节点添加额外的 jar 吗?
我正在编写一个服务,该服务在来自 spark 提交的长时间运行的 Spark 应用程序上运行。到初始 spark 提交时,该服务不知道要在类路径上放置哪些 jar,因此我无法使用--jars
. 然后,此服务将侦听可能包含额外 jar 的请求,然后我想将其加载到我的 spark 节点上,以便可以使用这些 jar 完成工作。
我的目标是只调用一次 spark 提交,一开始就启动我的服务。然后我试图通过创建一个新的SparkConf
并从中构建一个新SparkSession
的来将请求中的 jar 添加到 spark 会话中,例如
我尝试了这种方法,但看起来罐子没有被加载到执行程序类路径中,因为我的工作无法识别罐子中的 UDF。我现在正在尝试在 Spark 客户端模式下运行它。
- 有没有办法在调用 spark-submit 之后添加这些 jars 并仅更新现有的 Spark 应用程序,或者是否只能使用包含这些 jars 的另一个 spark-submit
--jars
? - 在这种情况下使用集群模式与客户端模式是否重要?
babeljs - 如何在 pm2 集群模式下使用 babel 解释器
我的 ES 代码出现错误,因为当我在 pm2 集群模式下运行应用程序时,babel-node 不起作用,但在 fork 模式下,它运行成功,这里说--interpreter
不能在集群模式下工作,(-i)
因为到它的工作原理...,那么我应该怎么做才能运行我使用最新版本的 ECMAScript 的应用程序呢?
我的错误是
我的脚本
apache-spark - 以集群模式 SPARK 写入本地 FS
对于 Spark 作业,我们正在尝试添加一个日志框架,该框架在本地 FS 上创建自定义日志文件。在客户端模式下,一切都很好,文件是由启动 spark-submit 的用户在本地 FS 上创建的。但是在集群模式下,本地文件是使用没有权限写入本地目录的用户纱线创建的......
是否有任何解决方案可以在不将权限更改为 777 的情况下与提交作业的用户一起以集群模式写入本地文件?在这种情况下集群模式是否更好(我们在 PROD 环境中),知道作业是从集群的一个节点启动的(因此不存在网络问题)。
谢谢你。