Назад | Перейти на главную страницу

Выключение сервера Redis на EC2: больше не может подключаться rq worker, а Elastic Beanstalk не подключается

Вчера я успешно настроил сервер Redis на AWS EC2 и смог подключить к нему рабочих rq и запустить приложение Flask, отправляющее ему процессы с моей локальной машины. Сегодня я успешно запустил онлайн свое приложение, отдельно используя Elastic Beanstalk.

Однако сегодня я заметил, что мой сервер Redis тем временем перестал работать. Мне потребовалось время, чтобы восстановить его; Мне пришлось перезапустить свой экземпляр EC2, и он больше не запускается при запуске sudo service redid-server start из командной строки; он просто говорит «Запуск redis-server:» и больше не отвечает. Я могу запустить redis с помощью redis-start, но затем, когда я попытаюсь подключить к нему рабочих rq, используя rq worker simulator --url redis://{url}, Я получаю следующее сообщение об ошибке:

redis.exceptions.ResponseError: DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients.

Однако защищенный режим НЕ включен в моем файле конфигурации, у меня он установлен на protected-mode no. Моя привязка установлена ​​на частный IP-адрес экземпляра EC2, на котором он работает. Я попытался полностью удалить привязку, а также добавить 172.0.0.1 и 0.0.0.0, но я не решаюсь изменить его, потому что мне потребовалось много времени, чтобы заставить его работать в первую очередь, и это НЕ должно измениться со вчерашнего дня.

Кроме того, как только я получил резервную копию сервера redis, я попытался запустить процесс из онлайн-приложения, запущенного из другого EC2 в Elastic Beanstalk, но он не смог вернуть внутреннюю ошибку сервера. Я не ожидал, что это сработает, потому что нет работающих rq-воркеров, но я думал, что это просто остановится. Соединение с сервером Redis должно быть запущено через процесс Thread. В моих журналах отображается следующая ошибка:

[Sat Sep 07 17:40:35.372989 2019] [:error] [pid 27325] [remote 172.31.93.149:23109] Traceback (most recent call last):
[Sat Sep 07 17:40:35.372991 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]   File "/opt/python/run/venv/local/lib/python3.6/site-packages/redis/connection.py", line 185, in _read_from_socket
[Sat Sep 07 17:40:35.372997 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]     raise socket.error(SERVER_CLOSED_CONNECTION_ERROR)
[Sat Sep 07 17:40:35.372999 2019] [:error] [pid 27325] [remote 172.31.93.149:23109] OSError: Connection closed by server.
[Sat Sep 07 17:40:35.373002 2019] [:error] [pid 27325] [remote 172.31.93.149:23109] 
[Sat Sep 07 17:40:35.373004 2019] [:error] [pid 27325] [remote 172.31.93.149:23109] During handling of the above exception, another exception occurred:
[Sat Sep 07 17:40:35.373006 2019] [:error] [pid 27325] [remote 172.31.93.149:23109] 
[Sat Sep 07 17:40:35.373009 2019] [:error] [pid 27325] [remote 172.31.93.149:23109] Traceback (most recent call last):
[Sat Sep 07 17:40:35.373011 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]   File "/opt/python/run/venv/local/lib/python3.6/site-packages/flask/app.py", line 2446, in wsgi_app
[Sat Sep 07 17:40:35.373014 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]     response = self.full_dispatch_request()
[Sat Sep 07 17:40:35.373028 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]   File "/opt/python/run/venv/local/lib/python3.6/site-packages/flask/app.py", line 1951, in full_dispatch_request
[Sat Sep 07 17:40:35.373031 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]     rv = self.handle_user_exception(e)
[Sat Sep 07 17:40:35.373034 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]   File "/opt/python/run/venv/local/lib/python3.6/site-packages/flask/app.py", line 1820, in handle_user_exception
[Sat Sep 07 17:40:35.373037 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]     reraise(exc_type, exc_value, tb)
[Sat Sep 07 17:40:35.373039 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]   File "/opt/python/run/venv/local/lib/python3.6/site-packages/flask/_compat.py", line 39, in reraise
[Sat Sep 07 17:40:35.373042 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]     raise value
[Sat Sep 07 17:40:35.373045 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]   File "/opt/python/run/venv/local/lib/python3.6/site-packages/flask/app.py", line 1949, in full_dispatch_request
[Sat Sep 07 17:40:35.373047 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]     rv = self.dispatch_request()
[Sat Sep 07 17:40:35.373050 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]   File "/opt/python/run/venv/local/lib/python3.6/site-packages/flask/app.py", line 1935, in dispatch_request
[Sat Sep 07 17:40:35.373053 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]     return self.view_functions[rule.endpoint](**req.view_args)
[Sat Sep 07 17:40:35.373056 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]   File "/opt/python/current/app/application/routes.py", line 449, in processing
[Sat Sep 07 17:40:35.373058 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]     th = Thread(target=launch_simulator())
[Sat Sep 07 17:40:35.373061 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]   File "/opt/python/current/app/application/tasks.py", line 21, in launch_simulator
[Sat Sep 07 17:40:35.373064 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]     job = queue.enqueue('application.tasks.full_simulator')
[Sat Sep 07 17:40:35.373066 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]   File "/opt/python/run/venv/local/lib/python3.6/site-packages/rq/queue.py", line 336, in enqueue
[Sat Sep 07 17:40:35.373069 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]     at_front=at_front, meta=meta
[Sat Sep 07 17:40:35.373072 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]   File "/opt/python/run/venv/local/lib/python3.6/site-packages/rq/queue.py", line 286, in enqueue_call
[Sat Sep 07 17:40:35.373074 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]     job = self.enqueue_job(job, at_front=at_front)
[Sat Sep 07 17:40:35.373077 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]   File "/opt/python/run/venv/local/lib/python3.6/site-packages/rq/queue.py", line 362, in enqueue_job
[Sat Sep 07 17:40:35.373082 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]     pipe.execute()
[Sat Sep 07 17:40:35.373085 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]   File "/opt/python/run/venv/local/lib/python3.6/site-packages/redis/client.py", line 3535, in execute
[Sat Sep 07 17:40:35.373087 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]     return execute(conn, stack, raise_on_error)
[Sat Sep 07 17:40:35.373090 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]   File "/opt/python/run/venv/local/lib/python3.6/site-packages/redis/client.py", line 3405, in _execute_transaction
[Sat Sep 07 17:40:35.373093 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]     self.parse_response(connection, '_')
[Sat Sep 07 17:40:35.373096 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]   File "/opt/python/run/venv/local/lib/python3.6/site-packages/redis/client.py", line 3479, in parse_response
[Sat Sep 07 17:40:35.373098 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]     self, connection, command_name, **options)
[Sat Sep 07 17:40:35.373101 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]   File "/opt/python/run/venv/local/lib/python3.6/site-packages/redis/client.py", line 789, in parse_response
[Sat Sep 07 17:40:35.373104 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]     response = connection.read_response()
[Sat Sep 07 17:40:35.373106 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]   File "/opt/python/run/venv/local/lib/python3.6/site-packages/redis/connection.py", line 637, in read_response
[Sat Sep 07 17:40:35.373109 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]     response = self._parser.read_response()
[Sat Sep 07 17:40:35.373112 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]   File "/opt/python/run/venv/local/lib/python3.6/site-packages/redis/connection.py", line 290, in read_response
[Sat Sep 07 17:40:35.373115 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]     response = self._buffer.readline()
[Sat Sep 07 17:40:35.373117 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]   File "/opt/python/run/venv/local/lib/python3.6/site-packages/redis/connection.py", line 224, in readline
[Sat Sep 07 17:40:35.373120 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]     self._read_from_socket()
[Sat Sep 07 17:40:35.373123 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]   File "/opt/python/run/venv/local/lib/python3.6/site-packages/redis/connection.py", line 199, in _read_from_socket
[Sat Sep 07 17:40:35.373125 2019] [:error] [pid 27325] [remote 172.31.93.149:23109]     (e.args,))
[Sat Sep 07 17:40:35.373130 2019] [:error] [pid 27325] [remote 172.31.93.149:23109] redis.exceptions.ConnectionError: Error while reading from socket: ('Connection closed by server.',)

Возможно, здесь что-то не так, и я не знаю, с чего начать. Что заставило бы мой сервер Redis отключиться со вчерашнего дня; как только я начну, разве он не должен оставаться в рабочем состоянии почти бесконечно?

Я новичок в этом и борюсь с этим. Я использую Python на компьютере Mac под управлением Linux EC2.