1.軟件及版本
a.VMware Workstation Pro
b.CentOS-6.8-x86_64-minimal
c.hadoop-2.7.3.tar
d.jdk-8u91-linux-x64
e.XShell5
f.Xftp5
2.安裝VMware
和正常軟件一樣雙擊安裝
輸入序列號
http://www.epinv.com/post/6304.html
3.配置虛擬機
安裝注冊完成后打開VMware進行虛擬網絡的相關設置
注意圈出的地方,接下來是新建一個虛擬機
注意安裝位置,虛擬機還是很占內存的,建議放在非系統盤
? ? ? ?磁盤大小不用糾結,不會占用你全部設置的大小,建議寫大一點。這樣一個裸機就建立完成了,下面要安裝系統。
一定要注意選取啟動時連接!單機確定完成這一步。接下來安裝操作系統
4.安裝操作系統
進入虛擬機,鼠標會消失,按住 CTL+ALT就可以顯示鼠標。
5.網絡設置
本次配置集群用到的LINUX命令如下(老手直接略過):
指定IP地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0
照著下面的圖敲,注意HWADDR UUID每個機器是不同的
配置dns解析
echo "nameserver 114.114.114.114" >> /etc/resolv.conf
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
設置主機名稱
vi /etc/sysconfig/network
主機名地址映射
vi /etc/hosts
重啟網絡服務
service network restart
測試網絡
輸入任意網址,可以連接上就可以了
注意
這時,虛擬機并沒有安裝文本編輯器需要下載安裝,命令如下
yum install vim -y ?(耐心等待 三分鐘左右完成)?
這時網絡環境已經配置完成
6.安裝配置Xshell 5 Xftp5
Xshell是遠程登錄軟件,和直接在虛擬機上操作一樣,只是操作方便且有附加功能。?
Xftp用于WINDOWS和LINUX之間文件傳輸
安裝比較簡單和QQ等常用軟件類似,不占用篇幅,只介紹配置。
配置Xshell
7.安裝JDK HADOOP
安裝JDK
1.進入文件目錄:cd /usr/local
2.解壓JDK:rpm -ivh ./jdk-8u91-linux-x64.jdk
3.輸入java驗證安裝是否成功
4.配置環境變量:vim /etc/profile
```
JAVA_HOME=/usr/java/jdk1.8.0_91
JRE_HOME=/usr/java/jdk1.8.0_91/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
```
5.使環境變量生效
```
source /etc/profile
```
安裝HADOOP
1.進入文件目錄:cd /usr/local
2.解壓HADOOP:tar –xvf ./hadoop-2.7.3.tar.gz
3.修改目錄名稱:mv hadoop-2.7.3 hadoop
4.修改hadoop-env.sh:vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
修改export JAVA_HOME 語句為 export JAVA_HOME=/usr/java/default
5.修改環境變量:vi /etc/profile
最后加上:export PATH=$PATH:/usr/hadoop/bin:/usr/hadoop/sbin
6.使環境變量配置生效:source /etc/profile
7.在任意目錄測試hadoop命令 觀察是否安裝成功
8.關閉虛擬機復制3份
9.開機后參照之前的步驟各自配置網絡,主機名
注意:
配置hosts文件時每一個節點的IP以及hostname都要加上
ip分配如下
VMware克隆后,重啟網絡會出現問題,
解決方案如下:
首先,打開/etc/udev/rules.d/70-persistent-net.rules內容如下面例子所示:
# vi /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:8f:89:97", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:50:bd:17", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
記錄下,eth1網卡的mac地址00:0c:29:50:bd:17
接下來,打開/etc/sysconfig/network-scripts/ifcfg-eth0
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
將 DEVICE="eth0"? 改成? DEVICE="eth1"? ,
將 HWADDR="00:0c:29:8f:89:97" 改成上面的mac地址? HWADDR="00:0c:29:50:bd:17"
最后,重啟網絡
# service network restart
正常了。
10.集群配置
1.配置core-site.xml
在所有的節點上都應該修改:vim /etc/hadoop/core-site.xml
2.配置hdfs-site.xml
僅在master節點上配置
3.格式化HDFS
輸入:hdfs namenode -format
11.啟動集群
在master上:hadoop-daemon.sh start namenode
在slave上:hadoop-daemon.sh start datanode
分別各自輸入JPS可以觀察到:
出現以上的現象說明集群配置好了 關閉集群
hadoop-daemon.sh stop master(slaveX)
12.集中管理集群及免密鑰登錄
集中管理集群
修改master上slaves文件,每一個slave占一行
vim /usr/local/hadoop/etc/hadoop/slaves
免密鑰登錄配置
在slave上:
1.cd .ssh
2.ssh-keygen -t rsa (按四下回車)?
在目錄下會出現私鑰id_rsa和公鑰id_rsa.pub
3.ssh-copy-id slave2 ?;ssh-copy-id slave2 ?;ssh-copy-id slave3 ?;ssh-copy-id master
把生成的公鑰copy到所有的節點上(包括master)。
在目錄下會生成 authorized_keys 文件,這樣就可以實現免密鑰登錄
用ssh X 測試。
啟動集群
在master上:
啟動集群:start-dfs.sh
停止集群:stop-dfs.sh