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

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

$ 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中:

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: http://stackoverflow.com/questions/3697449/retrieve-version-from-maven-pom-xml-in-code -->
        <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参数)来设置天鹅代理以使用ckansink,然后启动天鹅。而且我知道除非成功建立cygnus-ngsi,否则此过程将无法完成

编辑:现在,我尝试通过运行删除所有以前的天鹅文件

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参数。

现在的问题是,当我通过运行启动天鹅座时

/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测试文件从另一个终端测试天鹅座时,连接被拒绝。

[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


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


这些是我的agent_1.conf文件源和ckan配置参数:

=============================================
source configuration

cygnus-ngsi.sources.http-source.channels = hdfs-channel mysql-channel ckan-channel mongo-channel sth-channel kafka-channel dynamodb-channel postgresql-channel


cygnus-ngsi.sources.http-source.type = org.apache.flume.source.http.HTTPSource

cygnus-ngsi.sources.http-source.port = 5050

cygnus-ngsi.sources.http-source.handler = com.telefonica.iot.cygnus.handlers.NGSIRestHandler

cygnus-ngsi.sources.http-source.handler.notification_target = /notify

cygnus-ngsi.sources.http-source.handler.default_service = default

cygnus-ngsi.sources.http-source.handler.default_service_path = /

cygnus-ngsi.sources.http-source.interceptors = ts gi

cygnus-ngsi.sources.http-source.interceptors.ts.type = timestamp

cygnus-ngsi.sources.http-source.interceptors.gi.type = com.telefonica.iot.cygnus.interceptors.NGSIGroupingInterceptor$Builder

cygnus-ngsi.sources.http-source.interceptors.gi.grouping_rules_conf_file = /usr/cygnus/conf/grouping_rules.conf



   # ============================================
    NGSICKANSink configuration
cygnus-ngsi.sinks.ckan-sink.channel = ckan-channel

cygnus-ngsi.sinks.ckan-sink.type =com.telefonica.iot.cygnus.sinks.NGSICKANSink

cygnus-ngsi.sinks.ckan-sink.enable_grouping = false

cygnus-ngsi.sinks.ckan-sink.enable_name_mappings = false

cygnus-ngsi.sinks.ckan-sink.enable_encoding = false

cygnus-ngsi.sinks.ckan-sink.api_key = xxxxxxxx-xxxx-xxxxxx-xxxxx
cygnus-ngsi.sinks.ckan-sink.ckan_host = http://130.206.120.212

cygnus-ngsi.sinks.ckan-sink.ckan_port = 8080

cygnus-ngsi.sinks.ckan-sink.ckan_viewer = recline_grid_view

cygnus-ngsi.sinks.ckan-sink.orion_url = http://localhost:1026

cygnus-ngsi.sinks.ckan-sink.attr_persistence = row

cygnus-ngsi.sinks.ckan-sink.ssl = false

cygnus-ngsi.sinks.ckan-sink.batch_size = 100

cygnus-ngsi.sinks.ckan-sink.batch_timeout = 30

cygnus-ngsi.sinks.ckan-sink.batch_ttl = 10

cygnus-ngsi.sinks.ckan-sink.backend.max_conns = 500

cygnus-ngsi.sinks.ckan-sink.backend.max_conns_per_route = 100



这是我的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通用发行版1.1.0(是吗?我的意思是,在cygnus-common-1.1.0-jar-with-dependencies.jar目录中是否存在target/文件?)

但是,在下一个命令中,您尝试安装cygnus通用发行版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>可能是master(最新开发版本,不建议使用),1.7.0(最新官方发行版),1.6.0 ...

因此,对于所有组件,始终使用特定版本,甚至使用适当的文档版本(例如,当您尝试构建cygnus-common 1.1.0但安装1.7时,发布的文档链接是指1.3.0版.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

关于fiware - Fiware天鹅座构建失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43460906/

10-10 02:46