我最近在Spark 3.4中发现了Spark Connect新功能。我在YARN集群上测试了它,它运行得很好!但是,任何人都可以访问我的Spark Connect服务器并使用我的用户运行作业。**是否可以为Spark Connect配置身份验证?**简单的密码,或用户名和密码的组合。
我搜索类似的东西:
- 服务器端
./sbin/start-connect-server.sh \
--jars jars/spark-connect_2.12-3.4.1.jar \
--master yarn --name SparkConnectTest \
--conf spark.sql.catalogImplementation=hive \
--conf password=mysuperpassword
字符串
- 客户端
spark = SparkSession.builder.remote("sc://localhost").conf("password", "mysuperpassword").getOrCreate()
型
官方文件说:
虽然Spark Connect没有内置的身份验证,但它可以与现有的身份验证基础设施无缝协作。它的gRPC HTTP/2接口允许使用身份验证代理,这使得不必直接在Spark中实现身份验证逻辑就可以保护Spark Connect。
但是我不知道如何使用Spark Connect配置gRPC。
- Python 3.7.6
- PySpark 3.4.1
- Hadoop 3.1.1
1条答案
按热度按时间zqdjd7g91#
gRPC代理
删除gRPC流量:gRPC客户端-> APISIX -> gRPC/gRPCS服务器
https://apisix.apache.org/docs/apisix/grpc-proxy/
也许能帮到你
--2023-11-02更新-
我使用一个简单的gRPC示例,并使用apisix代理gRPC。
字符串
使用apisix管理API添加路由和身份验证。
型
当我使用没有apikey或错误值的客户端调用服务时:
型
spark connect gRPC代理即将推出。
添加Spark连接路由:
型
在python代码中使用pyspark:
型
如果未提供apiKey或在连接过程中使用了不正确的值,则会报告错误。
型
但是错误消息并不具体,您可以使用Wireshark工具来检查返回值。
型