Clojure 从AWS外部连接到托管在EC2上的datomic free实例?
我已经在EC2实例上安装并运行了cldwalker的datomic free receipeClojure 从AWS外部连接到托管在EC2上的datomic free实例?,clojure,amazon-ec2,datomic,Clojure,Amazon Ec2,Datomic,我已经在EC2实例上安装并运行了cldwalker的datomic free receipe ;=> System started datomic:free://{EC2 private IP address}:4334/<DB-NAME>, ; storing data in: data 我想从EC2外部连接数据库: (require '[datomic.api :as d]) (def uri "datomic:free://{EC2 public IP add
;=> System started datomic:free://{EC2 private IP address}:4334/<DB-NAME>,
; storing data in: data
我想从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组中找到了“EC2上的免费事务处理程序”线程:
这是否意味着如果我的应用程序在同一台服务器上运行,我只能免费连接到Datomic
如果我在linode或digitalocean上免费托管Datomic,我会有同样的问题吗(无法从外部服务器访问db)
提前感谢您的帮助 我遇到了一个非常类似的问题(“与主机通信时出错”)
在端口4334“)上,我所要做的就是重新启动我的计算机,这真是太奇怪了。我认为,在启动本地事务处理程序后,端口被占用。同样,您可能已经尝试过了。要允许远程对等方访问嵌入式存储,您必须做三件事:
- 为嵌入式存储选择两个密码
- 设置存储访问属性
- 向对等方使用的连接URI添加密码
查看此您是否检查了EC2安全组设置,以确保端口4335暴露于公共网络?我记不起原因,但我记得有时端口号可能会更改并移动一个端口bit@daniula非常感谢。它确实起作用了,但现在我遇到了一个错误:“java.lang.RuntimeException:在目录中找不到om_async”知道吗?我在上面更新了我的帖子。我曾经尝试过,但没有成功。你说你已经在AWS上安装并设置了一个Datomic免费实例,并且可以在你计算机上本地托管的应用程序中使用它?太好了!如果纯粹出于偶然,您准备在博客帖子或github自述中分享您所经历的步骤,这将是非常有价值的:-DI可能会这么做:D但首先,我注意到您编写了“protocol=free”。我从来没有这样做过,即使我没有使用Datomic的付费版本(事实上,我使用的是Datomic Pro入门版,所以这些可能对你都没有帮助)。你使用“协议=免费”的原因是什么?这可能会搞乱连接。我也从来不用在地址中使用h2端口或h2 web端口。是的,我想我应该试试专业版。但我不确定它是否总是免费的。(1年?)无论如何,谢谢你的回答:-)没问题!对不起,我帮不了你更多:)
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}