我已经在EC2实例上安装并运行了cldwalker的无数据组的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}
我该怎么做才能使这项工作?
更新
我在EC2&#34;上找到了#34; Free Transactor。 Datomic Google Group中的主题:https://groups.google.com/d/msg/datomic/wBRZNyHm03o/0SdNhqjF27wJ
这是否意味着如果我的应用在同一台服务器上运行,我只能连接到Datomic-free?
如果我在linode或digitalocean上托管无Datomic,我是否会遇到同样的问题(无法从外部服务器访问数据库)?
提前感谢您的帮助!
答案 0 :(得分:0)
我遇到了一个非常类似的问题(“与HOST通信时出错” 在PORT 4334“)上,我所要做的就是重新启动我的电脑,奇怪的是。我想,在启动了一个本地交易器后,端口被捆绑了。再说一遍,你可能已经尝试过了。
答案 1 :(得分:0)