Ubuntu: GlusterFS+HBase安裝教程
HBase通常安裝在Hadoop HDFS上,但也可以安裝在其他實現了Hadoop檔案介面的分散式檔案系統上,如KFS。glusterfs是一個叢集檔案系統可擴充套件到幾peta-bytes。它集合了各種儲存在infiniband rdma或互連成一個大型並行網路檔案系統。儲存可以由任何商品等硬體x86_64伺服器和sata-ii和infiniband HBA。GlusterFS比Hadoop HDFS可以提供更高的效能,HBase也因此可以獲得更高的效能。將HBase安裝在GlusterFS上,是可行的。該方案經實際驗證通過,以此文以記之。
GlusterFS是Scale-Out儲存解決方案Gluster的核心,它是一個開源的分散式檔案系統,具有強大的橫向擴充套件能力,通過擴充套件能夠支援數PB儲存容量和處理數千客戶端。GlusterFS藉助TCP/IP或InfiniBand RDMA網路將物理分佈的儲存資源聚集在一起,使用單一全域性名稱空間來管理資料。GlusterFS基於可堆疊的使用者空間設計,可為各種不同的資料負載提供優異的效能。
一、前提條件
安裝環境為Virtual BOX虛擬機器,作業系統為Ubuntu Server 64 14.04。安裝使用者為bigdata.
1、伺服器列表
192.168.8.108 bigdata1
192.168.8.110 bigdata2
2、修改Hosts
sudo vi /etc/hosts
192.168.8.108 bigdata1
192.168.8.110 bigdata2
3、SSH配置
sudo su - root
passwd
輸入 admin
允許root使用SSH口令登入:
sudo vi /etc/ssh/sshd_config
# Authentication:
LoginGraceTime 120
#PermitRootLogin without-password #找到這裡,把它註釋
PermitRootLogin
yes
#改為yes 然後重啟ssh
StrictModes
yes
#Tips:這裡注意/etc/init.d/ssh restart 用這個方式重啟是不成功的。
SSH配置:
bigdata1:
#ssh-keygen -t rsa -P ""
#cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#chmod 600 ~/.ssh/authorized_keys
#scp ~/.ssh/authorized_keys root@bigdata2:~/.ssh/
4、Java安裝配置
下載最新版 jdk64-bit版 (jdk-7u45-linux-x64.tar.gz)
下載 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
tar -zxvf jdk-7u51-linux-x64.tar.gz
sudo mv jdk1.7.0_51 /usr/share
設定環境變數
sudo vi /etc/profile
在檔案的最後面增加:
export JAVA_HOME=/usr/share/jdk1.7.0_51
export JRE_HOME=/usr/share/jdk1.7.0_51/jre
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
儲存,source /etc/profile
5、防火牆解除安裝
sudoapt-get remove iptables
二、GlusterFS安裝
1、安裝GlusterFS
sudo apt-get install glusterfs-server
sudo glusterfsd –version
2、建立目錄
sudo mkdir -p /data/gluster
3、建立卷
sudo gluster volume create gluster_vol replica 2 transport tcp bigdata1:/data/gluster bigdata2:/data/gluster
注:
刪除卷:sudo gluster volume delete gluster_vol
強制建立:加 force
4、停止/啟動卷
sudo gluster volume stop gluster_vol
sudo
gluster volume start gluster_vol
5、檢視卷資訊
gluster volume info
6、掛載卷
sudo mount.glusterfs bigdata1:/gluster_vol /mnt/hbase
mount.glusterfs bigdata1:/gluster_vol /mnt/hbase
6、測試卷
df -h
bigdata1:
echo test > test1.txt
bigdata2:
cat test1.txt
至此,GlusterFS在Ubuntu Server上安裝成功。下面開始安裝配置HBase。
三、HBase安裝
通過測試時證明:在分散式模式下GlusterFs可以代替hadoop的HDFS,作為Hbase的底層資料儲存。
配置過程如下:
首先,介紹下搭建的叢集模型:
共2臺伺服器,hostname分別為:bigdata1 bigdata2(各個伺服器之間可以ssh 無密碼登陸)
Hmaseter為:bigdata1
Hregionserver為:bigdata1
zookeeper為:bigdata1(Hbase內建zookeeper)
在bigdata1、bigdata2 伺服器的/mnt目錄下建立hbase資料夾作為GlusterFs的mount點(即GlusterFs 的客戶端),就是每臺伺服器都有一個/mnt/hbae/目錄作為
GLusterFs的client,然後讓Hbase把資料寫到這個目錄下面。
然後修改Hbase的配置檔案:hbase-env.sh hbase- site.xml regionservers,這3個配置檔案都在/usr/local/hbase/conf/目錄下
1、下載/安裝
wget http://apache.fayea.com/apache-mirror/hbase/stable/hbase-0.98.7-hadoop2-bin.tar.gz
tar xvzf hbase-0.98.7-hadoop2-bin.tar.gz
sudo mv hbase-0.98.7-hadoop2 /usr/local
sudo
ln -s
hbase-0.98.7-hadoop2
hbase
2、配置
配置檔案:hbase-env.sh(bigdata1、bigdata2配置檔案相同)
export JAVA_HOME=/usr/share/jdk1.7.0_51 //JDK路徑
export HBASE_MANAGES_ZK=true //zookeeper是用內建的還是自己搭建zookeeper(true為使用內建的)
配置檔案: hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///mnt/hbase/</value> //和GlusterFs客戶端的路徑相對應
</property>
<property>
<name>hbase.cluster.distributed</name>//true為分散式模式,false為單機模式
<value>true</value>
</property>
<property>
<name>hbase.master</name>
<value>bigdata1:60000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>//zookeeper為221
<value>bigdata1</value>
</property>
</configuration>
配置檔案 regionservers //HregionServer伺服器
bigdata1
3、執行
#cd /usr/local/hbase/bin
#./start-hbase.sh //開啟hbase叢集
#./hbase shell//開啟Hbase指令
#hbase(main):001:0> status
2 servers, 0 dead, 0.7500 average load
配置成功!
四、測試
#cd /usr/local/hbase/bin
hbase shell
create "test" "cf"
在bigdata2上讀取所有表中的資料,如果能讀到所有表中的資料,就說明底層的GlusterFs是否共享資料,GlusterFs可以代替HDFS。
五、結論
至此,本方案測試成功!GlusterFS可以代替HDFS,以獲得更高的效能。當然還需要在生產環境中進一步驗證。
相關文章
- ubuntu安裝vncserver,ubuntu安裝vncserver的使用教程,教程詳解UbuntuVNCServer
- VirtualBox安裝Ubuntu教程Ubuntu
- Ubuntu安裝zabbix配置教程Ubuntu
- ubuntu-16.04.6安裝教程Ubuntu
- ubuntu編譯安裝kernel教程。Ubuntu編譯
- Ubuntu安裝GCC10教程UbuntuGC
- Linux Ubuntu安裝配置教程LinuxUbuntu
- 教程:在Ubuntu 18.04.1上安裝ElasticsearchUbuntuElasticsearch
- Ubuntu系統安裝Docker詳細教程UbuntuDocker
- Ubuntu 20.04 安裝 Carla詳細教程。Ubuntu
- Ubuntu 20.04 安裝VNC Server的教程。UbuntuVNCServer
- Ubuntu系統安裝 PostgreSQL詳細教程。UbuntuSQL
- Ubuntu下安裝MySQL-python教程UbuntuMySqlPython
- ubuntu下安裝transition_amr_parser教程。Ubuntu
- Ubuntu server 20.04詳細安裝教程UbuntuServer
- win10怎麼安裝ubuntu_win10安裝ubuntu詳細教程【圖文】Win10Ubuntu
- ubuntu20.04安裝教程超詳細 安裝ubuntu系統步驟圖解Ubuntu圖解
- Docker最全教程之Ubuntu下安裝Docker(十四)DockerUbuntu
- Ubuntu系統下MySQL5.7安裝教程UbuntuMySql
- Geant4在Ubuntu下的安裝教程Ubuntu
- 安裝 UbuntuUbuntu
- ubuntu安裝Ubuntu
- VirtualBox安裝Ubuntu20.04圖文教程Ubuntu
- 在 Ubuntu 22.04 上安裝 KubeSphere 實戰教程Ubuntu
- Ubuntu 20.04系統編譯安裝Apache教程。Ubuntu編譯Apache
- Ubuntu 20.04系統編譯安裝PHP教程。Ubuntu編譯PHP
- Ubuntu 20.04系統編譯安裝Docker教程。Ubuntu編譯Docker
- Ubuntu 20.04系統編譯安裝Redis教程。Ubuntu編譯Redis
- Ubuntu 20.04系統編譯安裝Memcached教程。Ubuntu編譯
- Ubuntu 18.04系統編譯安裝Apache教程。Ubuntu編譯Apache
- Ubuntu 18.04系統編譯安裝PHP教程。Ubuntu編譯PHP
- Ubuntu 18.04系統編譯安裝Docker教程。Ubuntu編譯Docker
- Ubuntu 18.04系統編譯安裝Memcached教程。Ubuntu編譯
- Ubuntu 18.04系統編譯安裝Redis教程。Ubuntu編譯Redis
- Ubuntu 20.04系統安裝Carla詳細教程。Ubuntu
- Ubuntu22系統安裝OpenJDK詳細教程。UbuntuJDK
- Ubuntu解除安裝和安裝Ubuntu
- ubuntu安裝CMakeUbuntu