文章目錄
- Linux下安裝Python環境
- 安裝依賴環境
- 下載升級版本的bison
- 解壓
- 進入bison安裝目錄執行配置腳本
- 編譯
- 安裝
- 下載python安裝環境(3.6更具兼容性)
- 解壓
- 進入python檔案夾,生成編譯腳本(指定安裝目錄)
- 編譯
- 安裝
- 建立軟連接,便于直接使用命令
- 驗證python3配置完畢
- 安裝thift
- 安裝python的thrift庫使支持Thrift協議
- 下載安裝thift依賴包
- 下載thift 0.9.3
- 解壓
- 進入thrift安裝目錄,執行配置腳本
- 編譯
- 安裝
- 生成thrift的python編譯版
- 下載hbase原始碼版
- 解壓
- 進入存有hbase.thrift的目錄下
- 使用thrift編譯hbase.thrift
- 拷貝gen-py目錄下的hbase目錄到python的安裝目錄里的site-packages目錄下
- 進入site-packages目錄下的hbase目錄,修改Hbase.py和constant.py檔案(python3需要)
- 啟動thrift服務
- 驗證是否啟動thrift服務
- thrfit使用問題匯總
實驗環境:CentOS6.7,Hadoop2.7.3,HBase1.2.5,zookeeper3.4.6
Linux下安裝Python環境
安裝依賴環境
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum -y install gcc
由于yum安裝的bison版本兼容性問題后面會出現報錯
checking for bison version >= 2.5… no
configure: error: Bison version 2.5 or higher must be installed on the system!
故需下載升級版本的bison
下載升級版本的bison
wget http://ftp.gnu.org/gnu/bison/bison-2.5.1.tar.gz
解壓
tar xvf bison-2.5.1.tar.gz
進入bison安裝目錄執行配置腳本
./configure
編譯
make
安裝
make install
下載python安裝環境(3.6更具兼容性)
https://www.python.org/ftp/python/
wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz
解壓
tar xvf Python-3.6.6.tgz
進入python檔案夾,生成編譯腳本(指定安裝目錄)
./configure --prefix=/usr/local/python3
編譯
make
安裝
make install

建立軟連接,便于直接使用命令
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
驗證python3配置完畢
python3 -V
pip3 -V

安裝thift
安裝python的thrift庫使支持Thrift協議
pip3 install thrift
下載安裝thift依賴包
yum install -y automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel openssl-devel
下載thift 0.9.3
wget http://apache.fayea.com/thrift/0.9.3/thrift-0.9.3.tar.gz
上面的無法鏈接時,用下邊的命令下載
wget http://mirrors.cnnic.cn/apache/thrift/0.9.3/thrift-0.9.3.tar.gz
解壓
tar xvf thrift-0.9.3.tar.gz
進入thrift安裝目錄,執行配置腳本
./configure
編譯
make
安裝
make install
生成thrift的python編譯版
下載hbase原始碼版
wget http://archive.apache.org/dist/hbase/1.2.5/hbase-1.2.5-src.tar.gz
解壓
tar xvf hbase-1.2.5-src.tar.gz
進入存有hbase.thrift的目錄下
cd hbase-1.2.5/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift/
使用thrift編譯hbase.thrift
thrift --gen py Hbase.thrift
拷貝gen-py目錄下的hbase目錄到python的安裝目錄里的site-packages目錄下
cp -r hbase /usr/local/python3/lib/python3.6/site-packages/
進入site-packages目錄下的hbase目錄,修改Hbase.py和constant.py檔案(python3需要)
from ttypes import *
改為
from hbase.ttypes import *
再次修改Hbase.py和ttypes.py檔案,然后找到該目錄后,將虛擬機檔案轉到本地主機,使用記事本打開檔案,按Ctrl+H快捷鍵,替換xrange為range和__dict__.iteritems為__dict__.items后保存
也可直接下載下面檔案覆寫修改Hbase.py,constants.py,ttypes.py檔案
下載鏈接
啟動thrift服務
hbase-daemon.sh start thrift
驗證是否啟動thrift服務

thrfit使用問題匯總
Pycharm無法連接本機hbase
使用本機pycharm連接虛擬機的hbase時,首先需要與虛擬機相互ping通,若未能ping通,可能是虛擬機的網路配接器和虛擬機不處于同一網段,需配置如下
步驟如下:





連接hbase時報錯

解決:
hbase沒有啟動thrift服務
hbase-dameon.sh start thrfit
使用metateRow()函式,插入行資料時報錯

解決:
Hbase表中需要已定義相應列族才能插入資料,需定義好后再插入
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/202893.html
標籤:其他
