標籤:
通過很長一段時間的反覆失敗,終於在windows下實現遠端連線hbase資料庫,在不斷的嘗試過程中深感一個詳細的文檔的重要性,於是就把我配置的詳細過程記錄下來。文中如果有些地方用詞不當,或者理解錯誤,歡迎您們評論。
一、運行平台
hbase伺服器端:Ubuntu 14.04 64位;HBASE1.1.3;JAVA 1.8;
hbase客服端:windows32/64位;JAVA1.8;eclipse 4.5;
二、linux伺服器端環境配置
1、 安裝java 1.8軟體
1)下載java軟體
註:如果系統軟體庫中沒有java1.8,則執行以下操作
$ sudo apt-get install software-properties-common
$ sudo apt-get install python-software-properties
上面兩個操作是下載Ubuntu下的基礎開發套件
$ sudo add-apt-repository ppa:webupd8team/java
2)安裝java 8
$ sudo apt-get update
$ sudo apt-get installoracle-java8-installer
3)驗證安裝的java版本
$ java –version 執行後會輸出java版本資訊
2、 安裝配置HBASE
1)下載hbase-1.1.3
網址http://mirrors.cnnic.cn/apache/hbase/1.1.3/hbase-1.1.3-bin.tar.gz
2)解壓
$tar xzf hbase-1.1.3-bin.tar.gz
$mv hbase-1.1.3 hbase 將解壓是檔案全部移至hbase目錄中
3)配置hbase單機模式
3.1為hbase指定JAVA_HOME
$ vim hbase/conf/hbase-env.sh
檔案中修改JAVA_HOME={java安裝目錄的路徑}
修改export HBASE_MANAGES_ZK=true,表示由hbase託管Zookeeper叢集,不需要單獨下載Zookeeper程式,然後自己去啟動。
3.2配置hbase-site.xml檔案
$ vim hbase/conf/hbase-site.xml
在檔案中<configuration></configuration>之間添加:
<property>
<name>hbase.rootdir</name>
<value>file:///<PATH>/hbase</value>
</property>
上面的意思是hbase資料庫將使用本地檔案系統作為資料備份以免伺服器掉電丟失。同時也可備份到HDFS檔案繫上。
3.3啟動hbase和hbase shell
$ cdhbase/bin
$./start-hbase.sh
$ ./hbase shell
啟動hbase shell 後可以根據內建的命令進行建表,插入資料等操作。然後開啟瀏覽器,輸入:localhost:16010 進入網頁可以看到hbase相關資訊。注意:連接埠是16010,不是官方文檔和大多數部落格裡面寫的60000,原因不詳,個人認為可能是因為官方文檔寫是是hbase 1.0之前的版本。如果不清楚自己下載的版本對應的master連接埠號碼,可以通過命令查看:$ netstat –nlp | grep java 。
3.3配置hostname以及hosts
由於需要進行誇平台遠程操作hbase資料庫,所以需要進一步配置。在/etc/hostname檔案中設定主機名稱,這個主機名稱就是hbase的Master啟動並執行主機名稱字,一般情況下直接就是預設名字。
在/etc/hosts檔案中,在沒有修改之前是:127.0.0.1 localhost
127.0.1.1 sobey(機器名)。如果不修改直接運行,通過命令:$ netstat –nlp | grep java 查看,可以看出Hbase運行在IP地址為127.0.1.1上,這是一個本地地址,如果需要區域網路內遠程操控,則需要修改127.0.1.1為機器的互連網IP地址,如:172.16.133.18。提醒:在/hbase/conf/regionservers檔案內容盡量不要修改,因為裡面放著hbase中節點啟動並執行機器網域名稱,單機環境下預設為localhost,它對應的也是本地的地址:127.0.0.1。
注意:hosts中機器名必須和hostname中機器名統一修改或
都不修改。
3.4 配置hbase的系統內容變數
為方便hbase的啟動或者關閉等操作,在系統內容變數中添加如下資訊:
$ vim ~/.bashrc
Export HBASE_HOME=<PATH>/hbase
Export HABSE_CONF_DIR=$HBASE_HOME/conf
Export HBASE_CLASS_PATH=$HBASE_CONF_DIR
Export PATH=$PATH:$HBASE_HOME/bin
編輯完後記住執行:source ~/.bashrc
到此,hbase伺服器端的配置已完成。
三、windows客服端配置
1、下載安裝java 1.8並且配置好環境變數。
1、下載安裝eclipse,最好為最新版。
2、下載hbase-1.1.3-bin.tat.gz並解壓。
3、客服端java程式設定
1)找到運行hbase程式所需要的jar包,這些檔案都在hbase解壓後的lib檔案夾裡面
2)將hbase檔案下conf檔案下的hbase-site.xml檔案拷貝一份,放入為其單獨建一個檔案夾中。
3)開啟eclipse軟體,建立工程,在工程中匯入外部依賴包(運行hbase所需的jar包),將單獨放有hbase-site.xml檔案的檔案夾也匯入java build path à Libraries中。
4)Windows下eclipse 遠端連線hbase程式的重要java程式
一般講這段程式放入java 類的建構函式中,以保證類中方法函數運行時程式是和服務端的hbase是串連的。在這段程式中IP就hbase服務端的互連網IP地址,2181是指zookeeper的連接埠,單機環境 下hbase運行是通過內建的zookeeper管理的,所以客服端想串連hbase,必須知道zookeeper的listen的連接埠號碼,預設環境下是2181連接埠。
5)Windows下hosts檔案
在win7下C:\Windows\System32\drivers\etc中找到hosts檔案,添加如下內容:172.16.133.18 sobey-XPS-M1330。其中,前半部分表示IP地址,後半部分表示機器名字,根據實際情況進行修改。
通過以上的配置和操作,接下來就可以在區域網路中任何一台PC上任何系統下遠程操作hbase資料庫。
提醒:如果是虛擬機器環境下,要注意IP的設定,由於需要區域網路其他PC串連到虛擬機器上,所以它的IP必須使區域網路內其他電腦都可以串連。在虛擬機器上點擊設定à網路介面卡à選中橋接模式,然後重啟。測試一下,通過命令:ifconfig,查看IP,然後通過區域網路內其他PC是否能夠ping通。
區域網路內任何一台pc上windows下eclipse遠端連線hbase資料庫