kafka.admin

ZkSecurityMigrator

object ZkSecurityMigrator extends Logging

This tool is to be used when making access to ZooKeeper authenticated or the other way around, when removing authenticated access. The exact steps to migrate a Kafka cluster from unsecure to secure with respect to ZooKeeper access are the following:

1- Perform a rolling upgrade of Kafka servers, setting zookeeper.set.acl to false and passing a valid JAAS login file via the system property java.security.auth.login.config 2- Perform a second rolling upgrade keeping the system property for the login file and now setting zookeeper.set.acl to true 3- Finally run this tool. There is a script under ./bin. Run ./bin/zookeeper-security-migration --help to see the configuration parameters. An example of running it is the following: ./bin/zookeeper-security-migration --zookeeper.acl=secure --zookeeper.connection=localhost:2181

To convert a cluster from secure to unsecure, we need to perform the following steps: 1- Perform a rolling upgrade setting zookeeper.set.acl to false for each server 2- Run this migration tool, setting zookeeper.acl to unsecure 3- Perform another rolling upgrade to remove the system property setting the login file (java.security.auth.login.config).

Linear Supertypes
Logging, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ZkSecurityMigrator
  2. Logging
  3. AnyRef
  4. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def debug(msg: ⇒ String, e: ⇒ Throwable): Unit

    Definition Classes
    Logging
  9. def debug(e: ⇒ Throwable): Any

    Definition Classes
    Logging
  10. def debug(msg: ⇒ String): Unit

    Definition Classes
    Logging
  11. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  13. def error(msg: ⇒ String, e: ⇒ Throwable): Unit

    Definition Classes
    Logging
  14. def error(e: ⇒ Throwable): Any

    Definition Classes
    Logging
  15. def error(msg: ⇒ String): Unit

    Definition Classes
    Logging
  16. def fatal(msg: ⇒ String, e: ⇒ Throwable): Unit

    Definition Classes
    Logging
  17. def fatal(e: ⇒ Throwable): Any

    Definition Classes
    Logging
  18. def fatal(msg: ⇒ String): Unit

    Definition Classes
    Logging
  19. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  20. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  21. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  22. def info(msg: ⇒ String, e: ⇒ Throwable): Unit

    Definition Classes
    Logging
  23. def info(e: ⇒ Throwable): Any

    Definition Classes
    Logging
  24. def info(msg: ⇒ String): Unit

    Definition Classes
    Logging
  25. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  26. var logIdent: String

    Attributes
    protected
    Definition Classes
    Logging
  27. lazy val logger: Logger

    Definition Classes
    Logging
  28. val loggerName: String

    Definition Classes
    Logging
  29. def main(args: Array[String]): Unit

  30. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  31. final def notify(): Unit

    Definition Classes
    AnyRef
  32. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  33. def run(args: Array[String]): Unit

  34. def swallow(action: ⇒ Unit): Unit

    Definition Classes
    Logging
  35. def swallowDebug(action: ⇒ Unit): Unit

    Definition Classes
    Logging
  36. def swallowError(action: ⇒ Unit): Unit

    Definition Classes
    Logging
  37. def swallowInfo(action: ⇒ Unit): Unit

    Definition Classes
    Logging
  38. def swallowTrace(action: ⇒ Unit): Unit

    Definition Classes
    Logging
  39. def swallowWarn(action: ⇒ Unit): Unit

    Definition Classes
    Logging
  40. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  41. def toString(): String

    Definition Classes
    AnyRef → Any
  42. def trace(msg: ⇒ String, e: ⇒ Throwable): Unit

    Definition Classes
    Logging
  43. def trace(e: ⇒ Throwable): Any

    Definition Classes
    Logging
  44. def trace(msg: ⇒ String): Unit

    Definition Classes
    Logging
  45. val usageMessage: String

  46. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  47. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  48. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  49. def warn(msg: ⇒ String, e: ⇒ Throwable): Unit

    Definition Classes
    Logging
  50. def warn(e: ⇒ Throwable): Any

    Definition Classes
    Logging
  51. def warn(msg: ⇒ String): Unit

    Definition Classes
    Logging

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Ungrouped