memsql_platform.network.state.primary_state.primary_poll: не удалось выполнить поиск локального агента

Я пытаюсь установить MemSQL 4.1.7 на компьютер с RHEL 6 в автономном режиме, следуя инструкциям: http://docs.memsql.com/latest/setup/offline/

На шаге 3 команда запуска memsql-ops завершается со следующим сообщением об ошибке.

    memsql-ops-4.1.7 > memsql-ops/memsql-ops start
    Starting MemSQL Ops...
    Exception in thread Thread-7:
    Traceback (most recent call last):
    File "/usr/local/updated-openssl/lib/python3.4/threading.py", line 921, in _bootstrap_inner
    File "/usr/local/updated-openssl/lib/python3.4/threading.py", line 869, in run
    File "/memsql_platform/memsql_platform/agent/daemon/manage.py", line 198, in startup_watcher
    File "/memsql_platform/memsql_platform/network/api_client.py", line 32, in call
    File "/usr/local/updated-openssl/lib/python3.4/site-packages/simplejson/__init__.py", line 501, in loads
    File "/usr/local/updated-openssl/lib/python3.4/site-packages/simplejson/decoder.py", line 370, in decode
    File "/usr/local/updated-openssl/lib/python3.4/site-packages/simplejson/decoder.py", line 400, in raw_decode
simplejson.scanner.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

После этого я могу получить доступ к веб-интерфейсу MemSQL Ops, и он жалуется: «MemSQL Ops не может подключиться к серверам загрузки MemSQL» и предлагает мне добавить двоичные файлы. Следовательно, я выполнил шаг 5 инструкции и получил эту ошибку.

    memsql-ops > memsql-ops file-add -t memsql memsqlbin_amd64.tar.gz
    Traceback (most recent call last):
    File "/usr/local/updated-openssl/lib/python3.4/site-packages/cx_Freeze/initscripts/Console.py", line 27, in <module>
    File "/memsql_platform/bin/memsql-ops", line 18, in <module>
    File "/memsql_platform/memsql_platform/agent/cli/client.py", line 197, in parse
    File "/memsql_platform/memsql_platform/agent/cli/command_file_add.py", line 27, in run
    File "/memsql_platform/memsql_platform/agent/cli/file_add_mixin.py", line 58, in add_file
    File "/memsql_platform/memsql_platform/network/api_client.py", line 32, in call
    File "/usr/local/updated-openssl/lib/python3.4/site-packages/simplejson/__init__.py", line 501, in loads
    File "/usr/local/updated-openssl/lib/python3.4/site-packages/simplejson/decoder.py", line 370, in decode
    File "/usr/local/updated-openssl/lib/python3.4/site-packages/simplejson/decoder.py", line 400, in raw_decode
simplejson.scanner.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

=====================================

Это memsql-ops.log

2015-10-19 17:05:37,667 [INFO] memsql_platform.agent.daemon.daemon: Binding to xx.xx.xx.xx:9000
2015-10-19 17:05:38,458 [INFO] memsql_platform.network.engine: Ready.
2015-10-19 17:05:38,462 [ERROR] memsql_platform.network.state.primary_state.primary_poll: Failed to lookup local agent
2015-10-19 17:05:38,483 [INFO] memsql_platform.analytics.engine: Ready.
2015-10-19 17:05:38,505 [INFO] memsql_platform.topology.engine: Ready.
2015-10-19 17:05:38,509 [INFO] memsql_platform.spark.engine: Ready.
2015-10-19 17:05:38,518 [INFO] memsql_platform.user_intent.intention_manager: Ready.
2015-10-19 17:05:38,521 [INFO] memsql_platform.user_intent.intention_manager: Checking 1 active intentions
2015-10-19 17:05:38,533 [INFO] memsql_platform.usage_statistics.engine: Ready.
2015-10-19 17:05:38,537 [INFO] memsql_platform.benchmark.engine: Ready.
2015-10-19 17:05:38,551 [INFO] memsql_platform.cluster.engine: Ready.
2015-10-19 17:05:38,580 [INFO] memsql_platform.files.engine: Ready.
2015-10-19 17:05:38,632 [INFO] memsql_platform.jobs.engine: Ready.
2015-10-19 17:05:38,636 [INFO] memsql_platform.jobs.job_requeuer: Ready.
2015-10-19 17:05:42,974 [INFO] memsql_platform.network.web_socket_handler: Received websocket connection from xx.xx.xx.xx
2015-10-19 17:13:03,553 [INFO] memsql_platform.network.web_socket_handler: Closed websocket connection with xx.xx.xx.xx due to [1001] None
2015-10-19 17:13:03,573 [INFO] memsql_platform.network.web_server: 304 GET / (xx.xx.xx.xx) 1.19ms
2015-10-19 17:13:03,895 [INFO] memsql_platform.network.web_socket_handler: Received websocket connection from xx.xx.xx.xx
2015-10-19 17:13:18,714 [INFO] memsql_platform.network.web_socket_handler: Closed websocket connection with xx.xx.xx.xx due to [1001] None

Кто-нибудь может подтвердить, работает ли MemSQL 4.1.7 с RHEL 6 или для него требуются какие-то другие зависимости?


person trips    schedule 20.10.2015    source источник
comment
Командная строка MemSQL Ops работает, отправляя запросы API на адрес 127.0.0.1:9000. Когда вы посещаете веб-интерфейс, он использует тот же API, но отправляет запросы на http://‹имя хоста вашего сервера›:9000. Таким образом, тот факт, что веб-интерфейс работает, но не работает командная строка, указывает на то, что на вашем компьютере, вероятно, запущено что-то, использующее 127.0.0.1. Каков результат curl -X POST -i 127.0.0.1:9000/api/v1/ping? Как насчет curl -X POST -i <the IP address of your server>:9000/api/v1/ping?   -  person Wayne Song    schedule 20.10.2015
comment
curl -X POST -i 127.0.0.1:9000/api/v1/ping дает мне страницу с отказом в доступе, а curl -X POST -i ‹IP-адрес вашего сервера›:9000/api/v1/ping дает мне pong Do Я должен указать --host при запуске memsql-ops ??   -  person trips    schedule 20.10.2015
comment
Вероятно, вы используете какую-то другую программу, использующую порт 9000. У вас есть какие-либо веб-серверы или что-то еще, работающее на этой машине?   -  person Wayne Song    schedule 20.10.2015
comment
Да, на машине работают веб-серверы, но они не зависят от порта 9000. Я сделал netstat -tulpn и проверил его.   -  person trips    schedule 20.10.2015
comment
Что ж, вы должны выяснить, какой процесс создает страницу отказа в доступе, которую вы видите, и попытаться закрыть ее. Очевидно, что-то производит этот вывод, поэтому, как только вы его отследите, вы сможете его остановить. Вы также можете попробовать запустить MemSQL Ops на другом порту с memsql-ops start --port 9001.   -  person Wayne Song    schedule 20.10.2015
comment
@WayneSong Я сделал `export no_proxy=127.0.0.1`, и теперь это работает! Спасибо.   -  person trips    schedule 21.10.2015


Ответы (1)


Как отметил @Wayne Song в комментариях. Командная строка MemSQL Ops работает, отправляя запросы API на 127.0.0.1:9000.

Поэтому, если ваш сервер находится внутри корпоративного брандмауэра, есть вероятность, что запрос на 127.0.0.1 может не пройти. Поэтому добавление 127.0.0.1 к no_proxy решило эту проблему.

вы можете установить это в командной строке как:

export no_proxy=127.0.0.1
person trips    schedule 20.10.2015