首先需要在windows上安裝vmware和ubuntu虛擬機(jī),這里就不多說了。
vmware下載地址:直接百度搜索,使用百度提供的鏈接下載,這里附上一個(gè)破解碼
5A02H-AU243-TZJ49-GTC7K-3C61N
ubuntu下載地址:http://cdimage.ubuntu.com/daily-live/current/
一路安裝下去,我一共裝了4臺(tái)虛擬機(jī),三臺(tái)用于構(gòu)建集群,一臺(tái)用于爬蟲,如圖所示:
這里,我們以slave2為例來說明一下虛擬機(jī)的網(wǎng)絡(luò)配置:
首先,將虛擬機(jī)的網(wǎng)絡(luò)設(shè)置設(shè)置為自定義,選擇VMnet8:
隨后,我們點(diǎn)擊VMWARE上的編輯-虛擬網(wǎng)絡(luò)編輯-右下角的更改設(shè)置,應(yīng)該有三個(gè)連接方式,這里我們把其他兩個(gè)移除,只剩下VMnet8:
隨后,點(diǎn)擊NAT設(shè)置,我們可以發(fā)現(xiàn)網(wǎng)關(guān)是192.168.75.2
接下來,我們要設(shè)置虛擬機(jī)的ip:點(diǎn)擊右上角的edit connectinos,設(shè)置Ipv4,如下圖所示:
隨后修改兩個(gè)文件:
修改interfaces文件
命令:sudo vim /etc/network/interfaces ( 如果沒有vim命令,使用sudo apt-get install vim進(jìn)行安裝):
修改resolv.conf文件
命令:sudo vim /etc/resolv.conf:
接下來重啟我們的網(wǎng)絡(luò)就可以啦:
命令:sudo /etc/init.d/networking restart(如果啟動(dòng)失敗,重啟虛擬機(jī)即可)
查看我們的ip,使用ifconfig命令,如果沒有安裝(使用sudo apt install net-tools 進(jìn)行安裝):
下載xshell,百度搜索xshell,使用百度提供的下載地址即可。
要想使用xshell的ssh方式訪問虛擬機(jī),首先要在虛擬機(jī)上安裝ssh服務(wù)
使用命令:sudo apt-get install openssh-server
隨后啟動(dòng)ssh服務(wù):sudo /etc/init.d ssh start
再次點(diǎn)擊VMWARE上的編輯-虛擬網(wǎng)絡(luò)編輯-右下角的更改設(shè)置,設(shè)置端口轉(zhuǎn)發(fā):
隨后打開xshell,新建連接:
設(shè)置用戶名和密碼:
隨后點(diǎn)擊連接即可,發(fā)現(xiàn)連接成功!
這里以修改主節(jié)點(diǎn)主機(jī)名稱為例,其他節(jié)點(diǎn)類似。
使用命令 : sudo vim /etc/hostname 查看當(dāng)前主機(jī)名,并修改為master:
重啟之后生效:
兩個(gè)從節(jié)點(diǎn)的主機(jī)依次修改為slave1,slave2
接下來,將主節(jié)點(diǎn)和兩個(gè)從節(jié)點(diǎn)的ip和主機(jī)名添加到hosts文件中,使用命令
sudo vim /etc/hosts
修改的結(jié)果為:
兩個(gè)從節(jié)點(diǎn)的hosts文件修改為同樣的結(jié)果,此時(shí)發(fā)現(xiàn)各虛擬機(jī)之間可以ping通。
接下來,需要讓主節(jié)點(diǎn)可以免驗(yàn)證的登錄到從節(jié)點(diǎn),從而在進(jìn)行任務(wù)調(diào)度時(shí)可以暢通無阻。
首先要在各個(gè)節(jié)點(diǎn)上生成公鑰和私鑰文件,這里以slave1節(jié)點(diǎn)進(jìn)行講解,其他節(jié)點(diǎn)操作方式完全相同。
我們首先要開啟ssh服務(wù),使用命令:sudo /etc/init.d/ssh start
隨后使用如下命令生成公鑰和私鑰文件:
ssh-keygen -t rsa -P ""
在所有節(jié)點(diǎn)上生成秘鑰文件之后,我們需要將從節(jié)點(diǎn)的公鑰傳輸給主節(jié)點(diǎn),使用命令:
cd ~/.ssh
scp id_rsa.pub sxw@master:~/.ssh/id_rsa.pub.slave1
隨后,在主節(jié)點(diǎn)下,將所有的公鑰信息拷貝到authorized_keys文件下:使用命令:
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
cat id_rsa.pub.slave1 >> authorized_keys
cat id_rsa.pub.slave2 >> authorized_keys
接下來將authorized_keys文件復(fù)制到slave1和slave2節(jié)點(diǎn)目錄下:
scp authorized_keys sxw@slave1:~/.ssh/authorized_keys
scp authorized_keys sxw@slave2:~/.ssh/authorized_keys
接下來我們驗(yàn)證是否可以免密碼登錄:使用命令
ssh slave1
登陸成功,我們可以使用exit命令退出登錄
這里我們可以直接使用linux的命令下載jdk,當(dāng)然也可以在本地下載之后傳輸?shù)教摂M機(jī)中,這里我采用的是后者,因?yàn)槲腋杏X在主機(jī)上下載會(huì)比較快一些。到java官網(wǎng)中下載最新的jdk文件即可。
使用由于剛才我們配置了端口轉(zhuǎn)發(fā),因此我們可以使用winscp進(jìn)行文件傳輸:
傳輸文件到/home/sxw/Documents路徑下,直接將文件進(jìn)行拖拽即可:
隨后,在該路徑下,使用如下命令進(jìn)行解壓:
tar -zxvf 文件名
重命名jdk文件夾為jdk
隨后修改配置文件:
sudo vim /etc/profile
添加如下三行:export JAVA_HOME=/home/sxw/Documents/jdk
exportCLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
使用source命令使修改生效,同時(shí)查看是否安裝成功
可以使用命令下載scala,不過我們?nèi)匀贿x擇在本地下載scala:下載地址:http://www.scala-lang.org/download/2.11.7.html
通過winscp傳入各虛擬機(jī)里,并使用如下命令進(jìn)行解壓:
tar -zxvf 文件名
重命名文件:
修改配置文件,增加以下兩行,并用source命令使修改生效:
檢查是否安裝成功:
可以看到scala已經(jīng)安裝成功了!
我們首先在主節(jié)點(diǎn)上配置好hadoop的文件,隨后使用scp命令傳輸?shù)綇墓?jié)點(diǎn)上即可。
同樣,我們?cè)趆adoop官網(wǎng)下載hadoop文件,通過winscp傳入主節(jié)點(diǎn),使用tar命令進(jìn)行解壓,并修改文件夾名為hadoop,這些這里暫且略過。
修改環(huán)境變量(所有節(jié)點(diǎn)都需要修改)并使用source命令使其生效:
接下來修改hadoop的配置文件:
(1)$HADOOP_HOME/etc/hadoop/hadoop-env.sh
修改JAVA_HOME 如下:
export JAVA_HOME=/home/sxw/Documents/jdk
(2)$HADOOP_HOME/etc/hadoop/slaves
修改salves里添加兩個(gè)從節(jié)點(diǎn)的名稱
slave1
slave2
(3)$HADOOP_HOME/etc/hadoop/core-site.xml
(4)$HADOOP_HOME/etc/hadoop/hdfs-site.xml
(5)$HADOOP_HOME/etc/hadoop/mapred-site.xml
首先使用如下命令生成mapred-site.xml文件:cp mapred-site.xml.template mapred-site.xml
隨后進(jìn)行修改:
(6)$HADOOP_HOME/etc/hadoop/yarn-site.xml
至此,hadoop的配置文件就修改完了,我們用scp命令將修改好的hadoop文件傳入到子節(jié)點(diǎn)即可
我們首先在主節(jié)點(diǎn)上配置好spark的文件,隨后使用scp命令傳輸?shù)綇墓?jié)點(diǎn)上即可。
同樣在spark官網(wǎng)下載最新的spark文件,并使用winscp傳入虛擬機(jī),使用tar命令進(jìn)行解壓,并重命名文件夾為spark。
添加spark到環(huán)境變量并使其生效:
接下來修改spark的配置文件:
(1)$SPARK_HOME/conf/spark-env.sh
首先使用如下命令生成spark-env.sh文件:
cpspark-env.sh.template spark-env.sh
隨后進(jìn)行修改:
(2)$SPARK_HOME/conf/slaves
首先使用如下命令生成slaves文件:
cpslaves.template slaves
隨后進(jìn)行修改:
至此,spark的配置文件就修改完了,我們用scp命令將修改好的spark文件傳入到子節(jié)點(diǎn)即可,不要忘記修改子節(jié)點(diǎn)的環(huán)境變量
首先我們編寫一個(gè)啟動(dòng)腳本:
可以看到,hadoop的啟動(dòng)需要兩個(gè)命令,分別啟動(dòng)dfs和yarn,傳統(tǒng)的start-all.sh已經(jīng)被棄用。而spark的啟動(dòng)只需要一個(gè)命令。
啟動(dòng)的結(jié)果如下圖所示:
隨后我們?cè)倬帉懸粋€(gè)關(guān)閉集群的腳本:
我們?cè)?home/sxw/Documents下建立一個(gè)wordcount.txt文件
文件內(nèi)容如下圖:
到hadoop的bin路徑下執(zhí)行如下三條命令:
hadoopfs-mkdir-p/Hadoop/Inputhadoopfs-putwordcount.txt/Hadoop/Inputhadoopjar/home/sxw/Documents/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jarwordcount/Hadoop/Input/Hadoop/Output
可以看到我們的hadoop再進(jìn)行運(yùn)算了:
使用如下命令查看運(yùn)算結(jié)果,發(fā)現(xiàn)我們的期望的結(jié)果正確輸出:
hadoop fs -cat/Hadoop/Output/*
hadoop配置成功!
我們直接利用spark-shell 進(jìn)行測(cè)試,編寫幾條簡(jiǎn)單額scala語句:
到spark的bin路徑下執(zhí)行./spark-shell命令進(jìn)入scala的交互模式,并輸入如下幾條scala語句:
valfile=sc.textFile("hdfs://master:9000/Hadoop/Input/wordcount.txt")valrdd=file.flatMap(line=>line.split("")).map(word=>(word,1)).reduceByKey(_+_)rdd.collect()rdd.foreach(println)
可以看到,我們的spark集群成功搭建!
-
Linux
+關(guān)注
關(guān)注
87文章
11342瀏覽量
210216 -
虛擬機(jī)
+關(guān)注
關(guān)注
1文章
931瀏覽量
28374
原文標(biāo)題:windows下虛擬機(jī)配置spark集群最強(qiáng)攻略!
文章出處:【微信號(hào):atleadai,微信公眾號(hào):LeadAI OpenLab】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論