首页 文章

急于在我的Orion Context Broker上工作

提问于
浏览
3

我使用AWS部署了Orion Context Broker v0.20.0实例 . 我正试图在Fiware Lab Wirecloud Mashup的MapViewer小部件上显示一个实体 .

好像我在NGSI源操作员遇到了一些麻烦 . 我已配置它:

我像这样运行我的Conntext代理实例: contextBroker -port 1026 -logDir /var/log/contextBroker -pidpath /var/run/contextBroker/contextBroker.pid -dbhost localhost -db orion -t 0-255 -rush localhost:5001 ,它可以工作,但是当我接受运算符配置来创建订阅时,这就是我在Context Broker上读到的内容:

DEBUG@12:07:40  senderThread.cpp[47]: sending to: host='ngsiproxy.lab.fi-ware.org', port=443, verb=POST, tenant='', service-path: '', xauthToken: '', path='/callbacks/14:27:47-1:15:08:34-1', content-type: application/xml
DEBUG@12:07:40  sem.cpp[124]: transactionIdSet taking the 'trans' semaphore for 'changing the transaction id'
DEBUG@12:07:40  sem.cpp[126]: transactionIdSet has the 'trans' semaphore
DEBUG@12:07:40  sem.cpp[181]: transactionIdSet gives the 'trans' semaphore for 'changing the transaction id'
INFO@12:07:40  clientSocketHttp.cpp[154]: Starting transaction to ngsiproxy.lab.fi-ware.org:443/callbacks/14:27:47-1:15:08:34-1
DEBUG@12:07:40  clientSocketHttp.cpp[240]: HTTP-HEADERS: 'X-relayer-host: ngsiproxy.lab.fi-ware.org:443'
DEBUG@12:07:40  clientSocketHttp.cpp[247]: HTTP-HEADERS: 'X-relayer-protocol: https'
DEBUG@12:07:40  clientSocketHttp.cpp[260]: HTTP-HEADERS: 'User-Agent: orion/0.20.0 libcurl/7.19.7'
DEBUG@12:07:40  clientSocketHttp.cpp[268]: HTTP-HEADERS: 'Host: localhost:5001'
DEBUG@12:07:40  clientSocketHttp.cpp[305]: HTTP-HEADERS: 'Content-length: 1141'
DEBUG@12:07:40  clientSocketHttp.cpp[353]: Sending message 18 to HTTP server: sending message of 1370 bytes to HTTP server
WARNING@12:07:40  clientSocketHttp.cpp[358]: Notification failure for localhost:5001 (curl_easy_perform failed: Couldn't connect to server)
INFO@12:07:40  clientSocketHttp.cpp[375]: Transaction ended

我知道有一个类似的问题here,但到目前为止它还没有解决我的问题,也没有Orion文档 .

我非常感谢您提供的任何帮助 .

EDIT:

看起来匆忙不是事件安装,所以我做到了 .

但每次我尝试运行监听器时它都会给我这个错误:

time=2015-05-07T13:56:17.331Z | lvl=ERROR | op=RESPUSH BUCKET TASKS | msg=Error getting bucket elements | corr=N/A | trans=N/A | hostname=***** | component=retryBuckets | error=[Error: ERR unknown command 'evalsha']

现在,当我接受运算符时,这是跟踪:

-ORION:

DEBUG@15:04:28  senderThread.cpp[47]: sending to: host='ngsiproxy.lab.fi-ware.org', port=443, verb=POST, tenant='', service-path: '', xauthToken: '', path='/callbacks/13:35:20-1:18:05:22-1', content-type: application/xml
DEBUG@15:04:28  sem.cpp[124]: transactionIdSet taking the 'trans' semaphore for 'changing the transaction id'
DEBUG@15:04:28  sem.cpp[126]: transactionIdSet has the 'trans' semaphore
DEBUG@15:04:28  sem.cpp[181]: transactionIdSet gives the 'trans' semaphore for 'changing the transaction id'
INFO@15:04:28  clientSocketHttp.cpp[154]: Starting transaction to ngsiproxy.lab.fi-ware.org:443/callbacks/13:35:20-1:18:05:22-1
DEBUG@15:04:28  clientSocketHttp.cpp[240]: HTTP-HEADERS: 'X-relayer-host: ngsiproxy.lab.fi-ware.org:443'
DEBUG@15:04:28  clientSocketHttp.cpp[247]: HTTP-HEADERS: 'X-relayer-protocol: https'
DEBUG@15:04:28  clientSocketHttp.cpp[260]: HTTP-HEADERS: 'User-Agent: orion/0.20.0 libcurl/7.19.7'
DEBUG@15:04:28  clientSocketHttp.cpp[268]: HTTP-HEADERS: 'Host: localhost:5001'
DEBUG@15:04:28  clientSocketHttp.cpp[305]: HTTP-HEADERS: 'Content-length: 1141'
DEBUG@15:04:28  clientSocketHttp.cpp[353]: Sending message 1 to HTTP server: sending message of 1370 bytes to HTTP server
INFO@15:04:28  clientSocketHttp.cpp[364]: Notification Successfully Sent to localhost:5001/callbacks/13:35:20-1:18:05:22-1
INFO@15:04:28  clientSocketHttp.cpp[375]: Transaction ended

章24 -listener:

time=2015-05-07T15:08:12.803Z | lvl=INFO | op=RELAY REQUEST | msg=Relay Request received | corr=N/A | trans=N/A | hostname=Orion-Njoy | component=listener | userID='127.0.0.1' | reqInfo={ url: '/callbacks/13:35:20-1:18:09:06-1',  method: 'POST',  remoteAddress: '127.0.0.1',  headers:    { 'x-relayer-host': 'ngsiproxy.lab.fi-ware.org:443',     'x-relayer-protocol': 'https',     'x-relayer-proxy': undefined,     'x-relayer-retry': undefined,     'x-relayer-httpcallback': undefined,     'x-relayer-persistence': undefined,     'x-relayer-traceid': undefined,     'x-relayer-encoding': undefined,     'content-type': 'application/xml' },  responseTime: 1,  statusCode: 500,  bodyLength: 1141,  id:    { exceptionId: 'SVR1000',     exceptionText: 'Generic Server Error: Error: ERR unknown command \'evalsha\'' } }
time=2015-05-07T15:08:12.803Z | lvl=INFO | op=PERSISTENCE | msg=Persistence Completed | corr=N/A | trans=e1467620-f4ca-11e4-a50f-ebe0dffc0e2e | hostname=Orion-Njoy | component=evPersistence | userID='127.0.0.1' | state='error'

-消费者:

time=2015-05-07T13:56:17.331Z | lvl=ERROR | op=RESPUSH BUCKET TASKS | msg=Error getting bucket elements | corr=N/A | trans=N/A | hostname=Orion-Njoy | component=retryBuckets | error=[Error: ERR unknown command 'evalsha']

请问有什么想法吗?

EDIT 2:

由于回复,我设法让它工作 . 问题是我使用的是redis 2.4,它需要2.6或supperior版本 . 现在我可以在Map Viewer中看到我的实体 .

如果有人遇到同样的问题,请不要忘记install Rush并按照instructions安装Redis 2.6:

谢谢大家的帮助 .

2 回答

  • 1

    也许redis版本太旧了 . EVAL / EVALSHA命令在redis 2.6中引入 . 我会检查redis版本(> 2.6.0)

  • 2

    似乎代理无法连接到rush,在同一主机上运行并接受端口5001上的连接 . 你确定匆忙正在运行吗? (并且它在端口5001上?) . 代理不会在https本身中实现通知,但需要为此目的而急于求成 . 但是,当然,为了这个工作,必须赶紧跑...

相关问题