Hadoop集羣部署html
1:軟件準備java
CentOS-Linux系統:CentOS-7-x86_64-DVD-1511.isonode
VirtualBox虛擬機:VirtualBox-5.1.18-114002-Win.exelinux
xshell遠程登陸工具:xshell.exeweb
xftp遠程文件傳輸:xftp.exeshell
hadoop:hadoop-2.7.3.tar.gzvim
jdk8:jdk-8u161-linux-x64.rpmwindows
2:物理架構:假設機房有四臺機器搭建一個集羣環境,Master(ip:192.168.56.100)、Slave1(ip:192.168.56.101)、Slave2(ip:192.168.56.102)、Slave3(ip:192.168.56.103)。在這裏簡要介紹一下,至於具體內容,我將在Hadoop的Hdfs文章詳細介紹。瀏覽器
分佈式:將不一樣地點,不一樣功能的,用於不一樣數據的多態計算機經過通訊網絡鏈接其餘,統一控制,協調完成大規模信息處理的計算機系統。簡單說,一塊硬盤能夠分紅兩部分:文件索引和文件數據,那麼文件索引部署在單獨一臺服務器上咱們稱爲Master根節點(NameNode),文件數據部署在Master結點管理的孩子結點被稱爲Slave結點(DataNode)。服務器
3: VirtulBox虛擬機搭建Linux Centos系統
1).安裝virtualbox,安裝成功之後顯示以下界面,選擇新建,至關於添加一臺Linux機器。
2.設置機器名稱、類型、版本。
3.分配內存,選擇默認1G。後期不夠可擴容,測試基本夠用
4. 建立虛擬硬盤,若是第一次裝,不會出現問題.
5. 選擇默認,點擊下一步
6選擇動態分配,須要多少系統分配多少,比起固定大小可能運行的慢一些
7: .選擇默認,這樣就建立完虛擬機,下面開始配置環境
8: 選中剛剛建立的Linux、點擊設置網絡,選擇以下設置名稱
9:解釋關於網絡的設置與配置。若是須要搭建hadoop集羣的,特別要注意。
(1)找到本身電腦的網絡設置-->選擇更改適配器設置-->在這裏會產生一塊VirtualBox網卡,也就是提供網絡鏈接的接口。 VirtulBox Host-Only Network (ip:192.168.56.1)
(2) VirtualBox網卡,也就是提供網絡鏈接的接口。
假設Windows是客戶端、Linux集羣是服務器端?如今咱們須要上傳文件,是否是應該客戶端與服務器端在同一個局域網下才能訪問?
答:固然必須在同一個網絡下,就像學校的教務系統,你不連學校的網絡你是沒辦法訪問是同樣的道理。而爲何,咱們能用流量、wifi訪問APP、網站呢?是由於那是經過互聯網鏈接的。
Linux機器的ip在哪裏設置呢?
答:咱們將經過Linux控制命令修改。
假設Windows的VirtulBox的網卡的ip是192.38.15.1(舉例不是真實的),那麼Linux機器的ip怎麼設置呢?
答:192.38.15.0~255,隨便本身設置沒有被佔用的ip。好比192.38.15.50 51 52 53 54 55 .....
下面是個人VirtulBox網卡的ip
10.添加CentOS系統盤片,啓動。
(1)點擊下圖的按鈕選擇添加"虛擬光驅"
2)點擊右邊紅色按鈕選擇"本身CentOs7"的文件路徑
3)點擊"啓動"按鈕
4)啓動界面以下圖默認第二項回車
5)選中文(鼠標移出linux界面,用快捷鍵ctrl+"→")
6)點擊軟件選擇"基礎設施服務器",接着點擊開始安裝
7)設置帳戶密碼
8) 等待安裝完畢、輸入用戶名密碼登陸成功。
9) 利用VirtualBox登陸,上傳文件會比較麻煩,採用Xshell(本身安裝)遠程登陸。
10)採用Xftp(自行安裝)上傳文件。
上傳hadoop-2.7.3.tar.gz、jdk-8u161-linux-x64.rpm到/usr/local目錄下。新手提示:在右邊窗口選中/usr/local目錄,左邊雙擊壓縮包就上傳成功了。
11: 配置集羣在同一虛擬局域網下通訊
說明:經過上述操做,已經搭建好master(192.168.56.100)這臺機器,開始配置虛擬網絡環境在同一虛擬機下。(如下都是在linux中的控制命令;其中編輯或插入數據要按鍵盤上"Insert"按鍵;)
比較經常使用的命令:先按ese在按shift+q退出編輯,q+!退出編輯不保存,w+q保存編輯後的文件
1)vim /etc/sysconfig/network
2)NETWORKING=yes GATEWAY=192.168.56.1(說明:配置意思是,連上VirtualBox這塊網卡)
3)vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
4) IPADDR=192.168.56.100 NETMASK=255.255.255.0 BOOTPROTO=static ONBOOT=yes(說明:配置意思是,設置本身ip)
5)修改主機名:hostnamectl set-hostname master
6)重啓網絡:service network restart
7)查看ip:ifconfig
8)與windows可否ping通、若ping不一樣,關閉防火牆。master:ping 192.168.56.1 windows:ping 192.168.56.100
9)systemctl stop firewalld.service (關閉linux防火牆,此操做必定要執行)
配置hadoop環境
1)解壓jdk-8u161-linux-x64.rpm:rpm -ivh /usr/local/jdk-8u91-linux-x64.rpm-->默認安裝目錄到/usr/java
2)確認jdk是否安裝成功。java -version查看是否安裝成功。
3)解壓hadoop-2.7.3.tar.gz:tar - zxvf /usr/local/hadoop-2.7.3.tar.gz。(在/usr/local目錄下解壓)
4)修改目錄名爲hadoop:mv /usr/local/hadoop-2.7.3 hadoop
5)切換目錄到hadoop配置文件目錄:cd /usr/local/hadoop/etc/hadoop
vim hadoop-env.sh
6)修改export JAVA_HOME 語句爲 export JAVA_HOME=/usr/java/default
退出編輯頁面:按esc鍵 輸入:wq
7)vim /etc/profile
8)在文件最後追加 export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
9)source /etc/profile
12. 發散思考-更進一步
問題1:如今只是配置了一臺master?那slave1、slave2、slave3也這樣一臺一臺配置嗎?
答:潛意識裏面,確定有解決辦法避免。固然,VirtualBox也提供了,複製機器的功能。選中master,右鍵複製。這樣的話,就一臺跟master如出一轍的機器就搞定了。咱們只須要修改網絡的相關配置便可。注意:搭建集羣環境須要本身複製三臺。
問題2:如何查看這些linux機器是否在同一個環境下?
答:我從新捋一遍內容。啓動四臺linux機器(能夠右鍵選擇無界面啓動)-->利用xshell遠程登陸-->選擇工具(發送鍵到所用界面)。依次輸入ping 192.168.56.100、192.168.56.101、192.168.56.102、192.168.56.103。
13. 配置以上幾臺機器集羣與啓動hadoop
1、爲四臺機器配置域名。vim /etc/hosts
192.168.56.100 master
192.168.56.101 slave1
192.168.56.102 slave2
192.168.56.103 slave3
2、切換到hadoop配置文件目錄 /usr/local/hadoop/etc/hadoop vim core-site.xml
3、修改四臺linux機器的core-site.xml,在configuration加入property,name,value屬性,指名四臺機器誰是master(NameNode)。
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<configuration>
4、在master結點機器指名它的子節點有哪些:vim /usr/local/hadoop/etc/hadoop/slaves(其實就是指名子節點的ip, 去除默認的localhost)
slave1
slave2
slave3
5、初始化一下master配置:hdfs namenode -format
6、啓動hadoop集羣而且用jps查看結點的啓動狀況(此方法啓動,本人在web瀏覽器上訪問查看不到datanode,大家本身試下這種是否能行)
啓動master:hadoop-daemon.sh start namenode
啓動slave:hadoop-daemon.sh start datanode
我用的啓動hadoop命令是在master這臺機器上輸入:start-all.sh,以後會要求依次輸入其它3臺密碼
14. 查看集羣啓動狀況:利用網頁http://192.168.56.100:50070/