【问题标题】:memsql_platform.network.state.primary_state.primary_poll: Failed to lookup local agentmemsql_platform.network.state.primary_state.primary_poll:查找本地代理失败
【发布时间】:2015-10-20 00:42:35
【问题描述】:

我正在尝试按照说明在 RHEL 6 机器上以离线模式安装 MemSQL 4.1.7: http://docs.memsql.com/latest/setup/offline/

在第 3 步中,memsql-ops start 命令完成并显示以下错误消息

    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 Web 界面,它抱怨“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 或者是否需要其他一些依赖项?

【问题讨论】:

  • MemSQL Ops 命令行通过向 127.0.0.1:9000 发送 API 请求来工作。当您访问 Web UI 时,它使用相同的 API,但它会将请求发送到 http://:9000。因此,Web UI 有效但命令行无效这一事实表明,您的计算机上可能正在使用 127.0.0.1 运行某些东西。 curl -X POST -i 127.0.0.1:9000/api/v1/ping 的输出是什么? curl -X POST -i &lt;the IP address of your server&gt;:9000/api/v1/ping 怎么样?
  • curl -X POST -i 127.0.0.1:9000/api/v1/ping 给我一个“拒绝访问”页面和 curl -X POST -i :9000 /api/v1/ping 给了我“pong”当我做 memsql-ops start 时我必须指定 --host 吗??
  • 您可能正在运行使用端口 9000 的其他程序。您是否有任何 Web 服务器或其他任何东西在这台机器上运行?
  • 是的,机器上运行着网络服务器,但它们独立于端口 9000。我做了一个 netstat -tulpn 并验证了它。
  • 好吧,你应该弄清楚是什么进程正在创建你所看到的拒绝访问页面并尝试将其关闭。显然,有什么东西正在产生这种输出,所以一旦你找到它,你应该能够阻止它。您也可以尝试使用 memsql-ops start --port 9001 在不同的端口上启动 MemSQL Ops。

标签: singlestore


【解决方案1】:

正如@Wayne Song 在 cmets 中指出的那样。 MemSQL Ops 命令行通过向 127.0.0.1:9000 发送 API 请求来工作

因此,如果您的服务器位于公司防火墙内,则对 127.0.0.1 的请求可能无法通过。所以在 no_proxy 中加入 127.0.0.1 就解决了这个问题。

您可以在命令行中将其设置为:

export no_proxy=127.0.0.1

【讨论】:

    猜你喜欢
    • 2018-10-10
    • 1970-01-01
    • 2020-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-25
    • 1970-01-01
    相关资源
    最近更新 更多