azkaban 添加ldap 插件

2018-10-10  本文已影响202人  wangliang938

1,下载ldap插件项目 https://github.com/researchgate/azkaban-ldap-usermanager,将其改为maven项目,打包生成jar文件。
2,现在azkaban项目,打包生成如下目录。

image.png
3,将install目录copy出来,放到单独文件夹中。
image.png
4,修改azkaban-web-server中的conf目录下的azkaban.properties文件,增加
#ldap options
user.manager.ldap.host=freeipa1.cdh.com
user.manager.ldap.port=389
user.manager.ldap.useSsl=false
user.manager.ldap.userBase=dc=cdh,dc=com
user.manager.ldap.userIdProperty=uid
user.manager.ldap.emailProperty=mail
user.manager.ldap.bindAccount=uid=admin,cn=users,cn=accounts,dc=cdh,dc=com
user.manager.ldap.bindPassword=1q2w3e!Q@W#E
user.manager.ldap.allowedGroups=
user.manager.ldap.groupSearchBase=cn=groups,cn=accounts
user.manager.ldap.embeddedGroups=false

5,在azkaban-web-server目录下新增plugins ,extlib两个目录。将第一步生成的jar 放到 plugins中,其中依赖api-ldap-client-all-1.0.0-M15.jar 。将其放到extlib目录中。

6,启动项目会出现如下问题,解决方式是将mina jar升级,如下图

Exception in thread "pool-1-thread-1" java.lang.IncompatibleClassChangeError: Class org.apache.mina.filter.codec.ProtocolCodecFilter does not implement the requested interface org.apache.mina.core.filterchain.IoFilter
at org.apache.mina.core.filterchain.DefaultIoFilterChain.register(DefaultIoFilterChain.java:267)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.addLast(DefaultIoFilterChain.java:174)
at org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder.buildFilterChain(DefaultIoFilterChainBuilder.java:436)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.addNow(AbstractPollingIoProcessor.java:528)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.handleNewSessions(AbstractPollingIoProcessor.java:501)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:67)
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1116)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source) 
image.png
上一篇下一篇

猜你喜欢

热点阅读