大數據第十一週
1.物理集羣的驗證
- 開啓本組所有電腦(4臺),拷貝虛擬機映像,打開。在開啓虛擬機之前,設置虛擬機內存是4G,處理器是4,網絡連接是橋接模式。
也可以在圖形界面配
- 把橋接網卡綁定到具體的物理網卡,不要使用自動綁定。
- 設置完成後,啓動尋虛擬機。
2.設置網絡連接
- 編輯網絡配置文件:/etc/sysconfig/network-scripts/ifcfg-ens33。
- IP地址設置如下:(其中50要改成你自己的ip)
IPADDR=172.21.12.79(左1)
IPADDR=172.21.12.80(左2)
IPADDR=172.21.12.81(右2)
IPADDR=172.21.12.82(右1)
PREFIX=24
GATEWAY=172.21.12.254
DNS1=172.16.3.8
- 修改完成之後,輸入systemctl restart network即可
3.設置hostname和域名解析
修改集羣各個機器的名字和域名解析文件計算機名
- sudo vi /etc/hostname
80 master
79 slave0
81 slave1
82 slave2
50 slave4
- sudo vi /etc/hosts
172.21.12.80 master
172.21.12.79 slave0
172.21.12.81 slave1
172.21.12.82 slave2
172.21.12.50 slave4
4.關閉防火牆
- 檢查防火牆狀態:sudo systemctl status firewalld.service
- 關閉防火牆:sudo systemctl stop firewalld.service
- Disable防火牆:sudo systemctl disable firewalld.service
- 如果不執行Disable防火牆,下次啓動時,防火牆還會啓動。
- 重啓三個節點,重啓後,分別用sudo systemctl status firewalld.service命令檢查所有節點的防火牆狀態,要求看到inactive(dead)提示。
5.設置ssh免密登錄
- 由於以前做過免密,所以會提示出錯,看提示是否有修改錯誤的指令,如:刪除~/.ssh文件後重做,命令:rm –r .ssh(ls –a查看隱藏文件)
- 先ssh 要登錄的虛擬機,然後exit。
- 進入目錄:cd .ssh/
- 產生密碼:ssh-keygen -t rsa(只需要輸入一次)
- 傳送公鑰:ssh-copy-id 要登陸的虛擬機名
- 驗證:ssh 要登陸的虛擬機名
- 如果不需要密碼就說明成功了。**如果在物理機集羣上安裝,需要安裝時鐘同步工具,保證每個節點的時鐘相同。在虛擬機上安裝不需要。**
- 我們有三個節點,所以每個虛機需要3個免密登錄。
- 我們有三個節點,要傳三個公鑰,包括自己。
6.安裝時鐘同步
- 將時區設置爲上海:sudo timedatectl set-timezone Asia/Shanghai
- 使用chrony,因爲centos7已經內置chrony,所以只要配置就好。
- 選擇一個本地時鐘服務器,對於時鐘服務器修改cd /etc sudo vi chrony.conf,要允許其他節點進行連接,
- 對於主節點:添加allow 172.21.12.0/24;
- 對於其他節點:刪除已有的四行配置,添加server master iburst
- 時鐘配置完成後檢查,用命令:檢查chronyc sources。除了主節點外,其它節點只會顯示master。
7.修改配置文件
- 修改slaves文件,加入新的節點。
- slaves文件位置:hadoop-2.7/etc/hadoop
8.Namenode格式化
- 刪除所有節點上的集羣自動建立的文件夾:hadoopdata
- 在master上才做:hadoop namenode –format
- 要看到successfully提示,說明成功了。
9.啓動集羣
- 命令:start-all.sh
- 用jps查看java進程:按我們的配置,master是4個java進程,slave是3個java進程。
- 上傳一個文件,查看是否正常
- 進入相應目錄hadoop-2.7/share/hadoop/mapreduce,運行命令:hadoop jar hadoop-mapreduce-examples-2.7.7.jar pi 10 10
如果運行正常,說明集羣工作一切正常。
10.安裝spark
- Spark配置成:yarn模式運行。
- Spark集羣需要配置兩個文件,spark-env.sh、slaves。
- 建立spark-env.sh cp spark-env.sh.template spark-env.sh
- 編輯:vi spark-env.sh,添加如下內容,紅色部分替換成自己的目錄。
export SPARK_CONF_DIR=/home/caiyishuai/spark-2.4.5/conf
export HADOOP_CONF_DIR=/home/caiyishuai/hadoop-2.7/etc/hadoop
export YARN_CONF_DIR=/home/caiyishuai/hadoop-2.7/etc/hadoop
export JAVA_HOME=/home/caiyishuai/jdk1.8
- 建立slaves文件:cp slaves.template slaves
- 編輯:vi slaves
把文件原內容刪除,添加slave節點名:例如
slave0
slave1
slave2
- 配置完成後,要將配置好的拷貝到其它的所有節點。每個節點的spark和hadooop配置應相同。
11.啓動spark集羣
- 由於我們是用yarn模式運行,首先要啓動yarn,啓動yarn的方式是用hadoop下的start-all.sh。
- 啓動順序是:hadoop的start-all.sh,spark的start-all.sh。
- 由於兩個 文件同名,所以必須區分是哪一個。區分的方式可以是,spark路徑不配置環境變量,而是用全路徑執行。Spark要在master節點上啓動。
- 啓動後,用jps查看
master節點:
NameNode
Jps
ResourceManager
Master
SecondaryNameNode
Slave節點:
DataNode
NodeManager
Worker
Jps
說明啓動成功。