aws emr:spark-sparkexception java ioexception:无法在/tmp/blockmgr中创建本地目录*

ldxq2e6h  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(521)

我有一个带Spark的aws电子病历集群。我可以连接到它(spark):
从主节点进入后
来自另一个aws emr集群
但无法连接到它:
从我的本地机器(macos mojave)
来自metabase和redash等非emr机器
我读过这个问题的答案。我已经检查了所有节点上的文件夹权限和磁盘空间是否正常。我的假设是,我面临的问题与詹姆斯·维兹巴在评论中提出的问题相似。然而,我没有足够的声誉来添加评论。此外,这可能是一个不同的问题,因为它是特定于aws电子病历。
连接到主节点后工作正常。


# 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。
元数据库→ 使用数据源spark sql连接→ 结果 java.sql.SQLException: org.apache.spark.SparkException: java.io.IOException: Failed to create local dir in /mnt/tmp/blockmgr* 红土→ 使用数据源配置单元连接→ 结果是同样的错误。

n6lpvg4x

n6lpvg4x1#

您需要更新附加到emr主节点的安全组的入站规则。您需要添加网络提供商的公共ip地址。您可以在以下网站上找到您的公共ip地址:
我的ip是什么
有关如何使用ip地址更新入站规则的更多详细信息,请参阅以下aws文档:
授权linux示例的入站流量
如果您在受限的网络环境中工作,还应该检查自己网络的出站规则。
因此,请确保您在网络中具有出站访问权限,并在emr的主节点安全组中对所有要访问的端口具有入站访问权限。

相关问题