2016-02-14 6 views
1

Я пытался подключить свой 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) 

Кто-нибудь получил ни малейшего представления о том, что здесь происходит? Любые указатели будут оценены.

+0

Что вы подразумеваете под * "WebHCat username" *? С JDBC вы просто предоставляете свои учетные данные конечного пользователя * (пользователь/pwd или Kerberos TGT) * и все. То, как HiveServer2 ведет переговоры с Metastore, определяется на стороне сервера. И AFAIK не использует HCatalog - потому что HCat на самом деле является интерфейсом, предлагаемым для программ, внешних по проекту Hive (то есть Pig, Spark, что угодно) –

+1

А, может быть, вы запутываете HiveServer2 (служба JDBC) и WebHCat (интерфейс REST к HCatalog). Они разные звери, используют разные протоколы и разные хоты/порты !! –

+0

Да Самсон, кажется, я смешивал эти два. Но через Teradata Studio Express, когда вы начинаете соединение, 2 вещи, которые он запрашивает, это имя сервера WebHCat, порт и пользователь. Другая информация касается соединения JDBC, то есть сервера, порта, пользователя, пароля. Итак, да, я смешиваю эти 2, но это в основном программное обеспечение, которое нуждается в этой информации для подключения. Любая помощь? – knowone

ответ

1

Получил эту проблему.

Существовали несколько конфигов, которые были необходимы, чтобы позаботиться в TD Studio Express 15.10:

для JDBC:

Hostname, Port Number (10000 or 10001 or any other on which the hive service is listening), JDBC User Name, JDBC Password & uncheck "HTTP Transport Mode" from the options list in the tool. 

Для WebHCat:

WebHCat Hostname, Port Number(50111 or the one on which HCat is listening) & WebHCat User Name (hue) 

И, наконец, конфигурации брандмауэра должны быть такими, чтобы он не блокировал порт HCat.