2012年6月16日土曜日

備忘録:CentOSを日本語環境へ

  • さくらVPS
  • CentOS 6.2
  1. 日本語環境用のパッケージ追加
  2. # yum -y groupinstall "Japanese Support"

    既に入っていた。
  3. 設定ファイル編集
  4. # vi /etc/sysconfig/i18n

    <変更前>
    LANG="C"
    <変更後>
     LANG="ja_JP.UTF-8"
  5. 設定反映
  6. # source /etc/sysconfig/i18n
    # echo $LANG
    ja_JP.UTF-8

おわり

2012年6月8日金曜日

HBaseとThriftとPython

CentOS上でThrift使ってPythonでHBaseアクセス。
  • HadoopディストリビューションはCDH3u3
  1. thriftインストール
  2. http://thrift.apache.org/docs/install/centos/
  3. hbase-thriftインストール
  4. yum使います。
    # yum install hadoop-hbase-thrift
  5. CDHのパッケージにはThriftの定義体がないので以下からソースダウンロード
  6. http://www.apache.org/dyn/closer.cgi/hbase/
  7. Hbase.thrift(Thriftの定義体)を作業ディレクトリにコピー
  8. # cp {hadoopのソースコード展開ディレクトリ}/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift {作業ディレクトリ}

    ついでに作業ディレクトリに移動。
    # cd {作業ディレクトリ}
  9. thriftによるpythonモジュールの生成
  10. # thrift --gen py Hbase.thrift
  11. クライアントのコードを書く
  12. # cd gen-py
    # vi hbaseClient.py

    hbaseClient.py
    import sys
    sys.path.append('./gen-py')
    
    from thrift.transport.TSocket import TSocket
    from thrift.transport.TTransport import TBufferedTransport
    from thrift.protocol import TBinaryProtocol
    from hbase import Hbase
    
    transport=TBufferedTransport(TSocket('localhost', 9090))
    transport.open()
    protocol=TBinaryProtocol.TBinaryProtocol(transport)
    client=Hbase.Client(protocol)
    
    print(client.getTableNames())
    
  13. 実行
  14. #service hadoop-hbase-thrift start
    # python hbaseClient.py
    ['usertable']
    

おわり