本文針對沒有JDK和Hadoop的情況下的安裝,如果已經配置好了JDK環境和Hadoop環境的可以跳過對應的章節進行觀看
本文使用安裝包的版本
- JDK:1.8
- Hadoop:hadoop-2.6.0-cdh5.7.0
- HBase:hbase-1.2.6
- zookeeper:zookeeper-3.4.9
- phoenix:phoenix-4.13.1-HBase-1.2
獲取鏈接:點擊這裏
提取碼:60zi
文件上傳到服務器使用lrzsz比較方便,參考文章
JDK安裝
前置要求:查看本地有無OpenJDK,如果有需要先卸載了
輸入 rpm -qa|grep jdk
查看當前安裝了的
然後依次輸入 yum -y remove 查詢到的文件名
刪除已有的文件
正式安裝:
- 將安裝包解壓到壓縮目錄,本文的安裝目錄爲
~/app/
解壓命令 tar -zxvf jdk-8u171-linux-x64.tar.gz
- 獲取jdk的安裝目錄:pwd->
/home/hadoop/app/jdk1.8.0_171
- 修改環境變量
vim ~/.bash_profile
將如下內容進行修改:
修改內容
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
修改爲
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_171
export PATH=$JAVA_HOME/bin:$PATH
export PATH
- 更新配置
source ~/.bash_profile
經過以上4步就安裝完成了,查看JDK安裝是否成功
輸入: java -version
,如下顯示安裝成功
SSH免密登錄配置
輸入 ssh-keygen -t rsa
,然後一路回車
輸入 cd ~/.ssh
進入ssh目錄
輸入 cat id_rsa.pub >> authorized_keys
將公鑰寫入authorized_keys文件
查看文件如下
修改authorized_keys權限:chmod 600 authorized_keys
然後再去訪問只需要輸入一次密碼之後就不需要了
Hadoop安裝
- 將安裝包解壓到壓縮目錄,本文的安裝目錄爲
~/app/
解壓命令 tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz
2. 配置JAVA_HOME
- 進入hadoop配置文件目錄
- 修改hadoop-env.sh文件
vim hadoop-env.sh
找到export JAVA_HOME,將JAVA_HOME改爲之前配置的那個JAVA_HOME
- 配置HADOOP_HOME
- 獲取hadoop安裝目錄
pwd->/home/hadoop/app/hadoop-2.6.0-cdh5.7.0
- 配置HADOOP_HOME, 輸入
vim ~/.bash_profile
將hadoop的安裝目錄配置進去
export HADOOP_HOME=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0
export PATH=$HADOOP_HOME/bin:$PATH
- 更新配置
source ~/.bash_profile
然後HADOOP_HOME就配置好了
- 配置core-site.xml :
vim core-site.xml
在裏面添加上如下內容,其中hadoop001
爲你本機的名字映射
可以使用命令cat /etc/hosts
查看
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop001:8020</value>
</property>
5. 配置hdfs-site.xml :vim hdfs-site.xml
- 因爲使用僞分佈式,所以配置副本系數爲1
在下面添加如下代碼
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
- 設置臨時文件存放目錄
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/app/tmp</value>
</property>
6. 修改slaves
將slaves設置成本機
7. 啓動測試
- 格式化hdfs:
hdfs namenode -format
如圖顯示則格式化成功
- 啓動hadoop
切換到 sbin目錄下
輸入./start-dfs.sh
啓動集羣,
啓動完成後輸入jps
查看啓動進程
顯示如圖4個進程表示啓動和配置都成功了
HBase安裝
- 解壓壓縮包到~/app/目錄下
tar -zxvf hbase-1.2.6-bin.tar.gz
- 找到hbase配置文件目錄
- 複製hadoop的
hdfs-site.xml
和core-site.xml
到當前目錄下
執行復制命令
cp ~/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/hdfs-site.xml ./
cp ~/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/core-site.xml .
-
配置hbase-env.sh
- 將JAVA_HOME配置成我們自己的JAVA_HOME
- 註釋掉這兩行
- 將JAVA_HOME配置成我們自己的JAVA_HOME
-
配置hbase.site.xml
添加如下內容,
hbase.rootdir
表示hbase文件在hdfs上的存儲路徑
hbase.zookeeper.property.dataDir
是hbase自帶的zookeeper的datadir
hbase.cluster.distributed
表示是否以集羣方式啓動
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop001:8020/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/app/tmp/zookeeper</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
3. 啓動hbase
到達bin目錄下
執行./start-hbase.sh
啓動完成後使用jps
查看進程,發現如下指向的三個進程都啓動了,就啓動成功了
4. 測試使用hbse的shell
bin目錄下執行 ./hbase shell
執行結束後如下圖
現在,就可以使用shell命令行操作我們的hbase了
輸入list
,查看當前擁有的表
配置自己的zookeeper
前面的配置都是使用的HBase自帶的zookeeper,現在我們配置一個自己的zookeeper
- 停止掉hbase和hadoop
jps查看保證已經完全退出了
- 進入zookeeper下的conf目錄
- 鍵入
cp zoo_sample.cfg zoo.cfg
,將配置文件模板複製一份 - 鍵入
vim zoo.cfg
對zookeeper進行配置
添加一行數據server.1=localhost:2888:3888
5. 創建目錄mkdir /tmp/zookeeper
6. 修改新創建目錄下的一個文件vi /tmp/zookeeper/myid
因爲上面我們配置的server.1,所以文件內只需要輸入1
7. 啓動zookeeper
進入zookeeper的bin目錄
輸入 ./zkServer.sh start
啓動zookeeper
如圖顯示則啓動成功
8. 對hadoop進行格式化,刪除我們之前配置的/home/hadoop/app/tmp
下的文件
輸入hdfs namenode -format
- 修改hbase下的配置文件
hbase-env.sh
將默認的export HBASE_MANAGES_ZK=true
給爲false
不使用hbase自帶的zookeeper,而使用我們自己的
10,. 修改hbase-site.xml
,添加兩個屬性
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop001</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
配置完成依次重新啓動就可以了
hbase的優化配置,同樣是在hbase-site.xml
中添加三個屬性
其中menstore256M,hregion大小爲100G,禁止自動的major和conpact
<property>
<name>hbase.hregion.menstore.flush.size</name>
<value>268435456</value>
</property>
<property>
<name>hbase.hregion.max.filesize</name>
<value>107374182400</value>
</property>
<property>
<name>hbase.hregion.majorcompaction</name>
<value>0</value>
</property>
配置phoenix
實現SQL語句控制hbase
後面空了寫