Hi,

I am attempting to add Kerberos support to GeoMesa's [1] MapReduce
code, running on Accumulo. The current code calls:

ConfiguratorBase.setZooKeeperInstance(classOf[AccumuloInputFormat],
conf, instance, zookeepers)

where conf is the generic Hadoop configuration read from XML files,
and instance & zookeepers are the Accumulo instance name and Zookeeper
address(es) respectively.

This in turn calls:

org.apache.accumulo.core.client.mapreduce.lib.impl.ConfiguratorBase.setZooKeeperInstance(implementingClass,
conf, new 
ClientConfiguration().withInstance(instanceName).withZkHosts(zooKeepers));

Which creates an Accumulo ClientConfiguration with the default
settings, specifying the Accumulo instance name and the Zookeeper
address(es). This is fine for non-Kerberized usage, but with Kerberos
I need to ensure withSasl is added to the ClientConfiguration,
otherwise it will try to connect without SASL and annoyingly hang.

ConfiguratorBase has no other overrides for setZookeeperInstance, so I
don't see how this would ever work with Kerberos. It is marked as
deprecated, which points me to AccumuloInputFormat, but I'm a little
confused as to how this API relates to ConfiguratorBase.

Any help is much appreciated,

James



[1] https://github.com/locationtech/geomesa

Reply via email to