【问题标题】:My Cygnus agent doesn't create a MySQL database我的 Cygnus 代理没有创建 MySQL 数据库
【发布时间】:2017-12-01 21:00:10
【问题描述】:

下午好!

按照http://fiware-cygnus.readthedocs.io 的文档,我创建了两个conf,如下所示:

cygnus_instance_1.conf(编辑:2017/11/23 更新)

CYGNUS_USER=cygnus
CONFIG_FOLDER=/usr/cygnus/conf
CONFIG_FILE=/usr/cygnus/conf/agent_1.conf
AGENT_NAME=cygnus-ngsi
LOGFILE_NAME=cygnus.log
ADMIN_PORT=8081
POLLING_INTERVAL=30

agent_1.conf(编辑:2017/12/1 更新)

cygnus-ngsi.sources = http-source
cygnus-ngsi.sinks = mysql-sink
cygnus-ngsi.channels = mysql-channel

cygnus-ngsi.sources.http-source.channels = mysql-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 =
cygnus-ngsi.sources.http-source.handler.default_service_path = /
cygnus-ngsi.sources.http-source.handler.events_ttl = 2
cygnus-ngsi.sources.http-source.interceptors = ts
cygnus-ngsi.sources.http-source.interceptors.ts.type = timestamp

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


cygnus-ngsi.sinks.mysql-sink.mysql_port = 3306
cygnus-ngsi.sinks.mysql-sink.mysql_host = localhost
cygnus-ngsi.sinks.mysql-sink.enable_grouping = true
cygnus-ngsi.sinks.mysql-sink.mysql_password = *********
cygnus-ngsi.sinks.mysql-sink.type = com.telefonica.iot.cygnus.sinks.NGSIMySQLSink
cygnus-ngsi.sinks.mysql-sink.batch_timeout = 10
cygnus-ngsi.sinks.mysql-sink.mysql_username = username
cygnus-ngsi.sinks.mysql-sink.batch_size = 1
cygnus-ngsi.sinks.mysql-sink.channel = mysql-channel
cygnus-ngsi.sinks.mysql-sink.new_parameter = new_value
cygnus-ngsi.sinks.mysql-sink.data_model = dm-by-attribute
cygnus-ngsi.sinks.mysql-sink.attr_persistence = row

我之前创建了订阅,以便在更改活动时将之前的实体保存在 MySQL 中。

    $ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://$IP_PUBLIC:1026/v2/subscriptions");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);

curl_setopt($ch, CURLOPT_POST, TRUE);

curl_setopt($ch, CURLOPT_POSTFIELDS, "{
  \"description\": \"One subscription to rule them all\",
  \"subject\": {
    \"entities\": [
      {
        \"idPattern\": \".*\",
        \"type\": \"ExerciseAction\"
      }
    ],
    \"condition\": {
      \"attrs\": [
        \"startTime\"
      ]
    }
  },
  \"notification\": {
    \"http\": {
      \"url\": \"http://$IP_PUBLIC:5050/notify\"
    },
    \"attrs\": [
      \"startTime\" 
    ]
  },
  \"expires\": \"2020-04-05T14:00:00.00Z\"
}");

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  "Content-Type: application/json"
));

$response = curl_exec($ch);
curl_close($ch);

var_dump($response);

cygnus.log更新实体后

time=2017-12-01T12:52:50.539Z | lvl=ERROR | corr=cdeca432-d695-11e7-9c51-fa163ec68c31 | trans=fe9234ec-055b-483d-876d-e15d442a0efe | srv=default | subsrv=/ | comp=cygnus-ngsi | op=run | msg=org.apache.flume.SinkRunner$PollingRunner[160] 

: Unable to deliver event. Exception follows.
java.lang.IllegalStateException: begin() called when transaction is OPEN!
        at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
        at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131)
        at com.telefonica.iot.cygnus.sinks.NGSISink.processNewBatches(NGSISink.java:476)
        at com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:368)
        at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
        at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
        at java.lang.Thread.run(Thread.java:748)
time=2017-12-01T12:52:53.031Z | lvl=INFO | corr=8b61fc74-d696-11e7-a933-fa163ec68c31 | trans=ccb60fea-10f8-46eb-82fa-8864f9352e41 | srv=default | subsrv=/ | comp=cygnus-ngsi | op=getEvents | 

msg=com.telefonica.iot.cygnus.handlers.NGSIRestHandler[286] : [NGSIRestHandler] Starting internal transaction (ccb60fea-10f8-46eb-82fa-8864f9352e41)
time=2017-12-01T12:52:53.042Z | lvl=INFO | corr=8b61fc74-d696-11e7-a933-fa163ec68c31 | trans=ccb60fea-10f8-46eb-82fa-8864f9352e41 | srv=default | subsrv=/ | comp=cygnus-ngsi | op=getEvents | 

msg=com.telefonica.iot.cygnus.handlers.NGSIRestHandler[304] : [NGSIRestHandler] Received data ({  "subscriptionId" : "5a2150a4d3258a6d7c656d26",  "originator" : "localhost",  "contextResponses" : [    {      "contextElement" : {        

"type" : "ExerciseAction",        "isPattern" : "false",        "id" : "75",        "attributes" : [          {            "name" : "startTime",            "type" : "Text",            "value" : "30/11/2017 14:38:40"          }        ]  

    },      "statusCode" : {        "code" : "200",        "reasonPhrase" : "OK"      }    }  ]})
time=2017-12-01T12:52:55.546Z | lvl=ERROR | corr=cdeca432-d695-11e7-9c51-fa163ec68c31 | trans=fe9234ec-055b-483d-876d-e15d442a0efe | srv=default | subsrv=/ | comp=cygnus-ngsi | op=run | msg=org.apache.flume.SinkRunner$PollingRunner[160] 

: Unable to deliver event. Exception follows.
java.lang.IllegalStateException: begin() called when transaction is OPEN!
        at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
        at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131)
        at com.telefonica.iot.cygnus.sinks.NGSISink.processNewBatches(NGSISink.java:476)
        at com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:368)
        at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
        at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
        at java.lang.Thread.run(Thread.java:748)
time=2017-12-01T12:53:00.548Z | lvl=ERROR | corr=cdeca432-d695-11e7-9c51-fa163ec68c31 | trans=fe9234ec-055b-483d-876d-e15d442a0efe | srv=default | subsrv=/ | comp=cygnus-ngsi | op=run | msg=org.apache.flume.SinkRunner$PollingRunner[160] 

: Unable to deliver event. Exception follows.
java.lang.IllegalStateException: begin() called when transaction is OPEN!
        at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
        at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131)
        at com.telefonica.iot.cygnus.sinks.NGSISink.processNewBatches(NGSISink.java:476)
        at com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:368)
        at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
        at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
        at java.lang.Thread.run(Thread.java:748)
time=2017-12-01T12:53:05.550Z | lvl=ERROR | corr=cdeca432-d695-11e7-9c51-fa163ec68c31 | trans=fe9234ec-055b-483d-876d-e15d442a0efe | srv=default | subsrv=/ | comp=cygnus-ngsi | op=run | msg=org.apache.flume.SinkRunner$PollingRunner[160] 

: Unable to deliver event. Exception follows.
java.lang.IllegalStateException: begin() called when transaction is OPEN!
        at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
        at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131)
        at com.telefonica.iot.cygnus.sinks.NGSISink.processNewBatches(NGSISink.java:476)
        at com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:368)
        at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
        at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
        at java.lang.Thread.run(Thread.java:748)
time=2017-12-01T12:53:10.551Z | lvl=ERROR | corr=cdeca432-d695-11e7-9c51-fa163ec68c31 | trans=fe9234ec-055b-483d-876d-e15d442a0efe | srv=default | subsrv=/ | comp=cygnus-ngsi | op=run | msg=org.apache.flume.SinkRunner$PollingRunner[160] 

: Unable to deliver event. Exception follows.
java.lang.IllegalStateException: begin() called when transaction is OPEN!
        at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
        at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131)
        at com.telefonica.iot.cygnus.sinks.NGSISink.processNewBatches(NGSISink.java:476)
        at com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:368)
        at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
        at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
        at java.lang.Thread.run(Thread.java:748)
time=2017-12-01T12:53:15.554Z | lvl=ERROR | corr=cdeca432-d695-11e7-9c51-fa163ec68c31 | trans=fe9234ec-055b-483d-876d-e15d442a0efe | srv=default | subsrv=/ | comp=cygnus-ngsi | op=run | msg=org.apache.flume.SinkRunner$PollingRunner[160] 

: Unable to deliver event. Exception follows.
java.lang.IllegalStateException: begin() called when transaction is OPEN!
        at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
        at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131)
        at com.telefonica.iot.cygnus.sinks.NGSISink.processNewBatches(NGSISink.java:476)
        at com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:368)
        at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
        at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
        at java.lang.Thread.run(Thread.java:748)
time=2017-12-01T12:53:20.558Z | lvl=ERROR | corr=cdeca432-d695-11e7-9c51-fa163ec68c31 | trans=fe9234ec-055b-483d-876d-e15d442a0efe | srv=default | subsrv=/ | comp=cygnus-ngsi | op=run | msg=org.apache.flume.SinkRunner$PollingRunner[160] 

: Unable to deliver event. Exception follows.
java.lang.IllegalStateException: begin() called when transaction is OPEN!
        at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
        at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131)
        at com.telefonica.iot.cygnus.sinks.NGSISink.processNewBatches(NGSISink.java:476)
        at com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:368)
        at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
        at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
        at java.lang.Thread.run(Thread.java:748)
time=2017-12-01T12:53:25.559Z | lvl=ERROR | corr=cdeca432-d695-11e7-9c51-fa163ec68c31 | trans=fe9234ec-055b-483d-876d-e15d442a0efe | srv=default | subsrv=/ | comp=cygnus-ngsi | op=run | msg=org.apache.flume.SinkRunner$PollingRunner[160] 

: Unable to deliver event. Exception follows.
java.lang.IllegalStateException: begin() called when transaction is OPEN!
        at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
        at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131)
        at com.telefonica.iot.cygnus.sinks.NGSISink.processNewBatches(NGSISink.java:476)
        at com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:368)
        at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
        at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
        at java.lang.Thread.run(Thread.java:748)
time=2017-12-01T12:53:30.561Z | lvl=ERROR | corr=cdeca432-d695-11e7-9c51-fa163ec68c31 | trans=fe9234ec-055b-483d-876d-e15d442a0efe | srv=default | subsrv=/ | comp=cygnus-ngsi | op=run | msg=org.apache.flume.SinkRunner$PollingRunner[160] 

: Unable to deliver event. Exception follows.
java.lang.IllegalStateException: begin() called when transaction is OPEN!
        at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
        at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131)
        at com.telefonica.iot.cygnus.sinks.NGSISink.processNewBatches(NGSISink.java:476)
        at com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:368)
        at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
        at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
        at java.lang.Thread.run(Thread.java:748)
time=2017-12-01T12:53:35.568Z | lvl=ERROR | corr=cdeca432-d695-11e7-9c51-fa163ec68c31 | trans=fe9234ec-055b-483d-876d-e15d442a0efe | srv=default | subsrv=/ | comp=cygnus-ngsi | op=run | msg=org.apache.flume.SinkRunner$PollingRunner[160] 

: Unable to deliver event. Exception follows.
java.lang.IllegalStateException: begin() called when transaction is OPEN!
        at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
        at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131)
        at com.telefonica.iot.cygnus.sinks.NGSISink.processNewBatches(NGSISink.java:476)
        at com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:368)
        at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
        at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
        at java.lang.Thread.run(Thread.java:748)
time=2017-12-01T12:53:40.569Z | lvl=ERROR | corr=cdeca432-d695-11e7-9c51-fa163ec68c31 | trans=fe9234ec-055b-483d-876d-e15d442a0efe | srv=default | subsrv=/ | comp=cygnus-ngsi | op=run | msg=org.apache.flume.SinkRunner$PollingRunner[160] 

: Unable to deliver event. Exception follows.
java.lang.IllegalStateException: begin() called when transaction is OPEN!
        at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
        at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131)
        at com.telefonica.iot.cygnus.sinks.NGSISink.processNewBatches(NGSISink.java:476)
        at com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:368)
        at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
        at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
        at java.lang.Thread.run(Thread.java:748)
time=2017-12-01T12:53:45.570Z | lvl=ERROR | corr=cdeca432-d695-11e7-9c51-fa163ec68c31 | trans=fe9234ec-055b-483d-876d-e15d442a0efe | srv=default | subsrv=/ | comp=cygnus-ngsi | op=run | msg=org.apache.flume.SinkRunner$PollingRunner[160] 

: Unable to deliver event. Exception follows.
java.lang.IllegalStateException: begin() called when transaction is OPEN!
        at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
        at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131)
        at com.telefonica.iot.cygnus.sinks.NGSISink.processNewBatches(NGSISink.java:476)
        at com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:368)
        at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
        at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
        at java.lang.Thread.run(Thread.java:748)
time=2017-12-01T12:53:50.571Z | lvl=ERROR | corr=cdeca432-d695-11e7-9c51-fa163ec68c31 | trans=fe9234ec-055b-483d-876d-e15d442a0efe | srv=default | subsrv=/ | comp=cygnus-ngsi | op=run | msg=org.apache.flume.SinkRunner$PollingRunner[160] 

: Unable to deliver event. Exception follows.
java.lang.IllegalStateException: begin() called when transaction is OPEN!
        at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
        at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131)
        at com.telefonica.iot.cygnus.sinks.NGSISink.processNewBatches(NGSISink.java:476)
        at com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:368)
        at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
        at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
        at java.lang.Thread.run(Thread.java:748)
time=2017-12-01T12:53:55.574Z | lvl=ERROR | corr=cdeca432-d695-11e7-9c51-fa163ec68c31 | trans=fe9234ec-055b-483d-876d-e15d442a0efe | srv=default | subsrv=/ | comp=cygnus-ngsi | op=run | msg=org.apache.flume.SinkRunner$PollingRunner[160] 

: Unable to deliver event. Exception follows.
java.lang.IllegalStateException: begin() called when transaction is OPEN!
        at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
        at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131)
        at com.telefonica.iot.cygnus.sinks.NGSISink.processNewBatches(NGSISink.java:476)
        at com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:368)
        at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
        at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
        at java.lang.Thread.run(Thread.java:748)
time=2017-12-01T12:54:00.575Z | lvl=ERROR | corr=cdeca432-d695-11e7-9c51-fa163ec68c31 | trans=fe9234ec-055b-483d-876d-e15d442a0efe | srv=default | subsrv=/ | comp=cygnus-ngsi | op=run | msg=org.apache.flume.SinkRunner$PollingRunner[160] 

: Unable to deliver event. Exception follows.
java.lang.IllegalStateException: begin() called when transaction is OPEN!
        at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
        at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131)
        at com.telefonica.iot.cygnus.sinks.NGSISink.processNewBatches(NGSISink.java:476)
        at com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:368)
        at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
        at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
        at java.lang.Thread.run(Thread.java:748)
time=2017-12-01T12:54:05.576Z | lvl=ERROR | corr=cdeca432-d695-11e7-9c51-fa163ec68c31 | trans=fe9234ec-055b-483d-876d-e15d442a0efe | srv=default | subsrv=/ | comp=cygnus-ngsi | op=run | msg=org.apache.flume.SinkRunner$PollingRunner[160] 

: Unable to deliver event. Exception follows.
java.lang.IllegalStateException: begin() called when transaction is OPEN!
        at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
        at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131)
        at com.telefonica.iot.cygnus.sinks.NGSISink.processNewBatches(NGSISink.java:476)
        at com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:368)
        at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
        at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
        at java.lang.Thread.run(Thread.java:748)
time=2017-12-01T12:54:10.580Z | lvl=ERROR | corr=cdeca432-d695-11e7-9c51-fa163ec68c31 | trans=fe9234ec-055b-483d-876d-e15d442a0efe | srv=default | subsrv=/ | comp=cygnus-ngsi | op=run | msg=org.apache.flume.SinkRunner$PollingRunner[160] 

: Unable to deliver event. Exception follows.
java.lang.IllegalStateException: begin() called when transaction is OPEN!
        at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
        at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131)
        at com.telefonica.iot.cygnus.sinks.NGSISink.processNewBatches(NGSISink.java:476)
        at com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:368)
        at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
        at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
        at java.lang.Thread.run(Thread.java:748)
time=2017-12-01T12:54:15.588Z | lvl=ERROR | corr=cdeca432-d695-11e7-9c51-fa163ec68c31 | trans=fe9234ec-055b-483d-876d-e15d442a0efe | srv=default | subsrv=/ | comp=cygnus-ngsi | op=run | msg=org.apache.flume.SinkRunner$PollingRunner[160] 

: Unable to deliver event. Exception follows.
java.lang.IllegalStateException: begin() called when transaction is OPEN!
        at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
        at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131)
        at com.telefonica.iot.cygnus.sinks.NGSISink.processNewBatches(NGSISink.java:476)
        at com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:368)
        at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
        at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
        at java.lang.Thread.run(Thread.java:748)

谁能帮助我并告诉我为什么我的 Cygnus 和 MySQL 之间的连接不起作用? 非常感谢!!!

【问题讨论】:

  • 您运行的是哪个版本的 Cygnus?顺便说一句,您在哪里找到了文档中的 es.tid.fiware.fiwareconnectors.cygnus... 包名称?因为这样的包名很久以前就改成了com.telefonica.iot.cygnus... :)
  • 感谢frb的回复!!!对于 agent_1.conf 我关注了这篇文章 stackoverflow.com/questions/30511082/… ,我认为这个版本已经过时了。我在我的 Fiware Lab 上安装了最新版本的 Cygnus。现在我更改了我的 agent_1.conf(我编辑了帖子),但我的代理在我更新我的实体后没有创建数据库。谢谢你的帮助!!
  • 我''推荐你关注官方doc。同时,您可以通过放置最后的配置以及您正在获取的日志来编辑帖子吗?
  • 感谢您的回复!我的最后一个配置已经在这篇文章中了。当我试图在 /var/log/cygnus/ 上找到我的 cygnus.log 时,我找不到它,目录是空的。非常感谢您的帮助!
  • 您好!我用新配置更新了我的帖子,但它什么也没做,我放了 cygnus.log。谢谢!!

标签: mysql fiware fiware-cygnus


【解决方案1】:

根据您的日志,配置中存在错误。这一行:

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

必须是:

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 = /Applications/apache-flume-1.4.0-bin/conf/grouping_rules.conf

无论如何,这是为了使用分组拦截,这是一项高级功能(也是一项已弃用的功能;建议使用名称映射)。因此,我的建议是删除这些行,只保留时间戳截取:

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

【讨论】:

  • 非常感谢您的快速回复。我已按照您的说明编辑了我的 agent_1.conf(我已使用新配置编辑了帖子)。我已将代理作为服务重新执行,并附上了新日志。不幸的是,历史数据没有转移到 MySQL。非常感谢您的合作!
  • 很好,现在 Cygnus 日志没有显示任何错误。我在日志中缺少的是来自 Orion CB 的通知。您是否在 Orion CB 中创建了指向 Cygnus 的订阅?您是否更新了订阅中涉及的任何实例以触发通知?
  • 感谢您的快速回复,当然我已经创建了订阅,我在此附上更新实体后得到的日志。感谢您的合作!
猜你喜欢
  • 2013-08-05
  • 1970-01-01
  • 2014-01-20
  • 2014-07-03
  • 1970-01-01
  • 1970-01-01
  • 2014-06-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多