千家信息网

如何查看ceph中levelDB存储的数据

发表于:2024-11-15 作者:千家信息网编辑
千家信息网最后更新 2024年11月15日,这篇文章给大家分享的是有关如何查看ceph中levelDB存储的数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。这个程序用于查看ceph 中leveldb都存了些什么值
千家信息网最后更新 2024年11月15日如何查看ceph中levelDB存储的数据

这篇文章给大家分享的是有关如何查看ceph中levelDB存储的数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

这个程序用于查看ceph 中leveldb都存了些什么值 /var/lib/ceph/osd/ceph-1/current/omap ,把查询出来的结果存入levelDBFile.txt文件中。

#include #include #include #include #include "leveldb/db.h"#include "leveldb/env.h"#include "leveldb/write_batch.h"#include "leveldb/cache.h"using namespace std;int main(){    leveldb::DB* db;    leveldb::Options options;    options.create_if_missing = true;    leveldb::Status status = leveldb::DB::Open(options, "/var/lib/ceph/osd/ceph-1/current/omap", &db);    assert(status.ok());    ofstream outfile;    outfile.open("levelDBFile.txt",ios::out);    if(!outfile)    {        cout <<"Cannot open file!" << endl;        return 0;    }    leveldb::Iterator* it = db->NewIterator(leveldb::ReadOptions());    for (it->SeekToFirst(); it->Valid(); it->Next()) {      outfile << it->key().ToString() << " : "  << it->value().ToString() << endl << endl << endl;    }    outfile.close();    assert(it->status().ok());  // Check for any errors found during the scan    delete it;    delete db;    return 0;}
编译:g++ -I include/ leveldb.cc  -lleveldblevelDB只能一个进程去操作,执行./a.out程序时先停掉ceph进程。stop ceph-all./a.outstart ceph-allvi levelDBFile.txt:set nu:%!xxd

感谢各位的阅读!关于"如何查看ceph中levelDB存储的数据"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0