1

У меня Apache NiFi работает автономно и работает нормально. Но, когда я пытаюсь установить , установите Apache NiFi для доступа к Hive или HDFS Kerberized Cloudera Hadoop Cluster. У меня проблемы.Как настроить Apache NiFi для Kerberized Hadoop Cluster

Может кто-то наставит меня на документации Настройка HDFS/Hive/HBase (с Kerberos)

Вот конфигурация, которую я дал в nifi.properties

# kerberos # 
nifi.kerberos.krb5.file=/etc/krb5.conf 
[email protected] 
nifi.kerberos.keytab.location=/uhome/pseeram/learning/pseeram.keytab 
nifi.kerberos.authentication.expiration=10 hours 

enter image description here

Я ссылался на различные ссылки, например, но ни один из них не является полезным. (Поскольку ниже ссылка сказала, что была проблемы в Nifi 0.7.1 версии, я попытался Nifi 1.1.0 версии я имел тот же горький опыт.) https://community.hortonworks.com/questions/62014/nifi-hive-connection-pool-error.html https://community.hortonworks.com/articles/4103/hiveserver2-jdbc-connection-url-examples.html

Вот ошибки я получаю журналы:

ERROR [Timer-Driven Process Thread-7] o.a.nifi.processors.hive.SelectHiveQL 
org.apache.nifi.processor.exception.ProcessException: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Could not open client transport with JDBC Uri: jdbc:hive2://ddas1106a:10000/innovate: Peer indicated failure: Unsupported mechanism type PLAIN) 
    at org.apache.nifi.dbcp.hive.HiveConnectionPool.getConnection(HiveConnectionPool.java:292) ~[nifi-hive-processors-1.1.0.jar:1.1.0] 
    at sun.reflect.GeneratedMethodAccessor191.invoke(Unknown Source) ~[na:na] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_51] 
    at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_51] 
    at org.apache.nifi.controller.service.StandardControllerServiceProvider$1.invoke(StandardControllerServiceProvider.java:177) ~[na:na] 
    at com.sun.proxy.$Proxy83.getConnection(Unknown Source) ~[na:na] 
    at org.apache.nifi.processors.hive.SelectHiveQL.onTrigger(SelectHiveQL.java:158) ~[nifi-hive-processors-1.1.0.jar:1.1.0] 
    at org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27) [nifi-api-1.1.0.jar:1.1.0] 
    at org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1099) [nifi-framework-core-1.1.0.jar:1.1.0] 
    at org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:136) [nifi-framework-core-1.1.0.jar:1.1.0] 
    at org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:47) [nifi-framework-core-1.1.0.jar:1.1.0] 
    at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:132) [nifi-framework-core-1.1.0.jar:1.1.0] 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_51] 
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_51] 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_51] 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_51] 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_51] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_51] 
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51] 
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Could not open client transport with JDBC Uri: jdbc:hive2://ddas1106a:10000/innovate: Peer indicated failure: Unsupported mechanism type PLAIN) 
    at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549) ~[commons-dbcp-1.4.jar:1.4] 
    at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) ~[commons-dbcp-1.4.jar:1.4] 
    at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) ~[commons-dbcp-1.4.jar:1.4] 
    at org.apache.nifi.dbcp.hive.HiveConnectionPool.getConnection(HiveConnectionPool.java:288) ~[nifi-hive-processors-1.1.0.jar:1.1.0] 
    ... 18 common frames omitted 
Caused by: java.sql.SQLException: Could not open client transport with JDBC Uri: jdbc:hive2://ddas1106a:10000/innovate: Peer indicated failure: Unsupported mechanism type PLAIN 
    at org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:231) ~[hive-jdbc-1.2.1.jar:1.2.1] 
    at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:176) ~[hive-jdbc-1.2.1.jar:1.2.1] 
    at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105) ~[hive-jdbc-1.2.1.jar:1.2.1] 
    at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) ~[commons-dbcp-1.4.jar:1.4] 
    at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) ~[commons-dbcp-1.4.jar:1.4] 
    at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556) ~[commons-dbcp-1.4.jar:1.4] 
    at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545) ~[commons-dbcp-1.4.jar:1.4] 
    ... 21 common frames omitted 
Caused by: org.apache.thrift.transport.TTransportException: Peer indicated failure: Unsupported mechanism type PLAIN 
    at org.apache.thrift.transport.TSaslTransport.receiveSaslMessage(TSaslTransport.java:199) ~[hive-exec-1.2.1.jar:1.2.1] 
    at org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:307) ~[hive-exec-1.2.1.jar:1.2.1] 
    at org.apache.thrift.transport.TSaslClientTransport.open(TSaslClientTransport.java:37) ~[hive-exec-1.2.1.jar:1.2.1] 
    at org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:204) ~[hive-jdbc-1.2.1.jar:1.2.1] 
    ... 27 common frames omitted 


WARN [NiFi Web Server-29] o.a.nifi.dbcp.hive.HiveConnectionPool HiveConnectionPool[id=278beb67-0159-1000-cffa-8c8534c285c8] Configuration does not have security enabled, Keytab and Principal will be ignored 
+2

Эти свойства полезны, когда вы хотите ** Kerberize собственного кластера NiFi **, но не имеют никакого отношения к доступу к внешнему ресурсу Kerberized, например HDFS или Hive * (кроме пути 'krb5.conf" который является глобальным) *. –

+1

Для HDFS см. Https://community.hortonworks.com/questions/456/i-have-nifi-setup-on-my-cluster-but-it-only-works.html –

+1

Для Hive **, просто прочитайте документация сверху вниз ** https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.dbcp.hive.HiveConnectionPool/ –

ответ

0

Что вы добавили в файл nifi.properties, полезно для кластера Kerberizing nifi. Чтобы получить доступ к кластеризованному кластеру hadoop, вам необходимо предоставить соответствующие файлы конфигурации и keytabs в процессоре HDFS NiFi.

Например, если вы используете putHDFS писать в кластер Hadoop:

Hadoop конфигурация ресурсы: путь к колонковому site.xml и HDFS-site.xml

Принципал Kerberos: Ваш принципала access hadoop cluster

kerberos keytab: Путь к keytab, сгенерированный с использованием krb5.conf кластера hadoop. Файл nifi.kerberos.krb5.file в файле nifi.properties должен указываться в соответствующем файле krb5.conf.

Независимо от того, находится ли NiFi внутри кластеризованного кластера или нет, это сообщение может быть полезно. https://community.hortonworks.com/questions/84659/how-to-use-apache-nifi-on-kerberized-hdp-cluster-n.html

Смежные вопросы