Fiware cygnus 构建失败

Fiware cygnus build failure

我想使用 Fiware cygnus 将上下文代理中的数据保存到 CKAN 实例中。我已经在 Fiware 云上创建了一个 orion-psb-image-R5.4 版本 1.7.0 的 orion context broker vm 和一个 ckan VM。我开始安装 fiware cygnus,因为我知道 cygnus 是基于 cygnus-common 和 cygnus-ngsi 的。所以,我开始下载 fiware-cygnus https://github.com/telefonicaid/fiware-cygnus ,然后我开始使用 maven 3.2.5 成功构建 cygnus-common 。但是当我开始构建 cygnus-ngsi 时它失败了,尽管我已经尝试了很多方法来解决这个问题但是没有人成功。 这是我所做的详细信息。

首先按照此处所述安装 Apache Flume http://fiware-cygnus.readthedocs.io/en/1.3.0/cygnus-common/installation_and_administration_guide/install_from_sources/index.html

$ wget http://www.eu.apache.org/dist/flume/1.4.0/apache-flume-1.4.0-bin.tar.gz
 tar xvzf apache-flume-1.4.0-bin.tar.gz
$ mv apache-flume-1.4.0-bin APACHE_FLUME_HOME
$ mv APACHE_FLUME_HOME/lib/httpclient-4.2.1.jar APACHE_FLUME_HOME/lib/httpclient-4.2.1.jar.old
$ mv APACHE_FLUME_HOME/lib/httpcore-4.2.1.jar APACHE_FLUME_HOME/lib/httpcore-4.2.1.jar.old
$ mv APACHE_FLUME_HOME/lib/libthrift-0.7.0.jar APACHE_FLUME_HOME/lib/libthrift-0.7.0.jar.old
$ mkdir -p APACHE_FLUME_HOME/plugins.d/cygnus/
$ mkdir APACHE_FLUME_HOME/plugins.d/cygnus/lib
$ mkdir APACHE_FLUME_HOME/plugins.d/cygnus/libext

其次,下载 fiware-cygnus 并构建 cygnus-common:

git clone https://github.com/telefonicaid/fiware-cygnus.git

cd fiware-cygnus/cygnus-common

mvn clean compile exec:exec assembly:single

cp target/cygnus-common-1.7.0-jar-with-dependencies.jar /usr/cygnus/plugins.d/cygnus/libext 

mvn install:install-file -Dfile=/usr/cygnus/plugins.d/cygnus/libext/cygnus-common-1.7.0_SNAPSHOT-jar-with-dependencies.jar -DgroupId=com.telefonica.iot -DartifactId=cygnus-common -Dversion=1.7.0 -Dpackaging=jar -DgeneratePom=false

cp target/classes/cygnus-flume-ng /usr/cygnus/bin/cygnus-flume-ng

然后我开始构建 cygnus-ngsi 如下

cd cygnus-ngsi

mvn clean compile exec:exec assembly:single

我在构建它时得到了这些结果:

[INFO] Building cygnus-ngsi 1.7.0_SNAPSHOT
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for com.telefonica.iot:cygnus-common:jar:1.7.0_SNAPSHOT is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.243 s
[INFO] Finished at: 2017-04-17T22:04:25+00:00
[INFO] Final Memory: 7M/28M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project cygnus-ngsi: Could not resolve dependencies for project com.telefonica.iot:cygnus-ngsi:jar:1.7.0_SNAPSHOT: Could not find artifact com.telefonica.iot:cygnus-common:jar:1.7.0_SNAPSHOT -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

我将生成的 jar 文件复制到 /usr/cygnus/plugins.d/cygnus/libext,正如上面 link 中解释的那样 运行:

cp cygnus-common/target/cygnus-common-1.7.0_SNAPSHOT-jar-with-dependencies.jar    /usr/cygnus/plugins.d/cygnus/libext 

我也已将 jar 文件复制到 Maven 存储库路径,以确保通过 运行 命令

正确设置了所有内容
cp cygnus-common/target/cygnus-common-1.7.0_SNAPSHOT-jar-with-dependencies.jar   ~/.m2/repository/com/telefonica/iot/cygnus-common/1.7.0

现在我在 ~/.m2/repository/com/telefonica/iot/cygnus-common/1.7.0 目录中有两个 jar,cygnus-common-1.7.0_SNAPSHOT-jar-with-dependencies.jarcygnus-common-1.7.0.jar 以及 usr/cygnus/plugins.d/cygnus/libext 包含它们的目录,实际上我不知道在这些目录中的任何一个中存在两个 jar 是否会造成问题。

我还认为 cygnus-ngsi pom.xml 文件可能是问题的一部分.. 这是 cygnus-ngsi 的 pom.xml:

    <project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.telefonica.iot</groupId>
    <artifactId>cygnus-ngsi</artifactId>
    <version>1.7.0_SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>cygnus-ngsi</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <!-- Required for testing -->
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <version>1.9.5</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <!-- Required by NGSIRestHandler -->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
            <version>4.3.1</version>
        </dependency>
        <!-- Required for logging -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
   </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.7.21</version>
        </dependency>
        <!-- Required by NameMapper -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.4</version>
        </dependency>
        <!-- Required by any agent -->
        <dependency>
            <groupId>com.telefonica.iot</groupId>
            <artifactId>cygnus-common</artifactId>
            <version>1.7.0_SNAPSHOT</version>
        </dependency>
    </dependencies>

    <build>
        <!-- reference:  -->
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
        <pluginManagement>
            <plugins>
                <!-- Explicit Java version declaration in needed in some systems in which Maven seems not  -->
                <!-- being able to find itself the right version. Many systems don't need this declaration -->
                <!-- but it doesn't use to hurt anyway                                                     -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.5.1</version>
                    <configuration>
                        <source>1.7</source>
                        <target>1.7</target>
                        <compilerArgument></compilerArgument>
 <fork>true</fork>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.6</version>
                    <configuration>
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                    </configuration>
                </plugin>
                <!-- http://www.chrissearle.org/2009/09/05/Using_maven-exec-plugin_to_store_the_current_git_sha_in_a_build/ -->
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>1.5.0</version>
                    <executions>
                        <execution>
                            <phase>compile</phase>
                            <goals>
                                <goal>exec</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <executable>git</executable>
                        <arguments>
                            <argument>rev-parse</argument>
                            <argument>HEAD</argument>
                        </arguments>
                        <outputFile>target/classes/last_git_commit.txt</outputFile>
                    </configuration>
                </plugin>
   <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.5.1</version>
                    <configuration>
                        <reportPlugins>
                            <plugin>
                                <groupId>org.codehaus.mojo</groupId>
                                <artifactId>cobertura-maven-plugin</artifactId>
                                <version>2.6</version>
                                <configuration>
                                    <aggregate>true</aggregate>
                                </configuration>
                            </plugin>
                            <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-surefire-report-plugin</artifactId>
                                <version>2.16</version>
                                <configuration>
                                    <aggregate>true</aggregate>
                                </configuration>
                            </plugin>
                            <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-checkstyle-plugin</artifactId>
                                <version>2.12</version>
                                <configuration>
                                    <configLocation>telefonica_checkstyle.xml</configLocation>
                                    <includeTestSourceDirectory>false</includeTestSourceDirectory>
                                    <failOnViolation>false</failOnViolation>
                                </configuration>
                            </plugin>
                            <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-javadoc-plugin</artifactId>
 <version>2.9</version>
                                <configuration>
                                    <aggregate>true</aggregate>
                                </configuration>
                            </plugin>
                        </reportPlugins>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>

现在我想知道可能导致此故障的原因。我想要做的就是通过配置 agent_.conf 文件并提供必要的 ckan 参数来设置 cygnus 代理以使用 ckansink,然后启动 cygnus。我知道除非成功构建 cygnus-ngsi,否则此过程不会完成

编辑: 现在,我尝试通过 运行

删除所有以前的 cygnus 文件
sudo rpm -e -vv --allmatches --nodeps --noscripts --notriggers cygnus
sudo rpm -e -vv --allmatches --nodeps --noscripts --notriggers cygnus-ngsi

然后我使用 rpm 安装了 cygnus-common 和 cygnus-ngsi 1.7.0 并成功安装。然后我在 /usr/cygnus/conf/agent_1.conf 文件中配置了必要的 ckan 参数。

现在的问题是当我按 运行

启动 cygnus 时
/usr/cygnus/bin/cygnus-flume-ng agent --conf /usr/cygnus/conf/ -f /usr/cygnus/conf/agent_1.conf -n cygnusagent -Dflume.root.logger=INFO,console

我得到的这些日志仅以码头服务器侦听 8081 结尾,如下所示:

Info: Sourcing environment configuration script /usr/cygnus/conf/flume-env.sh
+ exec /usr/lib/jvm/java-1.7.0-openjdk.x86_64/bin/java -Xmx20m -Dflume.root.logger=INFO,console -cp '/usr/cygnus/conf:/usr/cygnus/lib/*:/usr/cygnus/plugins.d/cygnus/lib/*:/usr/cygnus/plugins.d/cygnus/libext/*' -Djava.library.path= com.telefonica.iot.cygnus.nodes.CygnusApplication -f /usr/cygnus/conf/agent_1.conf -n cygnusagent
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/cygnus/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/cygnus/plugins.d/cygnus/lib/cygnus-ngsi-1.7.0-jar-with-dependencies.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/cygnus/plugins.d/cygnus/libext/cygnus-common-1.7.0-jar-with-dependencies.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
time=2017-04-18T16:34:31.961Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp= | op=main | msg=com.telefonica.iot.cygnus.nodes.CygnusApplication[166] : Starting Cygnus, version 1.7.0.UNKNOWN
time=2017-04-18T16:34:32.156Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=main | msg=com.telefonica.iot.cygnus.nodes.CygnusApplication[289] : Waiting for valid Flume components references...
time=2017-04-18T16:34:32.156Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=start | msg=org.apache.flume.node.PollingPropertiesFileConfigurationProvider[61] : Configuration provider starting
time=2017-04-18T16:34:32.159Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=run | msg=org.apache.flume.node.PollingPropertiesFileConfigurationProvider$FileWatcherRunnable[133] : Reloading configuration file:/usr/cygnus/conf/agent_1.conf
time=2017-04-18T16:34:32.182Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:dynamodb-sink
time=2017-04-18T16:34:32.182Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:hdfs-sink
time=2017-04-18T16:34:32.182Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:hdfs-sink
time=2017-04-18T16:34:32.182Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:sth-sink
time=2017-04-18T16:34:32.182Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:ckan-sink
time=2017-04-18T16:34:32.187Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:dynamodb-sink
time=2017-04-18T16:34:32.187Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:ckan-sink
time=2017-04-18T16:34:32.187Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:cartodb-sink
time=2017-04-18T16:34:32.188Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:ckan-sink
time=2017-04-18T16:34:32.188Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:cartodb-sink
time=2017-04-18T16:34:32.188Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:mongo-sink
time=2017-04-18T16:34:32.188Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:mysql-sink
time=2017-04-18T16:34:32.190Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:ckan-sink
time=2017-04-18T16:34:32.191Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:mysql-sink
time=2017-04-18T16:34:32.191Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:hdfs-sink
time=2017-04-18T16:34:32.191Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:ckan-sink
time=2017-04-18T16:34:32.191Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:ckan-sink
time=2017-04-18T16:34:32.191Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:hdfs-sink
time=2017-04-18T16:34:32.191Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[930] : Added sinks: hdfs-sink mysql-sink ckan-sink mongo-sink sth-sink kafka-sink dynamodb-sink postgresql-sink cartodb-sink Agent: cygnus-ngsi
time=2017-04-18T16:34:32.191Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:ckan-sink
time=2017-04-18T16:34:32.191Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:kafka-sink
time=2017-04-18T16:34:32.192Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:cartodb-sink
time=2017-04-18T16:34:32.192Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:hdfs-sink
time=2017-04-18T16:34:32.192Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:hdfs-sink
time=2017-04-18T16:34:32.192Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:ckan-sink
time=2017-04-18T16:34:32.192Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:ckan-sink
time=2017-04-18T16:34:32.192Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:ckan-sink
time=2017-04-18T16:34:32.192Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:ckan-sink
time=2017-04-18T16:34:32.192Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:hdfs-sink
time=2017-04-18T16:34:32.193Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:kafka-sink
time=2017-04-18T16:34:32.193Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:ckan-sink
time=2017-04-18T16:34:32.193Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:ckan-sink
time=2017-04-18T16:34:32.193Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:ckan-sink
time=2017-04-18T16:34:32.193Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:sth-sink
time=2017-04-18T16:34:32.193Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:dynamodb-sink
time=2017-04-18T16:34:32.193Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:ckan-sink
time=2017-04-18T16:34:32.194Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:dynamodb-sink
time=2017-04-18T16:34:32.194Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:postgresql-sink
time=2017-04-18T16:34:32.194Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:postgresql-sink
time=2017-04-18T16:34:32.195Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:ckan-sink
time=2017-04-18T16:34:32.195Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:ckan-sink
time=2017-04-18T16:34:32.198Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:mongo-sink
time=2017-04-18T16:34:32.220Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=validateConfiguration | msg=org.apache.flume.conf.FlumeConfiguration[140] : Post-validation flume configuration contains configuration for agents: [cygnus-ngsi]
time=2017-04-18T16:34:32.221Z | lvl=WARN | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=getConfiguration | msg=org.apache.flume.node.AbstractConfigurationProvider[138] : No configuration found for this host:cygnusagent
time=2017-04-18T16:34:32.224Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=startAllComponents | msg=org.apache.flume.node.Application[138] : Starting new configuration:{ sourceRunners:{} sinkRunners:{} channels:{} }
time=2017-04-18T16:34:33.156Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnusagent | op=main | msg=com.telefonica.iot.cygnus.nodes.CygnusApplication[301] : Starting a Jetty server listening on 0.0.0.0:8081 (Management Interface)

并且当我使用 notification.sh 测试文件从另一个终端测试 cygnus 时,连接被拒绝。

[centos@orcb2 ~]$ ./notification.sh http://localhost:5050/notify
* About to connect() to localhost port 5050 (#0)
*   Trying ::1... Connection refused
*   Trying 127.0.0.1... Connection refused
* couldn't connect to host
* Closing connection #0
curl: (7) couldn't connect to host

虽然我认为配置文件应该是正确的 它们如下:

这是我的 cygnus_instance_1.conf

CYGNUS_USER=cygnus

CONFIG_FOLDER=/usr/cygnus/conf

CONFIG_FILE=/usr/cygnus/conf/agent_1.conf

AGENT_NAME=cygnusagent

LOGFILE_NAME=cygnus.log

ADMIN_PORT=8081

POLLING_INTERVAL=30

所以,整个配置中缺少什么,可以修复什么让 httpsource 接受我的通知请求?

来自这个命令:

cp target/cygnus-common-1.1.0-jar-with-dependencies.jar /usr/cygnus/plugins.d/cygnus/libext

您似乎已经构建了 cygnus-common 版本 1.1.0(对吗?我的意思是,target/ 目录中是否有 cygnus-common-1.1.0-jar-with-dependencies.jar 文件?)

然而,在下一个命令中,您尝试安装 cygnus-common 版本 1.7。0_SNAPSHOT(具有依赖项):

mvn install:install-file -Dfile=/usr/cygnus/plugins.d/cygnus/libext/cygnus-common-1.7.0_SNAPSHOT-jar-with-dependencies.jar -DgroupId=com.telefonica.iot -DartifactId=cygnus-common -Dversion=1.7.0 -Dpackaging=jar -DgeneratePom=false

因此上述命令之一是错误的:两者必须引用相同的版本。

一个问题:克隆 github 存储库后,您是否按照文档中的说明检出特定版本?

$ git clone https://github.com/telefonicaid/fiware-cygnus.git
$ cd fiware-cygnus
$ git checkout <branch>

这样的<branch>可以是master(最新开发,不推荐),1.7.0(最新官方发布),1.6.0...

因此,始终对所有组件使用特定版本,甚至使用适当的文档版本(例如,您发布的文档 link 指的是版本 1.3.0,而您正在尝试构建cygnus-common 1.1.0 但正在安装 1.7.0...)。

PS:有一种安装最新版本(在撰写本文时为 1.7.0)的简单方法:使用 FIWARE 存储库中的 RPM

编辑 1:[一旦安装问题得到解决并且关于启动问题的问题已被编辑]

如果您无法向 Cygnus 发送模拟通知,那是因为 Cygnus 没有正常启动。您可以在 /var/log/cygnus/cygnus.log 查看日志并获取更多详细信息。不管怎样,对你的配置做一些评论:

关于agent_1.conf

  • 我缺少源、通道和接收器声明。此外,我缺少通道配置。为了简单起见,我猜你有意省略了它。
  • 源频道可以限制为 ckan-channel

关于cygnus_instance_1.conf

  • AGENT_NAME 必须与 agent_1.conf 中使用的匹配,即 cygnus-ngsi.

另外,安装后,您是否启动了Cygnus服务?只是为了确定:)

$ sudo service cygnus start

编辑 2:在我注意到 cygnus_instance_1.conf 中的默认命名是 cygnusagent 而 [=32] 中使用的命名后,我已经解决了连接被拒绝的错误=] 是 cygnus-ngsi,我更改了实例文件中的名称。现在我得到了成功的 http 响应,但数据仍然没有保存在 ckan 中,因为我注意到 cygnus 日志中有一些错误(无论我是通过 "service cygnus start" 还是其他长启动命令启动 cygnus)。

现在,这是成功的响应如下:

  [centos@orcb2 ~]$ ./notification.sh http://localhost:5050/notify
    * About to connect() to localhost port 5050 (#0)
    *   Trying ::1... connected
    * Connected to localhost (::1) port 5050 (#0)
    > POST /notify HTTP/1.1
    > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
    > Host: localhost:5050
    > Content-Type: application/json; charset=utf-8
    > Accept: application/json
    > Fiware-Service: gp
    > Fiware-ServicePath: /gp
    > Content-Length: 607
    > 
    < HTTP/1.1 200 OK
    < Transfer-Encoding: chunked
    < Server: Jetty(6.1.26)
    < 
    * Connection #0 to host localhost left intact
    * Closing connection #0

下面是有关当我启动 cygnus 发送通知时新日志中的错误的重要部分:

Info: Sourcing environment configuration script /usr/cygnus/conf/flume-env.sh
Warning: JAVA_HOME is not set!
+ exec /usr/bin/java -Xmx20m -Dflume.log.file=cygnus.log -Duser.timezone=UTC -Dfile.encoding=UTF-8 -cp '/usr/cygnus/conf:/usr/cygnus/lib/*:/usr/cygnus/plugins.d/cygnus/lib/*:/usr/cygnus/plugins.d/cygnus/libext/*' -Djava.library.path= com.telefonica.iot.cygnus.nodes.CygnusApplication -p 8081 -f /usr/cygnus/conf/agent_1.conf -n cygnus-ngsi
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/cygnus/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/cygnus/plugins.d/cygnus/lib/cygnus-ngsi-1.7.0-jar-with-dependencies.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/cygnus/plugins.d/cygnus/libext/cygnus-common-1.7.0-jar-with-dependencies.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
time=2017-04-19T21:43:39.994Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp= | op=main | msg=com.telefonica.iot.cygnus.nodes.CygnusApplication[166] : Starting Cygnus, version 1.7.0.UNKNOWN
time=2017-04-19T21:43:40.136Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=main | msg=com.telefonica.iot.cygnus.nodes.CygnusApplication[289] : Waiting for valid Flume components references...
time=2017-04-19T21:43:40.139Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=start | msg=org.apache.flume.node.PollingPropertiesFileConfigurationProvider[61] : Configuration provider starting
time=2017-04-19T21:43:40.141Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=run | msg=org.apache.flume.node.PollingPropertiesFileConfigurationProvider$FileWatcherRunnable[133] : Reloading configuration file:/usr/cygnus/conf/agent_1.conf
time=2017-04-19T21:43:40.166Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:dynamodb-sink
time=2017-04-19T21:43:40.166Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=addProperty | msg=org.apache.flume.conf.FlumeConfiguration$AgentConfiguration[1016] : Processing:hdfs-sink
/bin/bash: indent: command not found
.
.
.


   time=2017-04-19T21:43:40.364Z | lvl=ERROR | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=start | msg=com.telefonica.iot.cygnus.sinks.NGSICartoDBSink[242] : [cartodb-sink] Error while creating the CartoDB persistence backend. Details: /usr/cygnus/conf/cartodb_keys.conf (No such file or directory)
time=2017-04-19T21:43:40.364Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=start | msg=com.telefonica.iot.cygnus.sinks.NGSISink[344] : [cartodb-sink] Startup completed. Nevertheless, there are errors in the configuration, thus this sink will not run the expected logic
time=2017-04-19T21:43:40.378Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=start | msg=com.telefonica.iot.cygnus.sinks.NGSISink[354] : [postgresql-sink] Startup completed
time=2017-04-19T21:43:40.386Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=start | msg=com.telefonica.iot.cygnus.sinks.NGSIPostgreSQLSink[201] : [postgresql-sink] Startup completed
time=2017-04-19T21:43:40.379Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=start | msg=com.telefonica.iot.cygnus.sinks.NGSISink[354] : [mongo-sink] Startup completed
time=2017-04-19T21:43:40.379Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=start | msg=com.telefonica.iot.cygnus.sinks.NGSISink[354] : [sth-sink] Startup completed
time=2017-04-19T21:43:40.389Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=<init> | msg=com.telefonica.iot.cygnus.interceptors.CygnusGroupingRules[53] : Grouping rules read:
time=2017-04-19T21:43:40.403Z | lvl=WARN | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=<init> | msg=com.telefonica.iot.cygnus.interceptors.CygnusGroupingRules[61] : Grouping rules syntax has errors. Details: null
time=2017-04-19T21:43:40.405Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=start | msg=com.telefonica.iot.cygnus.sinks.NGSISink[354] : [mysql-sink] Startup completed
time=2017-04-19T21:43:40.457Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=<init> | msg=com.telefonica.iot.cygnus.interceptors.CygnusGroupingRules[53] : Grouping rules read:
time=2017-04-19T21:43:40.457Z | lvl=WARN | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=<init> | msg=com.telefonica.iot.cygnus.interceptors.CygnusGroupingRules[61] : Grouping rules syntax has errors. Details: null
time=2017-04-19T21:43:40.744Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=start | msg=com.telefonica.iot.cygnus.sinks.NGSISink[354] : [kafka-sink] Startup completed
time=2017-04-19T21:43:40.867Z | lvl=WARN | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=warn | msg=org.mortbay.log.Slf4jLog[76] : failed SocketConnector@0.0.0.0:5050: java.net.BindException: Address already in use (Bind failed)
time=2017-04-19T21:43:40.868Z | lvl=WARN | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=warn | msg=org.mortbay.log.Slf4jLog[76] : failed Server@15e1356d: java.net.BindException: Address already in use (Bind failed)
time=2017-04-19T21:43:40.868Z | lvl=ERROR | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=start | msg=org.apache.flume.source.http.HTTPSource[154] : Error while starting HTTPSource. Exception follows.
java.net.BindException: Address already in use (Bind failed)
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
        at java.net.ServerSocket.bind(ServerSocket.java:376)
        at java.net.ServerSocket.<init>(ServerSocket.java:237)
        at org.mortbay.jetty.bio.SocketConnector.newServerSocket(SocketConnector.java:80)
        at org.mortbay.jetty.bio.SocketConnector.open(SocketConnector.java:73)
        at org.mortbay.jetty.AbstractConnector.doStart(AbstractConnector.java:283)
        at org.mortbay.jetty.bio.SocketConnector.doStart(SocketConnector.java:147)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.Server.doStart(Server.java:235)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.apache.flume.source.http.HTTPSource.start(HTTPSource.java:151)
        at org.apache.flume.source.EventDrivenSourceRunner.start(EventDrivenSourceRunner.java:44)
        at org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:251)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:473)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access1(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
time=2017-04-19T21:43:40.894Z | lvl=ERROR | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=run | msg=org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable[253] : Unable to start EventDrivenSourceRunner: { source:org.apache.flume.source.http.HTTPSource{name:http-source,state:IDLE} } - Exception follows.
java.lang.RuntimeException: java.net.BindException: Address already in use (Bind failed)
        at com.google.common.base.Throwables.propagate(Throwables.java:156)
        at org.apache.flume.source.http.HTTPSource.start(HTTPSource.java:155)
        at org.apache.flume.source.EventDrivenSourceRunner.start(EventDrivenSourceRunner.java:44)
        at org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:251)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:473)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access1(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.BindException: Address already in use (Bind failed)
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
        at java.net.ServerSocket.bind(ServerSocket.java:376)
        at java.net.ServerSocket.<init>(ServerSocket.java:237)
        at org.mortbay.jetty.bio.SocketConnector.newServerSocket(SocketConnector.java:80)
        at org.mortbay.jetty.bio.SocketConnector.open(SocketConnector.java:73)
        at org.mortbay.jetty.AbstractConnector.doStart(AbstractConnector.java:283)
        at org.mortbay.jetty.bio.SocketConnector.doStart(SocketConnector.java:147)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.Server.doStart(Server.java:235)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.apache.flume.source.http.HTTPSource.start(HTTPSource.java:151)
        ... 9 more


.
.
.


 time=2017-04-19T21:43:41.136Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=main | msg=com.telefonica.iot.cygnus.nodes.CygnusApplication[301] : Starting a Jetty server listening on 0.0.0.0:8081 (Management Interface)
time=2017-04-19T21:43:41.173Z | lvl=WARN | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=warn | msg=org.mortbay.log.Slf4jLog[76] : failed SelectChannelConnector@0.0.0.0:8081: java.net.BindException: Address already in use
/bin/bash: indent: command not found
time=2017-04-19T21:43:41.174Z | lvl=FATAL | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=run | msg=com.telefonica.iot.cygnus.http.JettyServer[90] : Fatal error running the Management Interface. Details=Address already in use
time=2017-04-19T21:43:41.446Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=start | msg=com.telefonica.iot.cygnus.sinks.NGSISink[354] : [dynamodb-sink] Startup completed
time=2017-04-19T21:43:42.169Z | lvl=ERROR | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=run | msg=com.telefonica.iot.cygnus.nodes.CygnusApplication$YAFS[457] : Thread found not alive, exiting Cygnus. ID=41, name=Thread-21
Starting an ordered shutdown of Cygnus
Stopping sources
Stopping http-source (lyfecycle state=IDLE)
time=2017-04-19T21:43:42.173Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=stop | msg=org.apache.flume.instrumentation.MonitoredCounterGroup[139] : Component type: SOURCE, name: http-source stopped
time=2017-04-19T21:43:42.173Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=stop | msg=org.apache.flume.instrumentation.MonitoredCounterGroup[145] : Shutdown Metric for type: SOURCE, name: http-source. source.start.time == 0
time=2017-04-19T21:43:42.173Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=stop | msg=org.apache.flume.instrumentation.MonitoredCounterGroup[151] : Shutdown Metric for type: SOURCE, name: http-source. source.stop.time == 1492638222173
time=2017-04-19T21:43:42.174Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=stop | msg=org.apache.flume.instrumentation.MonitoredCounterGroup[167] : Shutdown Metric for type: SOURCE, name: http-source. src.append-batch.accepted == 0
time=2017-04-19T21:43:42.179Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=stop | msg=org.apache.flume.instrumentation.MonitoredCounterGroup[167] : Shutdown Metric for type: SOURCE, name: http-source. src.append-batch.received == 0
time=2017-04-19T21:43:42.180Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=stop | msg=org.apache.flume.instrumentation.MonitoredCounterGroup[167] : Shutdown Metric for type: SOURCE, name: http-source. src.append.accepted == 0
time=2017-04-19T21:43:42.180Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=stop | msg=org.apache.flume.instrumentation.MonitoredCounterGroup[167] : Shutdown Metric for type: SOURCE, name: http-source. src.append.received == 0
time=2017-04-19T21:43:42.180Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=stop | msg=org.apache.flume.instrumentation.MonitoredCounterGroup[167] : Shutdown Metric for type: SOURCE, name: http-source. src.events.accepted == 0
time=2017-04-19T21:43:42.180Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=stop | msg=org.apache.flume.instrumentation.MonitoredCounterGroup[167] : Shutdown Metric for type: SOURCE, name: http-source. src.events.received == 0
time=2017-04-19T21:43:42.180Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=stop | msg=org.apache.flume.instrumentation.MonitoredCounterGroup[167] : Shutdown Metric for type: SOURCE, name: http-source. src.open-connection.count == 0
time=2017-04-19T21:43:42.181Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=stop | msg=org.apache.flume.source.http.HTTPSource[172] : Http source http-source stopped. Metrics: SOURCE:http-source{src.events.accepted=0, src.events.received=0, src.append.accepted=0, src.append-batch.accepted=0, src.open-connection.count=0, src.append-batch.received=0, src.append.received=0}
All the channels are empty
Stopping channels
.
.
.

Stopping ckan-channel (lyfecycle state=START)
time=2017-04-19T21:44:10.482Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=stop | msg=org.apache.flume.instrumentation.MonitoredCounterGroup[139] : Component type: CHANNEL, name: ckan-channel stopped
time=2017-04-19T21:44:10.482Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=stop | msg=org.apache.flume.instrumentation.MonitoredCounterGroup[145] : Shutdown Metric for type: CHANNEL, name: ckan-channel. channel.start.time == 1492638220354
time=2017-04-19T21:44:10.482Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=stop | msg=org.apache.flume.instrumentation.MonitoredCounterGroup[151] : Shutdown Metric for type: CHANNEL, name: ckan-channel. channel.stop.time == 1492638250482
time=2017-04-19T21:44:10.482Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=stop | msg=org.apache.flume.instrumentation.MonitoredCounterGroup[167] : Shutdown Metric for type: CHANNEL, name: ckan-channel. channel.capacity == 1000
time=2017-04-19T21:44:10.483Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=stop | msg=org.apache.flume.instrumentation.MonitoredCounterGroup[167] : Shutdown Metric for type: CHANNEL, name: ckan-channel. channel.current.size == 0
time=2017-04-19T21:44:10.483Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=stop | msg=org.apache.flume.instrumentation.MonitoredCounterGroup[167] : Shutdown Metric for type: CHANNEL, name: ckan-channel. channel.event.put.attempt == 0
time=2017-04-19T21:44:10.483Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=stop | msg=org.apache.flume.instrumentation.MonitoredCounterGroup[167] : Shutdown Metric for type: CHANNEL, name: ckan-channel. channel.event.put.success == 0
time=2017-04-19T21:44:10.483Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=stop | msg=org.apache.flume.instrumentation.MonitoredCounterGroup[167] : Shutdown Metric for type: CHANNEL, name: ckan-channel. channel.event.take.attempt == 5
time=2017-04-19T21:44:10.483Z | lvl=INFO | corr= | trans= | srv= | subsrv= | comp=cygnus-ngsi | op=stop | msg=org.apache.flume.instrumentation.MonitoredCounterGroup[167] : Shutdown Metric for type: CHANNEL, name: ckan-channel. channel.event.take.success == 0
.
.
.
Stopping sinks
Stopping ckan-sink (lyfecycle state=START)
Stopping postgresql-sink (lyfecycle state=START)
Stopping dynamodb-sink (lyfecycle state=START)
Stopping kafka-sink (lyfecycle state=START)
Stopping cartodb-sink (lyfecycle state=START)
Stopping hdfs-sink (lyfecycle state=START)
Stopping mongo-sink (lyfecycle state=START)
Stopping mysql-sink (lyfecycle state=START)
Stopping sth-sink (lyfecycle state=START)

这些是 agent.conf 文件中的 channel 、 source 和 sink 定义

agent.sources = seqGenSrc
agent.channels = memoryChannel
agent.sinks = loggerSink

agent.sources.seqGenSrc.type = seq

agent.sources.seqGenSrc.channels = memoryChannel

agent.sinks.loggerSink.type = logger

agent.sinks.loggerSink.channel = memoryChannel

agent.channels.memoryChannel.type = memory


agent.channels.memoryChannel.capacity = 100

这是 ckan 通道配置

cygnus-ngsi.channels.ckan-channel.type = memory
cygnus-ngsi.channels.ckan-channel.capacity = 1000
cygnus-ngsi.channels.ckan-channel.transactionCapacity = 100

关于 ckan 方面,我想知道 Ckan 中是否还有其他程序,而不是创建帐户来保存 ngsi 事件。我是否必须手动创建一个组织和一个数据集及其数据存储来接收ngsi 事件?或者 fiware 服务和服务路径是否映射到组织和数据集中,并在发送 ngsi 事件时自动创建其数据存储和资源?我只是想确定我是否理解正确。

现在,您认为我应该如何解决这些错误?