ホームページ  >  記事  >  バックエンド開発  >  HBase & thrift & C++▼_PHP チュートリアル

HBase & thrift & C++▼_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:59:471286ブラウズ

HBase & thrift & C++炂栫▼

HBase & thrift & C++▼_PHP チュートリアルHBase & thrift & C++炂栫▼.pdf婩鍜屽Thrift2 1

2.1.thrift2 1

2.2.Thrift2 1

2.3.マラリア hbase.thrift 2

4.thrift_helper.h3

5. ++ 私は HBase HBase 0.94 HBase HBase 0.94 thrift HBase HBase HBase HBase HBase HBase HBase HBase HBase HBase HBase HBase >hbase-1.1.2 hbase-1.1.2 hbase- を使用しています。 1.1.2 thrift-0.9.0 thrift-0.9.0 2.1.Thrift2thrift2?/span>hbase-daemon.shstartthrift2thrift2樿鄄卭洃钖鍙f槸9090锛屽彲浠ラ€氲tension鍙卛暟「?」 SPAN> -p ´´寚瀹瀹氩叾叾瀹幂€€卞粯卞粯Jiao鐢ㄧJiao

娉ㄦ暇瀹㈡埛绔小鐢ㄧ殑プロトコル鍜?/span>トランスポート鍜屾湇AGAIN(タイムアウト) AGAIN(タイムアウト)阌澾銆?

2.2.base-daemon.shstopthrift2

hbase- daemon.shstopthrift2

2.3.base-daemon.shstartthrift2 Ning︿ 相互妾弬鏁help

卙四暟钖?/span>

鏄惁樿

四暟科

-h、--助けて

min鎸囧畾鍦禁止潃潃甛屼絶嶆敮鎸?span>TNonblockingServer鍜?/span>THsHaServer锛屼袱袱Key呮€絵画槸汮综合椤'?/span>0.0.0.0'?/span>

❤️涶浠モ€?/span>-f濥惎锷?/span>hbasethrift2銆?/span>

钖﹀垯瀹㈡埛绔湪璋卂椤镞讹纴鍙兘浼氶亣鍒 Pull€淓AGAIN( Timedout ocs /org/apache/hadoop/hbase/thrift2/package-summary.html銆?

浠ヤ笂鍙曛暟涓嶆槸缁?span>hbase-daemon.sh雳椤曃囃€屾槸琚? /span>hbasethrift2Huancuan椛屽彲浠ユ祻诺堢浉鍏昆虫簮浠g爜朜 WuВ缁woo妭锛?/span>

hbase-thriftsrcmainjavaorgapachehadoophbasethrift2ThriftServer .java

hbase-thrifts rcmainjavaorgapachehadoophbasethrift2ThriftHBaseServiceHandler.java

?Hbase-daemon.shstartthrift2--framed-nonblocking

3.hbase.thrift

hbaser.thriftHbase-daemon.shstartthrift2--framed-nonblocking hbase-1.1.2 hbase.thrift hbase.thrift hbase.thrift涓婂fan瀹夎 /span>thrift span>thrift--gencpp-out.hbase.thrift涓枃浠讹精品

THBaseService.h

THBaseService.cpp

hbase_types.h

hbase_types.cpp

hbase_con立っています。 h

hbase_constants.cpp

鍏多腑渚鍏多腑渚涘鎴风huanthrift_helper.h /github.com/eyjian/mooon/blob/master/common_library/include/mooon/net/thrift_helper.h唛屽畠鍙相互平和姪绠€鍖栧HBasethrift2鄄勮皟鐢元気です

//thrift瀹㈡埛绔緟锷╃被

//

//フアンクロス敤绀淥甛?/span>

//mooon::net::CThriftClientHelperclient(rpc_server_ip) ,rpc_server_port );

//try

//{

//client.connect();

//client->foo();

-p,--port

9090

缁戝鎸囧畾绔彛岄粯璁やnegative9090

-f,--framed

TframedTransport

-c,--compact

Huancuan敤TCompactProtocol锛岄粯璁ゆ槸TBinaryProtocol

-threadpool

鏄?/span>

framedTransport TNonblockingServer

-hsha

寓敤瀹絵幇浜?span> framedTransport鄄?/span>THsHaServer

//}//catch(apache::thrift: :transport::TTransportException&ex)

//{

//MYLOG_ERROR("thriftException:(% d)%sn",ex.getType(),ex.what());

//}

// catch(apache::thrift::transport::TApplicationException&ex)

//{

// MYLOG_ERROR("thriftException:%sn",ex.what());

//}

//catch(apache ::thrift::TException&ex)

//{

//MYLOG_ERROR("thriftException:% sn",ex.what());

//}

//Transport鄄ら粯璁ょTframedTransport(TBufferTransports) .h)雃它缮鍙€夋嫨锛?/span>

//TBufferedTransport (TBufferTransports.h)

//THttpTransport

//TZlibTransport

//TFDTransport(TSimpleFileTransport)

//

//プロトコル旄ら粯璁ょ殑apache::thrift::protocol::TBinaryProtocol锛它缮鍙€夋嫨锛?/span>

//TCompactProtocol

//TJSONProtocol

//TDebugProtocol

template

classProtocol=apache::thrift::protocol::TBin aryProtocol,

classTransport =apache::thrift::transport::TframedTransport>

classCThriftClientHelper

5.绀轰緥浠g爜

//HBasethrift2C++缂栫▼绀轰緥

#include"&&BaseService.h"

#include 64

#include

#include

#include

//鐨凾ransport鍜孭rotocol缺陷佸拰hbasethrift2链嶅姟楽しい缭鎸佷竴鑷达紝

//鍚﹀垯璋幂敤鏃孭紝鍴鍙兘砧叾瀹冮敊璇紒锛侊紒

//

//杩愯涔嫔墠锛岃閫氳岃閫氳绷HBaseshell鍒涘缓濂借〃锛涘歝'cate'f2'歝'cate'

//鎴栨寚瀹氱增链暟锛歝reate'test',{NAME=>'cf1',VERSIONS= >2},{NAME=>'cf2',VERSIONS=>3}

//鍒犻櫎琛紝鎸夐『搴忔墽琛屼互涓嬩袱鏉Baseshell 鍛造リング保護锛? /span>

//「テスト」を無効にする

STRING_ARG_DEFINE(hbase_ip,"192.168.0.1","hbasethriftip");

INTEGER_ARG_DEFINE(uint16_t,hbase_port,9090, 1000,"

);0倹約

intmain(intargc,char*argv[] )

{

std::stringerrmsg;

if(!mooon::utils::parse_arguments(argc,argv,&errmsg))

{

fprintf(stderr, "%s str ());

退出(1);

}

usingnamespaceapache;

uint16_thbase_port=mooon::argument::hbase_port->value();

mooon::net:: CThriftClientHelperhbase_ip🜎🜎

);

{

hbase_client.connect();//杩炴帴hbasethrift2server

fprintf(stdout,"connect%s:%dokn",h)ベースIP。 c_str(),hbase_port);

st=":stringtablest=" ";//辰ㄥ悕锛檄'淇濊刺琛屼箣鍓嶅凡鍒涘缓濂?/span>

std::stringrowkey ="row1";//琛孠ey

std::stringfamily= "cf1";//渚嬫棌鍚?/span>

std::stringcolumnname="f1";//渚嫔悕

std ::stringcolumnvalue="value1";//渚嫔€?/span>

//鎻掑叆鍙傛暟璁ストーリー疆

std::vectorcolumns_value(1) );

叆鍙傛暟璁ストーリー疆

std::vectorcolumns_value(1);

叆鍙傛暟璁_value [0].__set_qualifier(columnname);

columns_value [0].__set_value(columnvalue);

hbase::thrift2::TPutput; ;

hbase_client->put(tablename,put);//鎻掑叆锛屽嚭閿欐姏Liao傚父hbase ::thrift2::TIOError

//釗暃ヨ

hbase::thrift2::TGetinput;

input.__set_row(rowkey);

hbase_client->get(result,tablename,input);/ /鏌ヨ锛屽嚭閿欐姏寮傚父hbase::thrift2::TIOError

ボ損傷灉

for(inti=0;i(result.columnValues.size()) ;++i)

{

consthbase::thrift2::TColumnValue&column_column_value_ref=result.i

fprintf(stdout,"family[%s]/qualifier[%s]/timestamp[%"PRIu64"]:%sn" 、column_value_ref.family.c_str()、

column_value_ref.qualifier.c_str()、column_ref.timestamp、

column_value_ref.value.c_str();

}} ::TIOError&ex)

{

n .what());

}

catch(apache::thrift::transport::TTransportException&ex)

{

//濡傛灉鍜屾湇鍔$ 魶sport鐨凾凾凾屾湇鍔$魅sport鐨凾凾岃繖阅殑閿殑閿殑閿殑閿分鏄€淓AGAIN(タイムアウト)'?/span>

fprintf (標準エラー、 "(%d)%sn",ex.getType(),ex.what());

}

catch(apache::thrift::TApplicationException&ex)

{

fprintf(stderr,"%sn") ,ex.what());

fprintf(stderr,"%sn",ex.what());

}

return0;

}

http://www.bkjia.com/PHPjc/1096388.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/1096388.html🜎技術記事

HBase C++缂栫▼hbase thrift c ++ ..

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。