【发布时间】:2015-01-01 07:11:12
【问题描述】:
我想知道如何让 neo4j 与 Google Compute Engine 一起工作。有人做过吗?你遇到了什么问题?
【问题讨论】:
标签: python neo4j google-compute-engine
我想知道如何让 neo4j 与 Google Compute Engine 一起工作。有人做过吗?你遇到了什么问题?
【问题讨论】:
标签: python neo4j google-compute-engine
给你,
gcloud
gcloud compute ssh INSTANCE_NAME --zone AVAILABLE_ZONES --> AVAILABLE_ZONES
neo4j - 您可能需要安装 java(Fix) 和 lsof(修复:apt-get install lsof)。(可选),添加neo4j https support
将 neo4j 端口 7474 列入白名单(更多关于 Networking and Firewalls)
从github添加安全用户名:密码
gcloud compute firewall-rules create neo4j --network default --allow tcp:7474
./bin/neo4j start
http://IP_ADDRESS:7474/
py2neo 安装并启动服务器,尝试一些 pycode 来测试它>> from py2neo.neo4j import GraphDatabaseService, CypherQuery
>> # Set up a link to the local graph database.
>> # When () left blank defaults to http://localhost:7474/db/data/
>> graph = GraphDatabaseService('http://IP_ADDRESS:7474/db/data/')
>> CypherQuery(graph, "CREATE (n {name:'Example'}) RETURN n;").execute()
以上python设置/代码,你也可以在GAE中使用。
from py2neo import neo4j
GRAPH_DB = neo4j.GraphDatabaseService(
'http://uname:psswd@localhost:7474/db/data/')
if IS_PROD:
GRAPH_DB = neo4j.GraphDatabaseService(
'http://uname:psswd@host:port/db/data/')
def _execute(query):
"""Execute all neo4j queries and return list of Record objects.
Returns:
Returns list of Record objects.
"""
try:
result = neo4j.CypherQuery(GRAPH_DB, query).execute()
# logging.info(result.data)
return result
except neo4j.CypherError as error:
logging.error(error.exception)
except DeadlineExceededError as dead:
logging.warn(dead)
except urlfetch_errors.InternalTransientError as tra_error:
logging.warn(tra_error)
except httplib.HTTPException as exp:
logging.warn(exp)
except neo4j.http.SocketError as soc:
logging.warn(soc)
【讨论】:
最简单最安全的方法是使用docker neo4j image
这是docker docs,用于在谷歌计算引擎上安装和部署
【讨论】: