Ric*_* T. 5 hadoop hive jdbc dbeaver
我有一个 Hortonworks Hadoop 集群,其中数据节点位于主节点/头节点之外的单独网络上。访问数据节点的唯一方法是通过主节点或边缘节点。从边缘节点,我执行 hive 命令以连接到我的 hive 数据库。
我无法使用 DBeaver(4.3.0,64 位 Windows)或 hive 命令行界面从我的桌面连接到 hive 数据库。通过 DBeaver,我尝试创建到我的边缘节点的 SSH 隧道并不断收到“无法使用 JDBC Uri 打开客户端传输jdbc:hive2://127.0.0.1:[port#]/[database]。.
Hive/Apache Hive 驱动程序的配置:
General Tab:
Host: dataNodeName
Port: 10000
Database/Schema: databaseName
User name: myUID
SSH Tunnel Tab (Network page):
Checked Use SSH Tunnel
Host/IP: edgeNodeServerName
Port: 22
User Name: myUID
Authentication Method: Password
Password: myPWD
Advanced
Local port: 0
Keep-Alive interval (ms): 0
Run Code Online (Sandbox Code Playgroud)
当我选择“测试连接”并将本地端口设置为“0”时,我收到了上面带有随机端口号的错误消息。如果我将本地端口设置为“10000”,则会收到端口号为“10000”的上述错误。
看起来 DBeaver 忽略了通用 JDBC 连接设置——创建的 JDBC 字符串中的主机名是 127.0.0.1 而不是数据节点名称。
我错过了什么?如何设置 DBeaver 以访问位于“隐藏”网络上的 Hive 数据库?
您的主机名是否配置为 jdbc 连接语法中提到的 IP 地址 (127.0.0.1)?您可以从 Unix shell 连接到 beeline 吗?连接到 beeline(hiveserver2) 的语法:
beeline -u jdbc:hive2://<hostname>:<hive listener port>/<database> -n username> -p <password>
如果您能够连接到 beeline,则应该能够使用 DBeaver 中的相同端口号和主机连接到 hive。Hive 侦听器端口默认配置为 10000,但您的管理员可能可以更改端口号。检查 hive-site.xml 中的端口号,或从管理员处获取。
您可以取消选中 SSH 隧道并尝试吗?
此链接包含从头开始的所有设置,请检查您是否错过了任何步骤。
https://www.linkedin.com/pulse/query-hive-hiveserver2-from-windows-using-universal-database-nimmala
| 归档时间: |
|
| 查看次数: |
11254 次 |
| 最近记录: |