Azure में बाज़ार की खोज की और Neo4j उच्च उपलब्धता क्लस्टर स्थापित किया

और वर्तमान में 3 vm's . का क्लस्टर चल रहा है

डंप/लोड का परीक्षण करने की कोशिश कर रहा है और मुझे त्रुटि मिली है:

~$ neo4j-admin dump --database=graph.db --to=graph.dump
org.neo4j.commandline.admin.CommandFailed: you do not have permission to dump the 
database -- is Neo4j running as a different user?
        at org.neo4j.commandline.dbms.DumpCommand.execute(DumpCommand.java:100)
        at org.neo4j.commandline.admin.AdminTool.execute(AdminTool.java:127)
        at org.neo4j.commandline.admin.AdminTool.main(AdminTool.java:51)
Caused by: org.neo4j.commandline.dbms.CannotWriteException: Could not write to: 
/var/lib/neo4j/data/databases/graph.db/store_lock
        at org.neo4j.commandline.dbms.StoreLockChecker.check(StoreLockChecker.java:84)
        at org.neo4j.commandline.dbms.DumpCommand.execute(DumpCommand.java:86)
        ... 2 more
command failed: you do not have permission to dump the database -- is Neo4j running 
as a different user?

क्या मुझे तीनों VM को बंद कर देना चाहिए? अगर ऐसा है, तो मैं वह कैसे करू?

डंप/लोड मैनुअल यह स्पष्ट नहीं करता है कि डीबी को कैसे बंद किया जाए या क्लस्टर में कौन सा वीएम (तीनों या सिर्फ प्राथमिक) को बंद किया जाना चाहिए। https://neo4j.com/docs/operations-manual/current /टूल्स/डंप-लोड/

2
Jeffrey Goines 25 अगस्त 2018, 03:05

2 जवाब

त्रुटि-लॉग स्पष्ट रूप से सुझाव देते हैं कि आप संभवतः गलत उपयोगकर्ता ('व्यवस्थापक' भूमिका वाले उपयोगकर्ता से भिन्न उपयोगकर्ता) के साथ डेटाबेस डंप/लोड कर रहे हैं:

"आपके पास डेटाबेस को डंप करने की अनुमति नहीं है - क्या Neo4j एक अलग उपयोगकर्ता के रूप में चल रहा है?"

आप इन आदेशों को किस उपयोगकर्ता के रूप में चला रहे हैं? संभवत: आप इस प्रकार एक विवेक जांच कर सकते हैं:

CALL dbms.showCurrentUser()
+---------------------+
| username    | flags |
+---------------------+
| "johnsmith" | []    |
+---------------------+

सभी Neo4j उपयोगकर्ताओं को सूचीबद्ध करने के लिए, आप कोशिश कर सकते हैं:

CALL dbms.security.listUsers()
+---------------------------------------------------------------------+
| username | roles                     | flags                        |
+---------------------------------------------------------------------+
| "neo4j"  | ["admin"]                 | []                           |
| "anne"   | []                        | ["password_change_required"] |
| "bill"   | ["reader"]                | ["is_suspended"]             |
| "john"   | ["architect","publisher"] | []                           |
+---------------------------------------------------------------------+

यदि आपका वर्तमान उपयोगकर्ता neo4j नहीं है (या व्यवस्थापक भूमिका वाला कोई अन्य उपयोगकर्ता - जैसा कि आपने मार्केट प्लेस सेवाओं का उपयोग किया है, तो एक अलग उपयोगकर्ता हो सकता है) तो उपयुक्त उपयोगकर्ता का उपयोग करके स्विच करें:

$neo4j-home> bin/cypher-shell -u neo4j -p secret

इसके अलावा, एक "ऑनलाइन" बैकअप करने और एक चल रहे Neo4j सर्वर से पुनर्स्थापित करने के लिए, आप आधिकारिक दस्तावेज़ीकरण के निम्नलिखित अनुभाग का उल्लेख कर सकते हैं: https://neo4j.com/docs/operations-manual/current/backup

ऑफ़लाइन बैकअप के लिए (जिसका आप प्रयास कर रहे हैं), सबसे पहले आपको डीबी डंप को निम्नानुसार लेना होगा:

$neo4j-home> bin/neo4j-admin dump --database=MyNewDB.db --to=/backups/JeffreyGoinesDB.dump
$neo4j-home> ls /backups/
$neo4j-home> JeffreyGoinesDB.dump

डंप को फिर से Neo4j में लोड करते समय, पहले आपको डेटाबेस को बंद करना होगा (VM नहीं) निम्नानुसार है:

$neo4j-home> bin/neo4j stop
Stopping Neo4j.. stopped
$neo4j-home> bin/neo4j-admin load --from=/backups/JeffreyGoinesDB.dump --database=MyNewDB.db --force

आशा है कि इससे सहायता मिलेगी!!

0
Amit Verma 29 अगस्त 2018, 13:45

यदि यह एक विंडोज़ बिल्ड है, तो टर्मिनल को प्रशासक के रूप में लॉन्च करने का प्रयास करें और उसी कमांड का उपयोग करें। यदि यह एक लिनक्स बिल्ड है, तो सूडो के साथ अपना कमांड शुरू करने का प्रयास करें। जैसा कि अनुरोध कुछ महीने पहले का है, कृपया विवरण साझा करें यदि आप अन्य माध्यमों से अपनी समस्या का समाधान करने में सक्षम थे।

लिनक्स पर

~$ sudo neo4j-admin dump --database=graph.db --to=graph.dump
0
Raj006 22 जिंदा 2019, 07:12