Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure 从AWS外部连接到托管在EC2上的datomic free实例?_Clojure_Amazon Ec2_Datomic - Fatal编程技术网

Clojure 从AWS外部连接到托管在EC2上的datomic free实例?

Clojure 从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

我已经在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 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}