2016-05-09 3 views
2

最近、私はNGSIV2で作業を開始しますが、cygnusはクラッシュを開始します。 私は正しく構成されていないことがありますか? v1は完璧に動作します。エラーとorionでngsiv2を使用するとcygnusがクラッシュするのはなぜですか?

マイスタートアップトレースはここにある:http://pastebin.com/nP2am8GW

エラーは言った:エラーがチャネルにイベントを追加します。チャンネルが満杯になる可能性があります。チャネル容量を増やすか、シンクがより高速に実行されることを確認してください。

time=2016-05-09T05:58:28.866CDT | lvl=WARN | trans=1462791485-602-0000000000 | srv=papel-club | subsrv=events | function=intercept | comp=Cygnus | msg=com.telefonica.iot.cygnus.interceptors.GroupingInterceptor[135] : No context responses within the notified entity, nothing is done 
time=2016-05-09T05:58:28.867CDT | lvl=WARN | trans=1462791485-602-0000000000 | srv=papel-club | subsrv=events | function=doPost | comp=Cygnus | msg=org.apache.flume.source.http.HTTPSource$FlumeHTTPServlet[203] : Error appending event to channel. Channel might be full. Consider increasing the channel capacity or make sure the sinks perform faster. 
org.apache.flume.ChannelException: Unable to put batch on required channel: org.apache.flume.channel.MemoryChannel{name: ckan-channel} 
    at org.apache.flume.channel.ChannelProcessor.processEventBatch(ChannelProcessor.java:200) 
    at org.apache.flume.source.http.HTTPSource$FlumeHTTPServlet.doPost(HTTPSource.java:201) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:814) 
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) 
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401) 
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) 
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) 
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 
    at org.mortbay.jetty.Server.handle(Server.java:326) 
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) 
    at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945) 
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756) 
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) 
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) 
    at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228) 
    at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) 
Caused by: java.lang.IllegalArgumentException: put() called with null event! 
    at com.google.common.base.Preconditions.checkArgument(Preconditions.java:88) 
    at org.apache.flume.channel.BasicTransactionSemantics.put(BasicTransactionSemantics.java:89) 
    at org.apache.flume.channel.BasicChannelSemantics.put(BasicChannelSemantics.java:80) 
    at org.apache.flume.channel.ChannelProcessor.processEventBatch(ChannelProcessor.java:189) 
    ... 16 more 

エラーとして、私はチャネルメモリを増やしました。ここにエージェントの設定があります:

cygnusagent.sources = http-source 
cygnusagent.sinks = ckan-sink 
cygnusagent.channels = ckan-channel 

cygnusagent.sources.http-source.channels = ckan-channel 
cygnusagent.sources.http-source.type = org.apache.flume.source.http.HTTPSource 
cygnusagent.sources.http-source.port = 5050 
cygnusagent.sources.http-source.handler = com.telefonica.iot.cygnus.handlers.OrionRestHandler 
cygnusagent.sources.http-source.handler.notification_target = /notify 
cygnusagent.sources.http-source.handler.default_service = papel-club 
cygnusagent.sources.http-source.handler.default_service_path = /events 
cygnusagent.sources.http-source.handler.events_ttl = 5 
cygnusagent.sources.http-source.interceptors = ts gi 
cygnusagent.sources.http-source.interceptors.ts.type = timestamp 
cygnusagent.sources.http-source.interceptors.gi.type = com.telefonica.iot.cygnus.interceptors.GroupingInterceptor$Builder 
cygnusagent.sources.http-source.interceptors.gi.grouping_rules_conf_file = /usr/cygnus/conf/grouping_rules_day.conf 

cygnusagent.channels.ckan-channel.type = memory 
cygnusagent.channels.ckan-channel.capacity = 100000 
cygnusagent.channels.ckan-channel.transactionCapacity = 100000 

# ============================================ 
# OrionCKANSink configuration 
# channel name from where to read notification events 
cygnusagent.sinks.ckan-sink.channel = ckan-channel 

# sink class, must not be changed 
cygnusagent.sinks.ckan-sink.type = com.telefonica.iot.cygnus.sinks.OrionCKANSink 

# true if the grouping feature is enabled for this sink, false otherwise 
cygnusagent.sinks.ckan-sink.enable_grouping = true 

# true if lower case is wanted to forced in all the element names, false otherwise 
cygnusagent.sinks.hdfs-sink.enable_lowercase = false 

# the CKAN API key to use 
cygnusagent.sinks.ckan-sink.api_key = xxxx 

# the FQDN/IP address for the CKAN API endpoint 
cygnusagent.sinks.ckan-sink.ckan_host = ckan-demo.ckan.io 

# the port for the CKAN API endpoint 
cygnusagent.sinks.ckan-sink.ckan_port = 80 

# Orion URL used to compose the resource URL with the convenience operation URL to query it 
cygnusagent.sinks.ckan-sink.orion_url = http://localhost:1026 

# how the attributes are stored, either per row either per column (row, column) 
cygnusagent.sinks.ckan-sink.attr_persistence = column 

# enable SSL for secure Http transportation; 'true' or 'false' 
cygnusagent.sinks.ckan-sink.ssl = false 

# number of notifications to be included within a processing batch 
cygnusagent.sinks.ckan-sink.batch_size = 100 

# timeout for batch accumulation 
cygnusagent.sinks.ckan-sink.batch_timeout = 60 

# number of retries upon persistence error 
cygnusagent.sinks.ckan-sink.batch_ttl = 10 

ありがとうございます。

+2

この問題の原因はhttps://github.com/telefonicaid/fiware-cygnus/issues/953ですか? –

+2

はい、そうです。 – fgalan

答えて

1

当面は、NGSIv2はCygnusではサポートされていません。それはexpected to be implementedですが、まだスケジュールされていません。

EDIT:あなたはオリオンで/更新エンティティを作成するためにNGSIv2を使用している場合NGSIv1で通知を持つことができることノートも:

  • がNGSIv2を使用してサブスクリプションを作成しますNGSIv1操作
  • を使用してサブスクリプションを作成します。 attrsFormatlegacyに等しい操作です。より詳しい情報を見てくださいhere
関連する問題