我无法为Lightbend conductor配置Docker VM.沙盒init抛出FileNotFoundError



我正在尝试Lighbend's condutr,目前正在设置沙盒。我按照他们网站上给出的说明,但我在"配置Docker VM"步骤中面临以下错误-当我尝试做沙箱init时:

shishir@shishir-VirtualBox:~/Lightbend$ sudo sandbox init
Warning: Docker has an insufficient no. of CPUs 1 - please increase to a minimum of 4 CPUs
Error: Encountered unexpected error.
Error: Reason: FileNotFoundError [Errno 2] No such file or directory: 'docker-machine'
Error: Further information of the error can be found in the error log file: /home/shishir/.conductr/errors.log
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/conductr_cli/main_handler.py", line 8, in run
    result = callback()
  File "/usr/local/lib/python3.5/dist-packages/conductr_cli/sandbox.py", line 6, in main_method
    sandbox_main.run()
  File "/usr/local/lib/python3.5/dist-packages/conductr_cli/sandbox_main.py", line 158, in run
    args.func(args)
  File "/usr/local/lib/python3.5/dist-packages/conductr_cli/sandbox_init.py", line 32, in init
    if is_docker_machine_installed():
  File "/usr/local/lib/python3.5/dist-packages/conductr_cli/sandbox_init.py", line 104, in is_docker_machine_installed
    terminal.docker_machine_help()
  File "/usr/local/lib/python3.5/dist-packages/conductr_cli/terminal.py", line 71, in docker_machine_help
    return subprocess.check_output(cmd, universal_newlines=True).strip()
  File "/usr/lib/python3.5/subprocess.py", line 626, in check_output
    **kwargs).stdout
  File "/usr/lib/python3.5/subprocess.py", line 693, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/usr/lib/python3.5/subprocess.py", line 947, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.5/subprocess.py", line 1551, in _execute_child
    raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: 'docker-machine'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/bin/sandbox", line 9, in <module>
    load_entry_point('conductr-cli==0.39', 'console_scripts', 'sandbox')()
  File "/usr/local/lib/python3.5/dist-packages/conductr_cli/sandbox.py", line 10, in run
    main_handler.run(main_method)
  File "/usr/local/lib/python3.5/dist-packages/conductr_cli/main_handler.py", line 31, in run
    handler = logging.handlers.RotatingFileHandler(DEFAULT_ERROR_LOG_FILE, maxBytes=3000000, backupCount=1)
  File "/usr/lib/python3.5/logging/handlers.py", line 150, in __init__
    BaseRotatingHandler.__init__(self, filename, mode, encoding, delay)
  File "/usr/lib/python3.5/logging/handlers.py", line 57, in __init__
    logging.FileHandler.__init__(self, filename, mode, encoding, delay)
  File "/usr/lib/python3.5/logging/__init__.py", line 1008, in __init__
    StreamHandler.__init__(self, self._open())
  File "/usr/lib/python3.5/logging/__init__.py", line 1037, in _open
    return open(self.baseFilename, self.mode, encoding=self.encoding)
FileNotFoundError: [Errno 2] No such file or directory: '/home/shishir/.conductr/errors.log'

我正在尝试在Ubuntu Virtual Box上运行它。以下是未命名的输出:

shishir@shishir-VirtualBox:~$ uname -a
Linux shishir-VirtualBox 4.4.0-45-generic #66-Ubuntu SMP Wed Oct 19 14:12:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

我已经按照说明安装了Docker和Python3。

我不确定是什么原因造成的问题,但似乎有一些东西在指南中失踪。

当前sandbox init命令需要安装docker-machine。在Linux上,情况并非如此。而是使用本地docker-engine。因此,这是一个错误,因此,sandbox init命令目前在Linux上不受支持。公关https://github.com/typesafehub/conductr-cli/pull/139正在解决这个问题。一旦合并了PR, sandbox init命令将在所有操作系统上得到支持。

然而,你不需要等到这个问题被修复。sandbox init命令只检查你想要运行传导的虚拟机,在你的情况下是Ubuntu虚拟机,有足够的资源来启动传导。所有其他命令都在Linux上工作。我建议使用至少有4个cpu和4gb内存的虚拟机。单独的传导不需要那么多资源,所以它高度依赖于你想在传导上运行什么,以及你想在你的VM中运行多少传导实例。一个传导核心节点本身的最大堆被设置为256 MB内存,传导代理节点的最大堆被设置为128 MB内存。

资源示例

  • 3个传导核心节点:768 MB
  • 3个传导代理节点:384mb
  • 传导总量:1152 MB

所以在4 GiB的情况下,你几乎有3 GiB的可用空间用于你想在传导上运行的服务,例如Lagom, Cassandra, Akka,其他Docker镜像

相关内容

  • 没有找到相关文章

最新更新