Jor*_*Lee 4 amazon-web-services amazon-dynamodb
历史:我能够读取/写入我的本地 DynamoDB 环境。我遵循了用于下载和运行 DynamoDB 的 AWS 文档 [ http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html]
问题:我的计算机意外断电。现在,我在启动 DynamoDB 进程后收到以下错误
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
Run Code Online (Sandbox Code Playgroud)
错误信息:
Aug 23, 2017 3:52:42 PM com.almworks.sqlite4java.Internal log
WARNING: [sqlite] SQLiteQueue[shared-local-instance.db]: stopped abnormally, reincarnating in 3000ms
Aug 23, 2017 3:52:45 PM com.almworks.sqlite4java.Internal log
WARNING: [sqlite] cannot open DB[2]: com.almworks.sqlite4java.SQLiteException: [14] unable to open database file
Aug 23, 2017 3:52:45 PM com.almworks.sqlite4java.Internal log
SEVERE: [sqlite] SQLiteQueue[shared-local-instance.db]: error running job queue
com.almworks.sqlite4java.SQLiteException: [14] unable to open database file
at com.almworks.sqlite4java.SQLiteConnection.open0(SQLiteConnection.java:1480)
at com.almworks.sqlite4java.SQLiteConnection.open(SQLiteConnection.java:282)
at com.almworks.sqlite4java.SQLiteConnection.open(SQLiteConnection.java:293)
at com.almworks.sqlite4java.SQLiteQueue.openConnection(SQLiteQueue.java:464)
at com.almworks.sqlite4java.SQLiteQueue.queueFunction(SQLiteQueue.java:641)
at com.almworks.sqlite4java.SQLiteQueue.runQueue(SQLiteQueue.java:623)
at com.almworks.sqlite4java.SQLiteQueue.access$000(SQLiteQueue.java:77)
at com.almworks.sqlite4java.SQLiteQueue$1.run(SQLiteQueue.java:205)
at java.lang.Thread.run(Thread.java:748)
Run Code Online (Sandbox Code Playgroud)
尝试:这篇文章最接近我的错误,但它不涉及 DynamoDB,而是一些云日志等。 [ https://forums.aws.amazon.com/thread.jspa?threadID=165134]
关于如何纠正数据库文件的任何想法?
gfo*_*ier 13
正如 Zudhin 所建议的,这确实是一个权限问题/sf/answers/3719266281/
就我而言,我正在运行 Ubuntu,我发现的快速而肮脏的解决方案只是更改该卷的本地文件夹的权限:
sudo chmod 777 ./docker/dynamodb(前提是按照https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.DownloadingAndRunning.html后这是您的本地文件夹)
小智 11
这可能是一个许可问题。尝试更新权限。
sudo chown user dynamodb -R
chmod 775 -R dynamodb
Run Code Online (Sandbox Code Playgroud)
小智 9
对我来说使用 dockerdynamodb-local映像的最佳方法是将用户更改为root,这是我的部分docker-compose.yml文件:
version: '3.8'
services:
dynamodb-local:
image: amazon/dynamodb-local:latest
container_name: dynamodb-local
restart: unless-stopped
ports:
- "8000:8000"
user: root
volumes:
- ../tmp/dynamodb:/home/dynamodblocal/data
working_dir: /home/dynamodblocal
command: "-jar DynamoDBLocal.jar -sharedDb -dbPath ./data"
Run Code Online (Sandbox Code Playgroud)
快速解决方案是重新安装所有内容。
rm -rf <unzipped DynamoDB Local folder>
Run Code Online (Sandbox Code Playgroud)
然后,返回安装说明。 http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html
我对jar文件不熟悉。用新的jar文件替换它们就像重新安装一样?
| 归档时间: |
|
| 查看次数: |
5187 次 |
| 最近记录: |