(學習筆記版)Hadoop入門(一):Hadoop2.7.3完全分布式集群安裝
在這裏寫下安裝hadoop2.7.3版本的完全分布式的過程,因為剛開始學習hadoop不久,希望自己把學習的東西記錄下來,和大家一起分享,可能有錯誤的地方,還請大牛們批評指正,在我學習的道路上多提點意見和建議,非常感謝!下面就是安裝的過程,我是在我的筆記本裏安裝了VirtualBox,然後安裝了4個虛擬機,一個做master,三個做slave。
1. 安裝VirtualBox
VirtualBox-5.2.12-122591-Win.exe
當VirtualBox安裝完成之後,主機器上會出現一塊虛擬網卡,就是使用這個網絡和虛擬機進行連接。
查看其IPv4,IP是192.168.56.1,當然可以隨便改,我沒有改,就用192.168.56.1,子網掩碼:255.255.255.0
2. 安裝Centos
版本:CentOS-7-x86_64-DVD-1511.iso
3. 虛擬機
設置->網絡 調成host only
4. vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
4臺機器分別設置的IP和netmask如下,但是準備先設置完master機後,復制出3個,然後再改各自的配置
Hostname |
IPADDR |
NETMASK |
|
Master |
192.168.56.100 |
255.255.255.0 |
|
slave1 |
192.168.56.101 |
255.255.255.0 |
|
slave2 |
192.168.56.102 |
255.255.255.0 |
|
slave3 |
192.168.56.103 |
255.255.255.0 |
|
5. vi /etc/sysconfig/network
4臺機器都設置網關:
NETWORKING=yes
GATEWAY=192.168.56.1
6. 重啟網絡:service network restart
7. 互相ping 測試
看看相互之間網絡是否通的,若不成功,註意防火墻的影響,關閉windows或虛擬機的防火墻。
8. 安裝xshell5
9. 安裝Xftp6
10. 上傳jdk和hadoop
無界面啟動虛擬機,用xshell和xftp把jdk 和hadoop都上傳上去,放到/usr/local下
Jdk:jdk-8u91-linux-x64.rpm
Hadoop:hadoop-2.7.3.tar.gz
11. 安裝jdk和hadoop
cd /usr/local
rpm –ivh jdk-8u91-linux-x64.rpm
默認安裝在了usr下,有個Java文件夾
安裝hadoop,其實就是解壓,命令:tar –xvf hadoop-2.7.3.tar.gz
解壓之後在local下會有一個hadoop-2.7.3的文件夾,這個名字太長了,給改下名字就叫hadoop,命令:mv hadoop-2.7.3 hadoop 回車。
接下來,配置hadoop,命令:cd /hadoop/etc/hadoop
- 配置hadoop的運行環境,告訴hadoop的jdk的位置
命令:vim hadoop-env.sh
- hadoop的執行命令的路徑放到path環境變量中
命令:vim /etc/profile
記得source /etc/profile,否則不起作用
輸入命令hadoop,如果出現了下面這些幫助信息,說明hadoop也裝好了
- shutdown –h now 關掉當前master
12. 安裝其他的slave,用master進行復制
- 右鍵master,選擇復制
- 輸入名字,點“下一步”
- 選擇完全復制
- 再復制一個slave2,slave3,和復制slave1同樣操作
- 因為復制完後,他們的主機名和IP都和master一樣,所以要修改他們的主機名和IP地址
修改主機名命令:hostnamectl set-hostname slave1
準備修改IP:vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
將IP改為101
重啟網絡服務命令:service network restart
然後ping 192.168.56.1試一下
- slave2和slave3都和slave1一樣的操作,IP分別是102,103
- 4臺機器都起來,用xshell連接master,再新建連接slave1,slave2,slave3
註意要修改各自的屬性(IP)
選擇工具中的“發送鍵輸入到所有會話”,這樣就能同時操作4個窗口頁面,可以同時ping 192.168.56.1,ping 192.168.56.100~103,看互相能否ping通
- 把所有機器的防火墻關掉:systemctl stop firewalld
- 把所有防火墻廢掉,這樣重啟也不會再開啟防火墻了,命令:systemctl disable firewalld
13. 更改hosts文件
修改命令:vim /etc/hosts
輸入:
192.168.56.100 master
192.168.56.101 slave1
192.168.56.102 slave2
192.168.56.103 slave3
14. 準備啟動hadoop
現在可以在各個機器上啟動Hadoop了,master作為namenode,它其實存儲所有文件的名稱,記錄這些文件存在哪臺機器上,它是hadoop的管理者,文件的數據存在datanode上,各個機器上都有備份,一臺機器宕機了沒關系,其他的有備份,機器不夠了可以再擴,如果namenode掛了,還有secondary namenode。
啟動hadoop,第一個要寫一個配置文件:
首先切換目錄:cd /user/local/hadoop/etc/hadoop
文件core-site.xml, 它是配置hadoop的管理者,slave機器上也要配,他們必須知道自己的管理者是誰,是受誰所管理,指明namenode的信息,
修改文件命令:vim core-site.xml
在這裏,只需要配置一項內容,就可以啟動hadoop了,網上寫的特別復雜,其實不用那樣,
在<configuration>中添加下面代碼:
<property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property>
15. 啟動hadoop
- 將存儲namenode所在的文件格式化一下
hdfs namenode –format
- 啟動hadoop的namenode:hadoop-daemon.sh start namenode
- 然後jps出現下面信息就是namenode起來了
- 啟動datanode
hadoop-daemon.sh start datanode
- 然後jps,如果看到進程中出現了datanode,說明已經起來了
到此就over了。
18. 測試
- 輸入命令hdfs dfsadmin –report查看下集群運行
- 瀏覽器中輸入地址看頁面,因為我沒改host,所以就先用IP
http://192.168.56.100:50070/
20. 關閉節點
- 關閉datanode命令:hadoop-daemon.sh stop datanode
- 關閉namenode命令:hadoop-daemon.sh stop namenode
(學習筆記版)Hadoop入門(一):Hadoop2.7.3完全分布式集群安裝