【问题标题】:Connecting to a datomic-free instance hosted on EC2 from outside AWS?从 AWS 外部连接到托管在 EC2 上的无原子实例?
【发布时间】:2014-12-11 05:17:34
【问题描述】:

我已经在 EC2 实例上安装并运行了 cldwalker 的 datomic-free receipe https://github.com/cldwalker/datomic-free

;=> System started datomic:free://{EC2 private IP address}:4334/<DB-NAME>, 
;   storing data in: data

我的free-transactor.properties 文件如下所示:

protocol=free
host={EC2 private IP address}
port=4334
h2-port=4335
h2-web-port=4336

我想从 EC2 外部连接数据库:

(require '[datomic.api :as d]) 

(def uri "datomic:free://{EC2 public IP address}:4334/om_async?h2-
port=4335&h2-web-port=4336&aws_secret_key={xxx}&aws_access_key_id={yyy}")

(d/create-database uri)

但我明白了:

clojure.lang.ExceptionInfo: Error communicating with HOST 
{EC2 private IP address} on PORT 4334 :: {:timestamp 1418304487036, 
:host "{EC2 private IP address}", :version "0.9.5078", :port 4334, 
:username "{XXX}", :peer-version 2, :alt-host nil, :password "{YYY}", 
:encrypt-channel true}

我应该怎么做才能完成这项工作?

更新:

我在 Datomic Google Group 中找到了“EC2 上的 Free Transactor”线程:https://groups.google.com/d/msg/datomic/wBRZNyHm03o/0SdNhqjF27wJ

这是否意味着如果我的应用在同一台服务器上运行,我只能连接到无 Datomic?

如果我将 Datomic-free 托管在 linode 或 digitalocean 上,我是否会遇到同样的问题(无法从外部服务器访问数据库)?

提前感谢您的帮助!

【问题讨论】:

  • 您是否检查了您的 EC2 安全组设置以确保端口 4335 暴露在公共网络中?
  • 我不记得原因,但我记得有时端口号可能会发生变化和移动
  • @daniula 谢谢。它确实有效,但现在我收到此错误:“java.lang.RuntimeException:在目录中找不到 om_async”有什么想法吗?我在上面更新了我的帖子。

标签: clojure amazon-ec2 datomic


【解决方案1】:

我遇到了一个非常相似的问题(“与 HOST 通信时出错 在端口 4334") 上,我所要做的就是重新启动我的计算机,奇怪的是。我认为在启动本地事务后端口被绑定的东西。再说一遍,你可能已经尝试过了。

【讨论】:

  • 我当时尝试过,但没有取得多大成功。您说您已经在 AWS 上安装并设置了一个 Datomic 免费实例,并且可以在您计算机上本地托管的应用程序中使用它?这太棒了!如果,纯属偶然,您准备好在博客文章或 github 自述文件中分享您所经历的步骤,那将非常有价值:-D
  • 我可以这样做 :D 但首先,我注意到的一件事是你写了“protocol=free”。我从来没有这样做过,即使我没有使用 Datomic 的付费版本(实际上,我使用的是 Datomic Pro Starter Edition,所以这可能对你没有帮助)。您使用“protocol=free”的任何原因?它可能会破坏连接。
  • 我也不必在地址中使用 h2-port 或 h2-web-port。
  • 是的,我想我应该试试专业版。我不确定它是否总是免费的。 (1 年?)无论如何,谢谢你的回答 :-)
  • 没问题!对不起,我不能帮助你更多:)
【解决方案2】:

要允许远程对等方访问嵌入式存储,您必须做三件事:

  • 为嵌入式存储选择两个密码
  • 设置存储访问属性
  • 为对等方使用的连接 URI 添加密码

看看这个link

【讨论】:

    猜你喜欢
    • 2015-02-14
    • 2016-09-22
    • 2018-05-13
    • 2011-10-19
    • 1970-01-01
    • 2018-01-03
    • 2016-08-24
    • 1970-01-01
    • 2019-12-04
    相关资源
    最近更新 更多