在 AWS EMR 上设置 Spark Thrift 服务器以建立 JBDC/ODBC 连接

Posted

技术标签:

【中文标题】在 AWS EMR 上设置 Spark Thrift 服务器以建立 JBDC/ODBC 连接【英文标题】:Setting up Spark Thrift Server on AWS EMR for making JBDC/ODBC connection 【发布时间】:2018-03-20 20:12:34 【问题描述】:

如何在 EMR 上设置 Spark Thrift 服务器?我正在尝试使用 Spark Thrift Server 与 EMR 建立 JDBC/ODBC 连接。例如

beeline> !connect jdbc:hive2://10.253.3.5:10015

我们执行以下重启Hive-Server2 -

sudo 停止 hive-server2 sudo stop hive-hcatalog-server sudo start hive-hcatalog-server sudo start hive-server2

不确定在 AWS EMR 上重启 Spark Thrift 服务器的服务有哪些,以及如何设置用户 ID 和密码。

【问题讨论】:

【参考方案1】:

我们需要通过在 EMR 上执行以下命令来启动 Spark thrift Server-

sudo /usr/lib/spark/sbin/start-thriftserver.sh --master yarn-client

默认端口是 10001

测试连接如下 - /usr/lib/spark/bin/beeline -u 'jdbc:hive2://x.x.x.x:10001/default' -e "显示数据库;"

Spark JDBC Driver 可用于从任何应用程序连接到 Thrift 服务器

【讨论】:

Spark Thrift 服务器需要一段时间才能开始接受连接,所以如果上述直线命令给您一个错误并且服务仍在运行,请稍等片刻再试一次。

以上是关于在 AWS EMR 上设置 Spark Thrift 服务器以建立 JBDC/ODBC 连接的主要内容,如果未能解决你的问题,请参考以下文章

为啥 AWS EMR 上的 Spark 不从应用程序 fat jar 加载类?

AWS EMR 火花提交选项 - 失败

我的 spark 作业在 aws EMR 集群上长时间处于接受模式

在 AWS EMR 上使用 Spark 访问关系数据库

AWS EMR 上的 Spark:使用更多执行器

在没有 spark UI 的情况下在 AWS EMR 中监控 spark 集群