jjzjj

redis - deepstream.io redis 和 rethink 还没有准备好

coder 2023-07-19 原文

我正在尝试设置 deepstream.io。我的目标是拥有一个 4 docker 容器:

  • 深入研究
  • 深度搜索
  • redis
  • 反射(reflection)

Redis 和 Rethink 正在运行并正在接受连接。现在启动 deepstream 表明缓存和存储还没有准备好。我不明白为什么以及“提供的依赖项描述”应该告诉我什么。

为什么 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"
  ]
}

运行 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

配置文件:

# 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 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

最佳答案

消息 no dependency description provided 只是意味着在引擎盖下,连接器没有 description 属性。

我建议尝试通过 deepstream 客户端设置一些数据,看看它是否被写入数据库。

关于redis - deepstream.io redis 和 rethink 还没有准备好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47367224/

有关redis - deepstream.io redis 和 rethink 还没有准备好的更多相关文章

  1. ruby - 难道Lua没有和Ruby的method_missing相媲美的东西吗? - 2

    我好像记得Lua有类似Ruby的method_missing的东西。还是我记错了? 最佳答案 表的metatable的__index和__newindex可以用于与Ruby的method_missing相同的效果。 关于ruby-难道Lua没有和Ruby的method_missing相媲美的东西吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7732154/

  2. ruby-on-rails - rails 目前在重启后没有安装 - 2

    我有一个奇怪的问题:我在rvm上安装了ruby​​onrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(

  3. ruby - 在没有 sass 引擎的情况下使用 sass 颜色函数 - 2

    我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re

  4. 没有类的 Ruby 方法? - 2

    大家好!我想知道Ruby中未使用语法ClassName.method_name调用的方法是如何工作的。我头脑中的一些是puts、print、gets、chomp。可以在不使用点运算符的情况下调用这些方法。为什么是这样?他们来自哪里?我怎样才能看到这些方法的完整列表? 最佳答案 Kernel中的所有方法都可用于Object类的所有对象或从Object派生的任何类。您可以使用Kernel.instance_methods列出它们。 关于没有类的Ruby方法?,我们在StackOverflow

  5. ruby-on-rails - Rails 3,嵌套资源,没有路由匹配 [PUT] - 2

    我真的为这个而疯狂。我一直在搜索答案并尝试我找到的所有内容,包括相关问题和stackoverflow上的答案,但仍然无法正常工作。我正在使用嵌套资源,但无法使表单正常工作。我总是遇到错误,例如没有路线匹配[PUT]"/galleries/1/photos"表格在这里:/galleries/1/photos/1/edit路线.rbresources:galleriesdoresources:photosendresources:galleriesresources:photos照片Controller.rbdefnew@gallery=Gallery.find(params[:galle

  6. ruby-on-rails - 有没有办法为 CarrierWave/Fog 设置上传进度指示器? - 2

    我在Rails应用程序中使用CarrierWave/Fog将视频上传到AmazonS3。有没有办法判断上传的进度,让我可以显示上传进度如何? 最佳答案 CarrierWave和Fog本身没有这种功能;你需要一个前端uploader来显示进度。当我不得不解决这个问题时,我使用了jQueryfileupload因为我的堆栈中已经有jQuery。甚至还有apostonCarrierWaveintegration因此您只需按照那里的说明操作即可获得适用于您的应用的进度条。 关于ruby-on-r

  7. ruby - 没有类方法获取 Ruby 类名 - 2

    如何在Ruby中获取BasicObject实例的类名?例如,假设我有这个:classMyObjectSystem我怎样才能使这段代码成功?编辑:我发现Object的实例方法class被定义为returnrb_class_real(CLASS_OF(obj));。有什么方法可以从Ruby中使用它? 最佳答案 我花了一些时间研究irb并想出了这个:classBasicObjectdefclassklass=class这将为任何从BasicObject继承的对象提供一个#class您可以调用的方法。编辑评论中要求的进一步解释:假设你有对象

  8. ruby - 没有轨道的 ActiveRecord 时区 - 2

    我在非Rails项目中使用ActiveRecord。在Rails中,我可以这样做:config.time_zone='EasternTime(US&Canada)'config.active_record.default_timezone='EasternTime(US&Canada)'但如果我不使用rails,我该如何设置时区? 最佳答案 ActiveRecord::Base.default_timezone='EasternTime(US&Canada)' 关于ruby-没有轨道的A

  9. ruby-on-rails - 没有这样的文件或目录 - 用 Mini Magick 识别 - 2

    在我让另一个人重做我的前端UI之前,我的Rails应用程序运行平稳。我已经尝试解决此错误3天了。这是错误:Nosuchfileordirectory-identifyExtractedsource(aroundline#59):575859606162@post=Post.find(params[:id])authorize@postif@post.update_attributes(post_params)flash[:notice]="Postwasupdated."redirect_to[@topic,@post]else{"utf8"=>"✓","_method"=>"patc

  10. ruby-on-rails - 没有参数的 `<<`(小于两倍)是什么意思? - 2

    我在一个我想在formtasticGem中覆盖的方法中找到了这个。该方法如下所示:defto_htmlinput_wrappingdohidden_field_html是什么意思?在第三行做什么?我知道它对数组有什么作用,但在这里我不知道。 最佳答案 你可以这样读:hidden_field_htmllabel_with_nested_checkbox是连接到hidden_​​field_html末尾的参数-为了“清晰”,他们将其分成两行 关于ruby-on-rails-没有参数的`

随机推荐