简体   繁体   English

deepstream.io重做并重新考虑未准备好

[英]deepstream.io redis & rethink not ready

I am trying to set up deepstream.io. 我正在尝试设置deepstream.io。 My goal is to have a 4 docker container: 我的目标是拥有4个Docker容器:

  • deepstream deepstream
  • the deepstream search 深层搜索
  • redis Redis的
  • rethink 反思

Redis as well as rethink are running and are accepting connections. Redis以及重新思考正在运行并正在接受连接。 Starting deepstream now states that the cache as well as the storage are not ready. 现在,启动Deepstream表示缓存以及存储尚未就绪。 I do not get why and what "dependency description provided" is supposed to tell me. 我不明白为什么以及“提供的依赖性描述”应该告诉我什么。

Why does deepstream not accept the connection? 为什么Deepstream不接受连接?

{
  "deepstreamVersion": "3.1.0",
  "gitRef": "2557412988b128b3331f6079ff1bd26b0b49302d",
  "buildTime": "Mon Sep 25 2017 14:42:10 GMT+0000 (UTC)",
  "platform": "linux",
  "arch": "x64",
  "nodeVersion": "v6.11.3",
  "libs": [
    "deepstream.io-cache-hazelcast:1.0.2",
    "deepstream.io-cache-memcached:1.0.0",
    "deepstream.io-cache-redis:1.1.0",
    "deepstream.io-logger-winston:1.1.0",
    "deepstream.io-storage-elasticsearch:1.0.1",
    "deepstream.io-storage-mongodb:1.1.0",
    "deepstream.io-storage-postgres:1.1.3",
    "deepstream.io-storage-rethinkdb:1.0.2"
  ]
}

Running deepstream start 运行deepstream start

      _                     _
   __| | ___  ___ _ __  ___| |_ _ __ ___  __ _ _ __ ____
  / _` |/ _ \/ _ \ '_ \/ __| __| '__/ _ \/ _` | '_ ` _  \
 | (_| |  __/  __/ |_) \__ \ |_| | |  __/ (_| | | | | | |
  \__,_|\___|\___| .__/|___/\__|_|  \___|\__,_|_| |_| |_|
                 |_|
 =====================   starting   =====================
INFO | State transition (start): Stopped -> LoggerInit
INFO | logger ready: std out/err
INFO | State transition (logger-started): LoggerInit -> PluginInit
INFO | deepstream version: 3.1.0
INFO | configuration file loaded from /etc/deepstream/config.yml
INFO | library directory set to: /var/lib/deepstream
INFO | authenticationHandler ready: none
INFO | permissionHandler ready: valve permissions loaded from /etc/deepstream/permissions.yml
INFO | cache ready: no dependency description provided
INFO | storage ready: no dependency description provided
INFO | State transition (plugins-started): PluginInit -> ServiceInit
INFO | State transition (services-started): ServiceInit -> ConnectionEndpointInit
iconv-lite warning: javascript files use encoding different from utf-8. See https://github.com/ashtuchkin/iconv-lite/wiki/Javascript-source-file-encodings for more info.
INFO | Listening for websocket connections on 0.0.0.0:6020/deepstream
INFO | Listening for health checks on path /health-check
INFO | connectionEndpoint ready: WebSocket Connection Endpoint
INFO | Listening for http connections on 0.0.0.0:8080
INFO | Listening for health checks on path /health-check
INFO | connectionEndpoint ready: HTTP connection endpoint
INFO | State transition (connection-endpoints-started): ConnectionEndpointInit -> Running
INFO | Deepstream started

The config file: 配置文件:

# General
# Show the deepstream logo on startup (highly recommended)
showLogo: true
# Log messages with this level and above. Valid levels are DEBUG, INFO, WARN, ERROR, OFF
logLevel: DEBUG
# Directory where all plugins reside
libDir: /var/lib/deepstream

# Connectivity
# webfacing URL under which this client is reachable. Used for loadbalancing / failover
externalUrl: null

# SSL Configuration
sslKey: null
sslCert: null
sslCa: null

# Connection Endpoint Configuration
# to disable, replace configuration with null eg. `http: null`
connectionEndpoints:
  websocket:
    name: uws
    options:
        # port for the websocket server
        port: 6020
        # host for the websocket server
        host: 0.0.0.0
        # url path websocket connections connect to
        urlPath: /deepstream
        # url path for http health-checks, GET requests to this path will return 200 if deepstream is alive
        healthCheckPath: /health-check
        # the amount of milliseconds between each ping/heartbeat message
        heartbeatInterval: 30000
        # the amount of milliseconds that writes to sockets are buffered
        outgoingBufferTimeout: 0

        # Security
        # amount of time a connection can remain open while not being logged in
        # or false for no timeout
        unauthenticatedClientTimeout: 180000
        # invalid login attempts before the connection is cut
        maxAuthAttempts: 3
        # if true, the logs will contain the cleartext username / password of invalid login attempts
        logInvalidAuthData: false
        # maximum allowed size of an individual message in bytes
        maxMessageSize: 1048576
  http:
    name: http
    options:
      # port for the http server
      port: 8080
      # host for the http server
      host: 0.0.0.0
      # allow 'authData' parameter in POST requests, if disabled only token and OPEN auth is
      # possible
      allowAuthData: true
      # enable the authentication endpoint for requesting tokens/userData.
      # note: a custom authentication handler is required for token generation
      enableAuthEndpoint: false
      # path for authentication requests
      authPath: /auth
      # path for POST requests
      postPath: /
      # path for GET requests
      getPath: /
      # url path for http health-checks, GET requests to this path will return 200 if deepstream is alive
      healthCheckPath: /health-check

      # -- CORS --
      # if disabled, only requests with an 'Origin' header matching one specified under 'origins'
      # below will be permitted and the 'Access-Control-Allow-Credentials' response header will be
      # enabled
      allowAllOrigins: true
      # a list of allowed origins
      origins:
        - 'https://example.com'

# Logger Configuration
# logger:
#   # use either the default logger
#   name: default
#    options:
#      colors: true
#      # value of logLevel (line 4) will always overwrite this value
#      logLevel: INFO

#   # or the winston logger
#   name: winston
#   options:
#     # specify a list of transports (console, file, time)
#     -
#       type: console
#       options:
#         # value of logLevel (line 4) will always overwrite this value
#         level: info
#         colorize: true
#     -
#       type: time
#       options:
#         filename: ../var/deepstream

#   # or a custom logger
#   path: ./my-custom-logger

# Plugin Configuration
plugins:
 cache:
   name: redis
   options:
     host: Redis-Redis-1
     port: 6379

 storage:
   name: rethinkdb
   options:
     host: rethinkdb-rethinkdb-proxy-1
     port: 28015
     splitChar: /

# Storage options
# a RegExp that matches recordNames. If it matches, the record's data won't be stored in the db
storageExclusion: null

auth:
  type: none

  # getting permissions from a http webhook
  # type: http
  # options:
  #   # a post request will be send to this url on every incoming connection
  #   endpointUrl: http://localhost:6004
  #   # any of these will be treated as access granted
  #   permittedStatusCodes: [ 200 ]
  #   # if the webhook didn't respond after this amount of milliseconds, the connection will be rejected
  #   requestTimeout: 2000

# Permissioning
permission:
  # Only config or custom permissionHandler at the moment
  type: config
  options:
    # Path to the permissionFile. Can be json, js or yml
    path: ./permissions.yml
    # Amount of times nested cross-references will be loaded. Avoids endless loops
    maxRuleIterations: 3
    # PermissionResults are cached to increase performance. Lower number means more loading
    cacheEvacuationInterval: 60000

# Timeouts (in milliseconds)
# Timeout for client RPC acknownledgement
rpcAckTimeout: 1000
# Timeout for actual RPC provider response
rpcTimeout: 10000
# Maximum time permitted to fetch from cache
cacheRetrievalTimeout: 1000
# Maximum time permitted to fetch from storage
storageRetrievalTimeout: 2000
# Plugin startup timeout – deepstream init will fail if any plugins fail to emit a 'done' event within this timeout
dependencyInitialisationTimeout: 10000
# The amount of time to wait for a provider to acknowledge or reject a listen request
listenResponseTimeout: 500
# The amount of time a broadcast will wait (to allow broadcast coalescing). -1 means disabled.
broadcastTimeout: 0
# A list of prefixes that, when a record is updated via setData and it matches one of the prefixes
# it will be permissioned and written directly to the cache and storage layers
# storageHotPathPatterns:
  # - analytics/
  # - metrics/

Redis PING 雷迪斯·平

ping Redis-Redis-1
PING redis-redis-1.rancher.internal (10.42.230.105): 56 data bytes
64 bytes from 10.42.230.105: icmp_seq=0 ttl=62 time=12.676 ms
64 bytes from 10.42.230.105: icmp_seq=1 ttl=62 time=12.751 ms
64 bytes from 10.42.230.105: icmp_seq=2 ttl=62 time=15.441 ms
64 bytes from 10.42.230.105: icmp_seq=3 ttl=62 time=12.838 ms
^C--- redis-redis-1.rancher.internal ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 12.676/13.427/15.441/1.164 ms

The message no dependency description provided just means that under the hood, the connector has no description property. 消息“ no dependency description provided仅表示在幕后,连接器没有description属性。

I'd recommend trying to set some data via a deepstream client and see if it is written to the database. 我建议尝试通过深流客户端设置一些数据,然后查看是否将其写入数据库。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM