- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个带有 Spark 的 AWS EMR 集群。我可以连接到它 (spark):
但无法连接到它:
我已阅读 this question 的答案.我已经检查过所有节点上的文件夹权限和磁盘空间都没有问题。我的假设是我面临着类似的问题James Wierzba在评论中提问。但是,我没有足够的声誉在那里添加评论。此外,考虑到它特定于 AWS EMR,这可能是一个不同的问题。
SSH 连接到主节点后连接工作正常。
# SSHed to master node
$ ssh -i ~/identityfile hadoop@ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com
# on master node
$ /usr/lib/spark/bin/beeline -u 'jdbc:hive2://localhost:10001/default'
# it connects fine and I can run commands, for e.g., 'show databases;'
# Beeline version 1.2.1-spark2-amzn-0 by Apache Hive
与此节点的连接也可以从另一个 EMR 集群的主节点正常工作。
但是,我的本地计算机 (macOS Mojave) 无法连接,Metabase和 Redash .
我的本地机器:
# installed hive (for beeline)
$ brew install hive
# Beeline version 3.1.1 by Apache Hive
# connect directly
# I have checked that all ports are open for my IP
$ beeline -u 'jdbc:hive2://ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com:10001/default'
# ERROR: ConnectException: Operation timed out
#
# this connection timeout probably has something to do with spark accepting only localhost connections
# I have allowed all the ports in AWS security group for my IP
# connect via port forwarding
# open a port
$ ssh -i ~/identityfile -Nf -L 10001:localhost:10001 hadoop@ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com
$ beeline -u 'jdbc:hive2://localhost:10001/default'
# Failed to connect to localhost:10001
# Required field 'client_protocol' is unset!
$ beeline -u 'jdbc:hive2://localhost:10001/;transportMode=http'
# org.apache.http.ProtocolException: The server failed to respond with a valid HTTP response
我在 ec2 中设置了 Metabase 和 Redash。
Metabase → 使用数据源 Spark SQL 连接 → 结果java.sql.SQLException: org.apache.spark.SparkException: java.io.IOException: 无法在/mnt/tmp/blockmgr* 中创建本地目录
Redash → 使用数据源 Hive 连接 → 导致相同的错误。
最佳答案
您需要更新EMR Master 节点绑定(bind)的安全组的入站规则。您需要添加网络提供商的公共(public) IP 地址。您可以在以下网站上找到您的公共(public) IP 地址:
有关如何使用您的 IP 地址更新入站规则的更多详细信息,请参阅以下 AWS 文档:
Authorizing Inbound Traffic for Your Linux Instances
如果您在受限的网络环境中工作,您还应该检查自己网络的出站规则。
因此,请确保您在网络中具有出站访问权限,并在 EMR 的主节点安全组中对要访问的所有端口具有入站访问权限。
关于apache-spark - 亚马逊电子病历 : Spark - SparkException java IOException: Failed to create local dir in/tmp/blockmgr*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56021982/
我知道Stackoverflow上有other very similar个问题,但是这些问题没有得到回答或没有帮助我。与这些问题相比,我在此问题中添加了更多的堆栈跟踪和日志文件信息。我希望这会有所帮助
为什么这段代码会产生这个异常?怎样才能避免呢 SparkConf conf = new SparkConf().setAppName("startingSpark").setMaster("l
这是一个工作代码示例: JavaPairDStream messages = KafkaUtils.createStream(javaStreamingContext, zkQuorum, group
我正在使用 YARN 在 Hadoop 集群上运行以下代码。它解析一些电子邮件并执行情感注释,最后将结果 DataFrame 写入 HDFS 上的 Parquet 表。不幸的是,它在 HDFS 上最后
我正在从 HDFS 检查点恢复流(例如,ConstantInputDSTream),但我不断收到 SparkException: has not been initialized . 从检查点恢复时
我正在 EMR 中使用 YARN 作为资源管理器并在 2 个节点上运行 Spark 作业。如果不满足我的条件,我需要故意使该步骤失败,因此下一步不会按照配置执行。 为了实现这一点,我在 dynamoD
我正在尝试使用Oracle虚拟机通过Spark将HDFS [/tmp/chicago_test_load/chicago_crimes_01_present.csv]中的Chicago Crime数据
我正在尝试运行以下简单的 Spark 代码: public static void main(final String[] args)throws Exception { ClassLoade
我正在处理两个 pyspark 数据框,并对它们进行左反连接以跟踪日常更改,然后发送电子邮件。 我第一次尝试: diff = Table_a.join( Table_b, [Table
我正在搜索此错误,但没有找到与 TrainValidationSplit 相关的任何内容。所以我想进行参数调整,并使用 TrainValidationSplit 执行此操作会出现以下错误:org.ap
我试图通过 foreachpartition 将结果添加到 mysql,但收到错误 org.apache.spark.SparkException:任务不可序列化 java。 公共(public)类
我正在尝试运行以下简单的 Spark 代码: Gson gson = new Gson(); JavaRDD stringRdd = jsc.textFile("src/main/resources/
我正在 Hadoop-Yarn 集群上执行 spark-submit 作业。 spark-submit/opt/spark/examples/src/main/python/pi.py 1000 但面
我的 spark 结构化流数据帧需要一个 JDBC 接收器。目前,据我所知,DataFrame 的 API 缺乏 writeStream到 JDBC 实现(既不在 PySpark 也不在 Scala(
我是这个主题的新手,我使用基于推送的方法并且它有效,但不知何故使用基于拉的方法它会引发接收器连接错误。也许我可能会错过一些东西。 Flume配置详情如下 sink.type=org.apache.sp
我的代码如下所示(抱歉,我无法显示完整代码): public class MyClass { final A _field1; // Non-serializable object f
我正在用 java 编写我的第一个 Spark 程序,但无法找出以下错误。我已经解决了很多有关堆栈溢出的问题,但他们认为与我的问题无关。我正在尝试使用最新版本的spark 2.4.4。我正在本地运行我
我有以下三个类(class),我正在学习 Task not serialized 错误。完整的堆栈跟踪见下文。 头等舱是一个序列化的人: public class Person implements
我正在尝试设置 Spark Streaming 以从 Kafka 队列中获取消息。我收到以下错误: py4j.protocol.Py4JJavaError: An error occurred whi
我是 Scala 的新手,我正在尝试执行以下代码: val SetID = udf{(c:String, d: String) => if( c.UpperCase.contains("EXK
我是一名优秀的程序员,十分优秀!