WSO2 AM 1.8 与 WSO2 BAM 2.5 集成

WSO2 AM 1.8 integration with WSO2 BAM 2.5

我正在尝试通过参考此文档将 WSO2 BAM 2.5WSO2 AM 1.8 集成。 .https://docs.wso2.com/display/AM150/Monitoring+Using+WSO2+BAM。但是我在 BAM 控制台中遇到错误。我在 windows 7.Any 中配置了它 帮助修复,提前致谢

错误

[2015-01-13 14:34:03,045] WARN {org.apache.hadoop.security.ShellBasedUnixGroupsMapping} - got exception trying to get groups for user Jamshi org.apache.hadoop.util.Shell$ExitCodeException: id: Jamshi: no such user

    at org.apache.hadoop.util.Shell.runCommand(Shell.java:255)
    at org.apache.hadoop.util.Shell.run(Shell.java:182)
    at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:375)
    at org.apache.hadoop.util.Shell.execCommand(Shell.java:461)
    at org.apache.hadoop.util.Shell.execCommand(Shell.java:444)
    at org.apache.hadoop.security.ShellBasedUnixGroupsMapping.getUnixGroups(ShellBasedUnixGroupsMapping.java:68)
    at org.apache.hadoop.security.ShellBasedUnixGroupsMapping.getGroups(ShellBasedUnixGroupsMapping.java:45)
    at org.apache.hadoop.security.Groups.getGroups(Groups.java:79)
    at org.apache.hadoop.security.UserGroupInformation.getGroupNames(UserGroupInformation.java:1030)
    at org.apache.hadoop.hive.ql.security.HadoopDefaultAuthenticator.setConf(HadoopDefaultAuthenticator.java:62)
    at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62)
    at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
    at org.apache.hadoop.hive.ql.metadata.HiveUtils.getAuthenticator(HiveUtils.java:222)
    at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:270)
    at org.apache.hadoop.hive.service.HiveServer$HiveServerHandler.<init>(HiveServer.java:136)
    at org.apache.hadoop.hive.jdbc.HiveConnection.<init>(HiveConnection.java:63)
    at org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:104)
    at java.sql.DriverManager.getConnection(DriverManager.java:579)
    at java.sql.DriverManager.getConnection(DriverManager.java:221)
    at org.wso2.carbon.analytics.hive.impl.HiveExecutorServiceImpl$ScriptCallable.getConnection(HiveExecutorServiceI

mpl.java:577) at org.wso2.carbon.analytics.hive.impl.HiveExecutorServiceImpl$ScriptCallable.call(HiveExecutorServiceImpl.java: 224) at org.wso2.carbon.analytics.hive.impl.HiveExecutorServiceImpl$ScriptCallable.call(HiveExecutorServiceImpl.java: 192) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722)

在 Windows 上安装 BAM 时,请确保遵循相应的 Windows-特定文档:https://docs.wso2.com/display/BAM241/Installing+on+Windows

根据文档,尝试将 Cywin 安装到 C 盘并确保文件路径中没有 space 并将 "C:\cygwin64\bin" 添加到 windows PATH,同时确保 BAM 运行ning 用户有权使用 运行 cygwin 命令(默认情况下在 windows 中无需执行任何操作,除非您可以设置一些特殊权限)。

请注意,由于 Cassandra、Hadoop 的兼容性,我们不建议在生产环境中 运行 BAM windows。

如果安装 cygwin64 无法解决问题,请在 BAM 和 APIM (/repository/conf) 中附加配置文件。

此外,您所遵循的集成说明适用于 API Manager 1.5.0(请参阅路径中的 AM150)。这是 1.8.0 版本:https://docs.wso2.com/display/AM180/Publishing+API+Runtime+Statistics

或者,您可以使用 WSO2 API Cloud(API Manager 的 SaaS 版本),其中所有内容都已预先配置并且开箱即用。

在这种情况下,问题在于最大 Windows 路径长度。 当 BAM 试图 运行 am_stats_script 进行统计时,它必须将一些库复制到 tmp 文件夹。为此,它必须创建许多 nasted 文件夹。一下子就出现了路径长度的问题。 我是在分析日志输出的时候发现的,发现有"No such file"异常。

简单的解决方案是迁移到 Linux 平台(就像 Jamsheer 所做的那样)。在 Linux 上没有这样的问题。