這篇文章主要介紹了如何實現Ceph librados編程訪問,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
公司主營業務:網站設計、成都網站設計、移動網站開發等業務。幫助企業客戶真正實現互聯網宣傳,提高企業的競爭能力。成都創新互聯是一支青春激揚、勤奮敬業、活力青春激揚、勤奮敬業、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創新互聯推出特克斯免費做網站回饋大家。
我需要針對Ceph的對象存儲直接進行編程訪問,看看用網關和不用網關下的性能差別。基于gate-way進行訪問例子已經走通。現在 要測的是不走網關,用librados直接和Ceph集群打交道。
環境配置
1. Ceph集群:你要有一個已經配置好的Ceph集群,通過ceph -s可以看到集群的狀態。
2. 開發庫安裝 我的系統是CentOS6.5 采用如下命令安裝相關開發包(C/C++開發包)
sudo yum install librados2-devel
安裝成功后,你可以在/usr/include/rados路徑下看到相應的頭文件
示例程序
該實例程序來自官網,可參官網實例
http://docs.ceph.com/docs/master/rados/api/librados-intro/
#include <rados/librados.hpp> #include <string> #include <list> int main(int argc, const char **argv) { int ret = 0 ; // Get cluster handle and connect to cluster std::cout<<"ceph Cluster connect begin."<<std::endl; std::string cluster_name("ceph"); std::string user_name("client.admin"); librados::Rados cluster ; ret = cluster.init2(user_name.c_str(), cluster_name.c_str(), 0); if (ret < 0) { std::cerr << "Couldn't initialize the cluster handle! error ">
編譯指令
g++ -g -c cephclient.cxx -o cephclient.o g++ -g cephclient.o -lrados -o cephclient
結果輸出
[root@gnop029-ct-zhejiang_wenzhou-16-34 ceph-rados]# ./cephclient ceph Cluster connect begin. Created a cluster handle. Read the Ceph configuration file Succeed. Connected to the cluster. ceph Cluster connect end. ceph Cluster create io context for pool begin. Created an ioctx for the pool. ceph Cluster create io context for pool end. Write an object synchronously begin. Wrote new object 'hw' Write an object synchronously end. Object name: hw Content: Hello World! Object xattr: en_US List of pools from this cluster handle rbd pool-1 pool-2 .rgw .rgw.root .rgw.control .rgw.gc .rgw.buckets .rgw.buckets.index .log .intent-log .usage .users .users.email .users.swift .users.uid List of objects from this pool rb.0.d402.238e1f29.00000000ee00 rb.0.d402.238e1f29.000000015000 rb.0.d402.238e1f29.00000000fa2f rb.0.d402.238e1f29.00000001ac00 rb.0.d402.238e1f29.000000012000
接口說明
實例代碼中包含了主要的接口,有:
1. 集群句柄創建
2. 集群連接
3. IO上下文環境初始化
4. 對象讀寫
5. IO上下文環境關閉
6. 集群句柄關閉
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何實現Ceph librados編程訪問”這篇文章對大家有幫助,同時也希望大家多多支持創新互聯,關注創新互聯行業資訊頻道,更多相關知識等著你來學習!
新聞名稱:如何實現Cephlibrados編程訪問
分享地址:http://m.newbst.com/article42/gsejhc.html
成都網站建設公司_創新互聯,為您提供網站改版、建站公司、用戶體驗、移動網站建設、Google、網站設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯