Я пытался подключить свой HDP-кластер (2.1) от Teradata Studio Express 15.10 через Knox, но не смог добиться успеха. Все конфигурации, а именно имя хоста JDBC, порт, пользователь/пароль, хост WebHCat, порт, который я предоставляю как правильно. Соединение JDBC работает отлично, если я тестирую его из оболочки beeline.Подключение HDP от Teradata Studio Express 15.10
beeline> !connect jdbc:hive2://xx.xx.xxx.xxx:10000
scan complete in 11ms
Connecting to jdbc:hive2://xx.xx.xxx.xxx:10000
Enter username for jdbc:hive2://xx.xx.xxx.xxx:10000: hive
Enter password for jdbc:hive2://xx.xx.xxx.xxx:10000: ****
Connected to: Apache Hive (version 0.13.0.2.1.2.2-516)
Driver: Hive JDBC (version 0.13.0.2.1.2.2-516)
Transaction isolation: TRANSACTION_REPEATABLE_READ
Однако я не считаю свою убежденность в имени пользователя WebHCat, о котором он просит. Не уверен, что является стандартным для HDP или как можно определить новое. Таможня webhcat-site.xml
свойства "webhcat.proxyuser.hue.groups"
& "webhcat.proxyuser.hue.hosts"
не поможет мне здесь.
Когда я пытаюсь подключения от Teradata Studio Express GUI, это дает следующее сообщение об ошибке:
java.lang.Exception: Could not establish connection to jdbc:hive2://xx.xx.xxx.xxx:10000/default?hive.server2.transport.mode=http;hive.server2.thrift.http.path=cliservice: org.apache.http.conn.HttpHostConnectException: Connection to http://xx.xx.xxx.xxx:10000 refused
at com.teradata.datatools.hadoop.hive.connectivity.HiveConnection.openJdbcConnection(HiveConnection.java:286)
at com.teradata.datatools.hadoop.hive.connectivity.HiveConnection.createConnection(HiveConnection.java:199)
at org.eclipse.datatools.connectivity.DriverConnectionBase.internalCreateConnection(DriverConnectionBase.java:105)
at org.eclipse.datatools.connectivity.DriverConnectionBase.open(DriverConnectionBase.java:54)
at com.teradata.datatools.hadoop.hive.connectivity.HiveConnection.open(HiveConnection.java:144)
at com.teradata.datatools.hadoop.hive.connectivity.HivePingFactory.createJdbcConnection(HivePingFactory.java:44)
at com.teradata.datatools.hadoop.hive.connectivity.PingJdbcJob.createTestConnection(PingJdbcJob.java:30)
at com.teradata.datatools.hadoop.hive.connectivity.PingJob.run(PingJob.java:42)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Кто-нибудь получил ни малейшего представления о том, что здесь происходит? Любые указатели будут оценены.
Что вы подразумеваете под * "WebHCat username" *? С JDBC вы просто предоставляете свои учетные данные конечного пользователя * (пользователь/pwd или Kerberos TGT) * и все. То, как HiveServer2 ведет переговоры с Metastore, определяется на стороне сервера. И AFAIK не использует HCatalog - потому что HCat на самом деле является интерфейсом, предлагаемым для программ, внешних по проекту Hive (то есть Pig, Spark, что угодно) –
А, может быть, вы запутываете HiveServer2 (служба JDBC) и WebHCat (интерфейс REST к HCatalog). Они разные звери, используют разные протоколы и разные хоты/порты !! –
Да Самсон, кажется, я смешивал эти два. Но через Teradata Studio Express, когда вы начинаете соединение, 2 вещи, которые он запрашивает, это имя сервера WebHCat, порт и пользователь. Другая информация касается соединения JDBC, то есть сервера, порта, пользователя, пароля. Итак, да, я смешиваю эти 2, но это в основном программное обеспечение, которое нуждается в этой информации для подключения. Любая помощь? – knowone