1.準備工作
經過幾次測試以及探索,最終採用了各版本如下:
apache-zookeeper-3.5.7-bin.tar.gz
hadoop-2.8.5.tar.gz
hbase-2.2.3-bin.tar.gz
jdk-8u201-linux-x64.tar.gz
以上版本直接從Apache的官網可以下載,至於爲什麼選擇這樣的版本。
1.zookeeper版本不依賴hbase和hadoop版本,使用最新的穩定版本即可
2.hbase版本可能依賴hadoop版本,所以先下載hbase穩定版本後解壓,在lib文件夾中可以找到該版本的hbase支持的hadoop版本,然後去官網下載即可。
3.筆者選擇了4個虛擬機
192.168.18.128 slave01 (zookeeper+hbase)
192.168.18.129 slave02 (zookeeper+hbase)
192.168.18.130 master (hadoop+hbase)
192.168.18.131 slave03 (zookeeper+hbase)
4.準備好shell工具,筆者使用的是MobaXterm.exe
5.centos7-x64鏡像
2.安裝配置
1)先啓動一個虛擬機,使用shell工具將zookeeper,hadoop,hbase,jdk上傳到 /softwares(需要創建 mkdir /softwares)
2)映射IP地址(每個主機都要映射,筆者稍後會使用虛擬機的克隆)
vi /etc/hosts
爲避免出現錯誤,請將原來的第一行註釋或者刪除,類似下圖
127.0.0.1 localhost localhost.domain
3)安裝JDK,需要先創建 mkdir /opt/modules
cd /softwares
tar -zxf jdk-8u201-linux-x64.tar.gz -C /opt
4)設置JDK環境變量
vi /etc/profile
在文件末尾追加
5)配置zookeeper
先解壓zookeeper, 在softwares目錄下執行下面命令
tar -zxf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/modules
進入zookeeper解壓目錄,將conf/zoo.sample.cfg修改成zoo.cfg
cd /opt/modules/apache-zookeeper-3.5.7-bin
cp conf/zoo.sample.cfg conf/zoo.cfg
創建zkData並進入該目錄,執行pwd,複製該路徑
mkdir zkData
cd zkData
pwd
打開zoo.cfg,dataDir=(剛剛複製的路徑),末尾追加zookeeper集羣的信息
cd ../conf
vi zoo.cfg
在zkData目錄下新建myid文件並賦值1 (slave01--1 slave02 --2 slave03--3 主機名對應的myid數值)`
cd ../zkData
touch myid
vi myid
關閉防火牆
systemctl stop firewalld.service
6)克隆,關閉虛擬機
右擊選中管理==》克隆
選擇名稱以及位置點擊“完成”,等待
7)修改/opt/modules/apache-zookeeper-3.5.7-bin/zkData/myid
8)配置hadoop
選一個已經配置zookeeper的虛擬機,啓動並刪除zookeeper文件目錄
解壓hadoop壓縮包
tar -zxf hadoop-2.8.5.tar.gz -C /opt/modules
配置/opt/modules/hadoop-2.8.5/etc/hadoop/hadoop-env.sh,修改JAVA_HOME=
在hadoop根目錄下創建 data/tmp目錄
配置/opt/modules/hadoop-2.8.5/etc/hadoop/core-site.xml
配置/opt/modules/hadoop-2.8.5/etc/hadoop/hdfs-site.xml
配置/opt/modules/hadoop-2.10.0/etc/hadoop/slaves
hadoop根目錄執行下面命令
bin/hdfs namenode -format
啓動
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
查看進程jps
出現Jps DataNode NameNode三個進程
遠程訪問頁面:192.168.18.130:50070
9)配置hbase
解壓
tar -zxf hbase-2.2.3.tar.gz -C /opt/modules
修改/opt/modules/hbase-2.2.3/conf/hbase-env.sh
修改/opt/modules/hbase-2.2.3/conf/regionservers
配置/opt/modules/hbase-2.2.3/conf/hbase-site.xml
在hbase根目錄下新建data/tmp目錄
分發hbase到zookeeper集羣,需要shell免密,每臺主機都需要安裝ntp,同步虛擬機時間!!!
shell免密以及安裝並啓動ntp請自行百度
分發命令
scp -r /opt/modules/hbase-2.2.3 slave01:/opt/modules/
scp -r /opt/modules/hbase-2.2.3 slave02:/opt/modules/
scp -r /opt/modules/hbase-2.2.3 slave03:/opt/modules/
10)啓動hbase
先啓動zookeeper集羣,在zookeeper根目錄下執行下面命令
slave01,slave02,slave03都執行(筆者是個新手,不會shell全部啓動)
bin/zkServer.sh start
再啓動hadoop,hadoop根目錄執行(前面已經啓動過的,可以跳過)
master主機
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
最後啓動hbase,hbase根目錄執行
bin/start-hbase.sh
11)查看hbase是否啓動
192.168.18.130:16010
出現下面頁面說明啓動成功,如果報錯請查看日誌文件注意排除