当前位置: 首页 > 面试题库 >

无法连接到托管的Redis:就绪检查失败:不允许进行ERR操作

司徒志
2023-03-14
问题内容

我正在尝试连接到通过Nodejitsu设置的IrisCouch上的托管Redis。

认为 是server.js的相关部分:

var redisUrl = require('url').parse(config.REDIS_CONNECTION_URI);
var client = require('redis').createClient(redisUrl.port, redisUrl.hostname);

我还没有在server.js中与客户端进行 任何
交互,这就是为什么我认为它抛出“不允许的操作”很奇怪,因为基本上我唯一要做的操作就是连接。我没有redis.conf文件,并且我相信我不需要该文件,因为我自己没有托管redis实例

日志:

 Express server listening on port 3000

/Users/soroushhakami/dev/projects/projectx/node_modules/redis/index.js:504
                throw callback_err;
                      ^
Error: Ready check failed: ERR operation not permitted
    at RedisClient.on_info_cmd (/Users/soroushhakami/dev/projects/projectx/node_modules/redis/index.js:317:35)
    at Command.RedisClient.ready_check.send_anyway [as callback] (/Users/soroushhakami/dev/projects/projectx/node_modules/redis/index.js:365:14)
    at RedisClient.return_error (/Users/soroushhakami/dev/projects/projectx/node_modules/redis/index.js:500:25)
    at ReplyParser.RedisClient.init_parser (/Users/soroushhakami/dev/projects/projectx/node_modules/redis/index.js:260:14)
    at ReplyParser.EventEmitter.emit (events.js:96:17)
    at ReplyParser.send_error (/Users/soroushhakami/dev/projects/projectx/node_modules/redis/lib/parser/javascript.js:293:10)
    at ReplyParser.execute (/Users/soroushhakami/dev/projects/projectx/node_modules/redis/lib/parser/javascript.js:176:22)
    at RedisClient.on_data (/Users/soroushhakami/dev/projects/projectx/node_modules/redis/index.js:476:27)
    at Socket.<anonymous> (/Users/soroushhakami/dev/projects/projectx/node_modules/redis/index.js:79:14)
    at Socket.EventEmitter.emit (events.js:96:17)

关于可能是什么问题的任何想法?


问题答案:

client.auth()创建客户端后,您需要直接致电:

var client = require('redis').createClient(redisUrl.port, redisUrl.hostname);
client.auth(PASSWORD);

令人困惑的是,当你不叫.auth()client ,但没有别的要么 ,你会得到一个失败的准备检查错误。



 类似资料:
  • 我在[本教程]后面有个问题(https://hub.docker.com/r/microsoft/mssql-server-linux/)我试图通过sqlcmd连接到docker托管的MSSQL。 我从windows在PowerShell中执行了以下操作: 注意:添加了“-it”和“/bin/bash”,因为如果没有检测到任何活动,docker将自动停止。 我运行了docker container

  • 我对战备探测很困惑。假设我使用httpGet和/health作为探测endpoint。一旦就绪检查返回500,服务器将停止服务流量。那么/healthendpoint如何工作呢?换句话说,一旦准备状态检查失败,它怎么能再工作,因为它不再能够对未来/健康检查做出响应? 我想一个有效的解释是路径是在本地调用的?(即不通过HTTPS:${ip and port}/health)

  • 我试图确保在db容器启动并准备接受连接之前,我的应用程序容器不会运行迁移/启动。 所以我决定使用healthcheck并依赖于docker compose file v2中的选项。 在应用程序中,我有以下内容 另一方面,db有以下健康检查 我尝试了一些方法,比如: 确保创建了db目录 获取mysql版本: Ping管理员(将db容器标记为正常,但似乎不是有效的测试) 有人有解决办法吗?

  • 我正在做一个Android Studio项目,有几个活动。我目前正在尝试读取localhost上的Java Servlet的输出,但它似乎由于套接字权限而崩溃。 我做了一个新的项目,使用了完全相同的代码,工作很完美。所以我不明白为什么不愿意在我的项目上工作。 我希望它读取数据,但它在这一行崩溃: 这是错误输出:

  • 问题内容: 我正在尝试在docker centos7映像上安装ambari 2.6,但是在ambari设置步骤中以及恰好初始化Postgresql db时,我收到此错误: 无法获得D-Bus连接:不允许操作 每次尝试在docker映像上运行服务时,都会遇到此错误。 我尝试了网络中的所有解决方案,但没有任何效果。 有谁知道如何解决这个问题? 先感谢您 问题答案: 使用此命令 docker run -

  • 我尝试使用Flyway6.0.beta2BaseJavaMigration和Mysql 出于某种原因,我得到了一个错误 无法回滚事务java.sql.sqlnontransientConnectionException:连接关闭后不允许任何操作。 原因是什么