我有 3 个 phoenix 查询服务器在 knox 网关后面运行(隐藏 kerberos 身份验证复杂性),通过 Simba 的 odbc 驱动程序访问。我设法到达一台凤凰查询服务器并通过knox启动查询,方法是在拓扑文件中将avatica服务直接映射到我内部网络中一台凤凰查询服务器的内部IP地址和端口。我想让 knox 随机访问我的 3 个 phoenix 查询服务器中的任何一个,而不仅仅是一个。你知道我是否可以使用 zookeeper 来实现这一点,以及我如何配置它来做到这一点?
我已经尝试进行一些负载平衡,使 knox 拓扑指向 nginx 反向代理,将我的 3 PQS 设置为上游,但我遇到 401 错误,同样我的凭据是通过代理传输的
我的 odbc.ini 文件:
[phoenixovh]
Driver=/opt/hortonworks/phoenixodbc/lib/64/libphoenixodbc_sb64.so
Host=knox.<clusterid>.datalake.ovh
Port=443
AuthMech=2
UID=<user>
PWD=<password>
LogLevel=0
ConnectionSyncInterval=120
SSL=1
HttpPath=gateway/default/avatica
TransportMode=http
我的 knox 拓扑文件的一部分(适用于 1 个 PQS)(default.xml)
<service>
<role>AVATICA</role>
<url> internal_address__and_port_of_url_of_one_pqs</url>
</service>