accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Josh Elser <josh.el...@gmail.com>
Subject Re: Sqoop import into accumulo, connect to accumulo whith principal and keytab.
Date Tue, 11 Apr 2017 15:50:06 GMT
Hi there,

It looks like the Accumulo support in Sqoop does not support Kerberos 
authentication to Accumulo[1]. It is hardcoded to use a password and not 
the KerberosToken. I forget who contributed this to Sqoop originally -- 
I don't believe it was one of the developers, but I seem to recall the 
person was subscribed to this mailing list. Perhaps this message will 
motivate someone to try to build this enhancement :)

For Hive, no, the only option is to use a keytab. Because of the various 
means in which Hive could actually execute your query (local runner, 
MapReduce, Tez, etc), it's difficult to properly handle a user-provided 
password. The longer-term solution would be to modify the 
AccumuloStorageHandler in Hive to use the delegation-token support that 
Accumulo provides. But, right now, your only option is to use a keytab 
-- sorry!

- Josh

[1] 
https://github.com/apache/sqoop/blob/7c1754270ff21f533088b946c873321f890da791/src/java/org/apache/sqoop/accumulo/AccumuloMutationProcessor.java#L119

Жердев Алексей Анатольевич wrote:
> Hi guys!
>
> The cluster is kerberized.
>
> The question is the following: you need to import a table from the
> oracle into the accumulator via sqoop.
>
> At import here such error
>
> /17/04/10 14:23:54 INFO zookeeper.ZooKeeper: Client
> environment:java.library.path=:/usr/hdp/2.5.3.0-37/hadoop/lib/native/Linux-amd64-64:/usr/hdp/2.5.3.0-37/hadoop/lib/native
> 17/04/10 14:23:54 INFO zookeeper.ZooKeeper: Client
> environment:java.io.tmpdir=/tmp 17/04/10 14:23:54 INFO
> zookeeper.ZooKeeper: Client environment:java.compiler=<NA> 17/04/10
> 14:23:54 INFO zookeeper.ZooKeeper: Client environment:os.name=Linux
> 17/04/10 14:23:54 INFO zookeeper.ZooKeeper: Client
> environment:os.arch=amd64 17/04/10 14:23:54 INFO zookeeper.ZooKeeper:
> Client environment:os.version=3.10.0-514.6.1.el7.x86_64 17/04/10
> 14:23:54 INFO zookeeper.ZooKeeper: Client environment:user.name=root
> 17/04/10 14:23:54 INFO zookeeper.ZooKeeper: Client
> environment:user.home=/root 17/04/10 14:23:54 INFO zookeeper.ZooKeeper:
> Client environment:user.dir=/ 17/04/10 14:23:54 INFO
> zookeeper.ZooKeeper: Initiating client connection,
> connectString=ambari.hdptest:2181,nn.hdptest:2181,dn1.hdptest:2181
> sessionTimeout=30000
> watcher=org.apache.accumulo.fate.zookeeper.ZooSession$ZooWatcher@60bc308b <mailto:watcher=org.apache.accumulo.fate.zookeeper.ZooSession$ZooWatcher@60bc308b>
> 17/04/10 14:23:54 INFO zookeeper.ClientCnxn: Opening socket connection
> to server dn1.hdptest/10.104.5.102:2181. Will not attempt to
> authenticate using SASL (unknown error) 17/04/10 14:23:54 INFO
> zookeeper.ClientCnxn: Socket connection established to
> dn1.hdptest/10.104.5.102:2181, initiating session 17/04/10 14:23:54 INFO
> zookeeper.ClientCnxn: Session establishment complete on server
> dn1.hdptest/10.104.5.102:2181, sessionid = 0x25a22db92a32f2f, negotiated
> timeout = 30000 17/04/10 14:23:54 ERROR tool.ImportTool: Error during
> import: org.apache.accumulo.core.client.AccumuloException:
> java.lang.IllegalArgumentException: Cannot determine SASL mechanism for
> token class: class
> org.apache.accumulo.core.client.security.tokens.PasswordToken​/
>
> Here is the import line:
>
> /sqoop import --connect jdbc:oracle:thin:@//10.104.9.43:1521/MCPB
> --query 'select * from a4m.ttlg where branch =1 and code >= 2340339404
> AND $CONDITIONS' --username z101 -P --accumulo-instance
> hdp-accumulo-instance --accumulo-zookeepers
> ambari.hdptest:2181,nn.hdptest:2181,dn1.hdptest:2181 --accumulo-user
> accum_presto@HDPTEST --accumulo-password <password> --accumulo-table
> ttlg --accumulo-column-family col1 --accumulo-row-key pan
> --accumulo-create-table --fetch-size=10000 --split-by pan --target-dir
> /user/accumulo/a4m_accum/
>
> //
>
> Is it possible to connect to Aссumulo using the principal and keytab,
> and not the principal and password? (In hive also it was possible to
> connect to accumulo only using keytab)
>
> Can there is a parameter for connecting from sqoop to accumulo using keytab?
>
> In hive, I found such a parameter --accumulo.user.keytab
>
> (/hive -hiveconf accumulo.instance.name=hdp-accumulo-instance -hiveconf
> accumulo.zookeepers=ambari.hdptest:2181,nn.hdptest:2181,dn1.hdptest:2181
> -hiveconf accumulo.sasl.enabled=true -hiveconf
> accumulo.user.name=accumulo-hdptest@HDPTEST
> <mailto:accumulo.user.name=accumulo-hdptest@HDPTEST> -hiveconf
> accumulo.user.keytab=/etc/security/keytabs/accumulo.headless.keytab
> -hiveconf
> accumulo.trace.token.type=org.apache.accumulo.core.client.security.tokens.KerberosToken/)
>
> Just the principal and password in hive does not work either, the same
> error.
>
> *С уважением,
> Жердев Алексей Анатольевич*
>
> Главный специалист
>
> Группа вычислительных сервисов и хранения данных
> Отдел администрирования СХД и UNIX-систем
>
> Департамент системного администрирования и телекоммуникаций
> Блок ИТ
>
> binbank
> skype: mo230383zaa
> tel: +79257947464
> tel: (495) 787-68-86 in. 14389, 11040
>
> Настоящее сообщение может содержать конфиденциальную
информацию, и
> другую информацию, защищаемую от раскрытия, принадлежащую
ПАО «БИНБАНК».
> Ее разглашение или иное использование без согласования
с ПАО «БИНБАНК»
> является нарушением законодательства Российской
Федерации. Если Вы
> получили данное электронное письмо по ошибке,
просим удалить его и любые
> приложения к нему и проинформировать отправителя.
Вы не должны
> копировать, сохранять или распространять каким-либо
образом и с помощью
> каких-либо средств, как само письмо, так и информацию,
содержащуюся в
> нем (в том числе в виде приложений). Информация
в этом сообщении не
> является официальной позицией ПАО «БИНБАНК» и
не влечет финансовые или
> иные обязательства ПАО «БИНБАНК».
> ВАЖНО! Информация, передаваемая по сети Интернет,
без использования
> технических средств защиты, является не защищенной
от противоправных
> действий третьих лиц и может содержать вредоносные
программные средства.
> ПАО «БИНБАНК»не несет ответственности за данные
действия
>
>
> Настоящее сообщение может содержать конфиденциальную
информацию, и
> другую информацию защищаемую от раскрытия, принадлежащую
АО «БИНБАНК
> Кредитные карты». Ее разглашение или иное использование
без согласования
> с АО «БИНБАНК Кредитные карты» является нарушением
законодательства
> Российской Федерации. Если Вы получили данное
электронное письмо по
> ошибке, просим удалить его и любые приложения к
нему и проинформировать
> отправителя. Вы не должны копировать, сохранять
или распространять
> каким-либо образом и с помощью каких-либо средств,
как само письмо, так
> и информацию, содержащуюся в нем (в том числе в
виде приложений).
> Информация в этом сообщении не является официальной
позицией АО «БИНБАНК
> Кредитные карты» и не влечет финансовые или иные
обязательства АО
> «БИНБАНК Кредитные карты». ВАЖНО! Информация, передаваемая
по сети
> Интернет, без использования технических средств
защиты, является не
> защищенной от противоправных действий третьих
лиц и может содержать
> вредоносные программные средства. АО «БИНБАНК
Кредитные карты» не несет
> ответственности за данные действия.
>

Mime
View raw message