我正在尝试从已配置 livy 服务器的 hue 服务器创建一个 spark 会话,以与启用 kerberos 的 spark 进行通信。
尝试使用查询编辑器启动 spark scala 会话时出现以下错误。但我可以从hue服务器提交spark jar作业,它工作正常。
堆栈跟踪:
15:21:40 调试客户端:从缓存中停止客户端:org.apache.hadoop.ipc.Client@70609b0c","\nYARN 诊断:","应用程序被用户杀死。"]} [23/Apr/2018 02:52:05 +0000] 装饰器错误运行 create_session 时出错 回溯(最近一次通话最后): 文件“/home/hue/desktop/libs/notebook/src/notebook/decorators.py”,第 97 行,在装饰器中 返回函数(*args,**kwargs) 文件“/home/hue/desktop/libs/notebook/src/notebook/api.py”,第 85 行,在 create_session response['session'] = get_api(request, session).create_session(lang=session['type'], properties=properties) 文件“/home/hue/desktop/libs/notebook/src/notebook/connectors/spark_shell.py”,第 227 行,在 create_session raise QueryError(_('The Spark session could not be created in the cluster: %s') % info) 查询错误
使用 kerberos 凭据配置 livy,并且在使用 curl 命令与 spark 通信时也可以正常工作。
色相配置:
livy_server_host=localhost livy_server_port=8998 livy_server_session_kind=纱线 livy_impersonation_enabled=true livy_server_session_timeout=3600000
配置:
livy.server.csrf_protection.enabled = false livy.spark.master = 纱线 livy.spark.deployMode = 集群 livy.superusers = 色相,livy livy.impersonation.enabled = true livy.server.access_control.enabled = true livy.server.access_control.users = * livy.server.auth.kerberos.keytab livy.keytab livy.server.auth.kerberos.principal HTTP/livyserver@FQDN #livy.server.auth.type kerberos livy.server.launch.kerberos.keytab hue.keytab livy.server.launch.kerberos.principal hue/hueserver@FQDN livy.server.session.timeout = 5h livy.server.request-log-retain.days = 5
还在 hadoop core-site.xml 中添加了 hue 和 livy 的代理用户