最近在學(xué)習(xí)大數(shù)據(jù)技術(shù),朋友叫我直接學(xué)習(xí)Spark,英雄不問(wèn)出處,菜鳥不問(wèn)對(duì)錯(cuò),于是我就開始了Spark學(xué)習(xí)。
為什么要在Docker上搭建Spark集群
Spark本身提供Local模式,在單機(jī)上模擬多計(jì)算節(jié)點(diǎn)來(lái)執(zhí)行任務(wù)。但不知道什么思想在做怪,總覺(jué)得不搭建一個(gè)集群,很不完美的感覺(jué)。
搭建分布式集群一般有兩個(gè)辦法:
- 找多臺(tái)機(jī)器來(lái)部署。(對(duì)于一般的學(xué)習(xí)者,這不是很現(xiàn)實(shí),我就是這一般這種,沒(méi)有資源)
- 裝虛擬機(jī),在本地開多個(gè)虛擬機(jī)。這對(duì)宿主機(jī)器性能要求比較高,因?yàn)槎鄠€(gè)虛擬機(jī)開銷也很大。同時(shí)安裝多臺(tái)虛擬機(jī)著實(shí)費(fèi)時(shí)麻煩。(很多學(xué)習(xí)者可能會(huì)選擇這個(gè)辦法,但是我怕麻煩,我的電腦也不太給力)
上訴兩個(gè)辦法都不是我的菜,正好前段時(shí)間聽(tīng)同事聊天說(shuō)到Docker。
百度百科對(duì)
Docker的解釋如下:Docker 是一個(gè)開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口。
于是就想到使用Docker來(lái)部署Spark集群了。
從0開始搭建Spark集群
安裝ubuntu虛擬機(jī)
我的機(jī)器是 Macbook Pro 13.3寸,這里我選擇的虛擬機(jī)是VMware Fusion 8.5.8,ubuntu 16.04
具體安裝過(guò)程就不記錄了,非常簡(jiǎn)單,也不需要教程。但在這里要針對(duì)MBP的安裝虛擬機(jī)的配置做幾點(diǎn)記錄:
- 分辨率
虛擬機(jī)的配置,必須選擇如圖所示,不然ubuntu的UI會(huì)發(fā)虛:
1.png
然后,打開啟動(dòng)ubuntu后,會(huì)發(fā)現(xiàn)圖標(biāo)和文字都非常小。原因是ubuntu的分辨率使用了宿主機(jī)MBP的分辨率,縮放scale=1. 在這里要針對(duì)ubuntu的分辨率做設(shè)置,將scale設(shè)置為2,如同:
2.png
- VMware Fusion虛擬機(jī)Ubuntu中實(shí)現(xiàn)與主機(jī)共享(復(fù)制和粘貼)
- 在Ubuntu菜單上選擇VM->install VMware tools。然后出現(xiàn)VMware tools的安裝壓縮包文件VMwareTools-9.2.0-799703.tar.gz。
- 在終端使用命令
tar xvzf VMwareTools-9.2.0-799703.tar.gz /root/vm解壓- 命令
sudo ./root/vm/vmware-install.pl運(yùn)行解壓后的目錄里的vmware-install.pl文件進(jìn)行安裝- 完成,重啟。 命令
reboot
-
root用戶登錄
由于后面的很多操作基本都是需要root權(quán)限的,在這里是為了學(xué)習(xí)的,所以索性以root用戶登錄,但是由于默認(rèn)的登錄界面沒(méi)有root用戶,所以在這里要做一下配置.
- 重置root用戶密碼,在終端輸入
sudo passwd root,一路輸入新密碼即可- 在系統(tǒng)登錄界面以 root 用戶登錄
vim /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf打開50-unity-greeter.conf文件,并在文件末尾添加:user-session=ubuntu greeter-show-manual-login=true all-guest=false如圖:
1.png
保存退出
- 終端輸入
vim /root/.profile命令 打開 .profile 文件,并修改其最后一行為tty -s && mesg n || true
如圖:
2.png
保存退出。
重啟系統(tǒng),reboot。
然后在登錄頁(yè)面 Login username處可以輸入root, 回車,然后輸入密碼即可登錄 root 用戶
ubuntu虛擬機(jī)的安裝和配置到此基本完成了。下面就是正式進(jìn)入Docker集群的搭建了。
Docker 安裝
Docker是什么?有什么用?在這里就不抄過(guò)來(lái)了,因?yàn)槲覀冞@里主要是使用Docker來(lái)部署Spark集群的,我就暫時(shí)不深究了,以后再深入了解下。附Docker 百科
我使用的是 ubuntu 16.04 , 具體安裝命令如下:
$ apt update
$ apt-get install apt-transport-https
$ apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
$ bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
$ apt update
$ apt install lxc-docker
安裝完成后,校驗(yàn)是否安裝成功
使用
docker version命令,如果輸出如下信息,證明成功安裝:1.png
下載ubuntu 鏡像
$ docker pull ubuntu:16.04
這條命令的作用是從Docker倉(cāng)庫(kù)中獲取ubuntu的鏡像
下載完成后,使用下面命令可以列出所有本地的鏡像:
$ docker images如圖:
2.png當(dāng)然,圖中的另外一條 ubuntu:hadoop 是我安裝了hadoop/spark集群后打的tag
啟動(dòng)一個(gè)容器
使用如下命令啟動(dòng)一個(gè)容器
$ docker run -ti ubuntu:16.04
啟動(dòng)一個(gè)容器后,將看到如圖效果:
3.png
容器啟動(dòng)后,接下來(lái)就要安裝java,及進(jìn)行相關(guān)配置
安裝 java
使用如下命令安裝一個(gè)java環(huán)境
$ apt update
$ apt install software-properties-common python-software-properties
$ add-apt-repository ppa:webupd8team/java
$ apt update
$ apt install oracle-java8-installer
$ java -version
$ apt install oracle-java8-installer這條命令有可能失敗,多試幾次就可以了
在$ java -version命令后你將看到java的版本信息
如圖:
4.png
安裝完
java后,下面就要進(jìn)行環(huán)境變量的配置了
修改~/.bashrc文件。在文件末尾加入下面配置信息:
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
如圖:
接下來(lái)是安裝集群了,包括
zookeeper、hadoop、spark.
接下來(lái)的工作可能會(huì)用到如下命令:
wget http://...,用于下載資源文件ifconfig用于查看當(dāng)前容器ip信息vim用于編輯文件所以我們?cè)谶@里可以先進(jìn)行安裝這些工具:
$ apt update $ apt install wget $ apt install vim $ apt install net-tools # ifconfig $ apt install iputils-ping # ping
都安裝好后,可以將此裝好環(huán)境變量的鏡像保存為一個(gè)副本,以后可以基于此副本構(gòu)建其它鏡像:
docker commit -m "java install" 009cf5ac0834 ubuntu:hadoop如圖:
1.png
然后使用docker images命令將會(huì)看到保存好的本地副本:
2.png
安裝 Zookeeper、 Hadoop、Spark、Scala
下載集群資源
我們計(jì)劃將集群的 Zookeeper、Hadoop、Spark 安裝到統(tǒng)一的目錄 /root/soft/apache下。
所以在這里我們要先構(gòu)建這個(gè)目錄:
$ cd ~/
$ mkdir soft
$ cd soft
$ mkdir apache
$ mkdir scala #這個(gè)目錄是用來(lái)安裝 scala 的
$ cd apache
$ mkdir zookeeper
$ mkdir hadoop
$ mkdir spark
下載 zookeeper
然后到這里下載 zookeeper 到
/root/soft/apache/zookeeper目錄下, 我這里下載的是zookeeper-3.4.9$ cd /root/soft/apache/zookeeper $ wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
下載 hadoop
然后到這里下載 hadoop 到
/root/soft/apache/hadoop目錄下, 我這里下載的是hadoop-2.7.4$ cd /root/soft/apache/hadoop $ wget http://mirrors.sonic.net/apache/hadoop/common/hadoop-2.7.4/hadoop-2.7.4.tar.gz
下載 spark
然后到這里下載 spark 到
/root/soft/apache/spark目錄下, 我這里下載的是spark-2.2.0-bin-hadoop2.7$ cd /root/soft/apache/spark $ wget https://d3kbcqa49mib13.cloudfront.net/spark-2.2.0-bin-hadoop2.7.tgz
下載 scala
然后到這里下載 scala 到
/root/soft/scala目錄下, 我這里下載的是scala-2.11.11$ cd /root/soft/scala $ wget https://downloads.lightbend.com/scala/2.11.11/scala-2.11.11.tgz
安裝 Zookeeper
- 進(jìn)入 zookeeper 目錄,然后解壓下載下來(lái)的
zookeeper-3.4.9.tar.gz$ cd /root/soft/apache/zookeeper $ tar xvzf zookeeper-3.4.9.ar.gz
- 修改
~/.bashrc, 配置zookeeper環(huán)境變量$ vim ~/.bashrc export ZOOKEEPER_HOME=/root/soft/apache/zookeeper/zookeeper-3.4.9 export PATH=$PATH:$ZOOKEEPER_HOME/bin $ source ~/.bashrc #使環(huán)境變量生效如圖:
1.png
- 修改
zookeeper配置信息:$ cd zookeeper-3.4.9/conf/ $ cp zoo_sample.cfg zoo.cfg $ vim zoo.cfg修改如下信息:
dataDir=/root/soft/apache/zookeeper/zookeeper-3.4.9/tmp server.1=master:2888:3888 server.2=slave1:2888:3888 server.3=slave2:2888:3888如圖:
2.png
- 接下來(lái)添加
myid文件$ cd ../ $ mkdir tmp $ cd tmp $ touch myid $ echo 1 > myid
..../tmp/myid 文件中保存的數(shù)字代表本機(jī)的zkServer編號(hào) 在此設(shè)置master為編號(hào)為1的zkServer,之后生成slave1和slave2之后還需要分別修改此文件
安裝 Hadoop
- 進(jìn)入 hadoop 目錄,然后解壓下載下來(lái)的
hadoop-2.7.4.tar.gz$ cd /root/soft/apache/hadoop $ tar xvzf hadoop-2.7.4.tar.gz
- 修改
~/.bashrc, 配置hadoop環(huán)境變量$ vim ~/.bashrc export HADOOP_HOME=/root/soft/apache/hadoop/hadoop-2.7.4 export HADOOP_CONFIG_HOME=$HADOOP_HOME/etc/hadoop export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin # 保存退出 esc :wq! $ source ~/.bashrc #使環(huán)境變量生效如圖:
1.png
- 配置
hadoop# 首先進(jìn)入 `hadoop` 配置文件的目錄,因?yàn)?`hadoop` 所有的配置都在此目錄下 $ cd $HADOOP_CONFIG_HOME/
- 修改核心配置
core-site.xml, 添加如下信息到此文件的< configuration > </configuration >中間<configuration> <property> <name>hadoop.tmp.dir</name> <value>/root/soft/apache/hadoop/hadoop-2.7.4/tmp</value> <description>A base for other temporary directories.</description> </property> <property> <name>fs.default.name</name> <value>hdfs://master:9000</value> <final>true</final> <description>The name of the default file system. A URI whose scheme and authority determine the FileSystem implementation. The uri's scheme determines the config property (fs.SCHEME.impl) naming the FileSystem implementation class. The uri's authority is used to determine the host, port, etc. for a filesystem.</description> </property> <configuration>
- 修改
hdfs-site.xml, 添加如下信息:# dfs.nameservices 名稱服務(wù),在基于HA的HDFS中,用名稱服務(wù)來(lái)表示當(dāng)前活動(dòng)的NameNode # dfs.ha.namenodes. 配置名稱服務(wù)下有哪些NameNode # dfs.namenode.rpc-address.. 配置NameNode遠(yuǎn)程調(diào)用地址 # dfs.namenode.http-address.. 配置NameNode瀏覽器訪問(wèn)地址 # dfs.namenode.shared.edits.dir 配置名稱服務(wù)對(duì)應(yīng)的JournalNode # dfs.journalnode.edits.dir JournalNode存儲(chǔ)數(shù)據(jù)的路徑 <configuration> <property> <name>dfs.nameservices</name> <value>ns1</value> </property> <property> <name>dfs.ha.namenodes.ns1</name> <value>nn1,nn2</value> </property> <property> <name>dfs.namenode.rpc-address.ns1.nn1</name> <value>master:9000</value> </property> <property> <name>dfs.namenode.http-address.ns1.nn1</name> <value>master:50070</value> </property> <property> <name>dfs.namenode.rpc-address.ns1.nn2</name> <value>slave1:9000</value> </property> <property> <name>dfs.namenode.http-address.ns1.nn2</name> <value>slave1:50070</value> </property> <property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://master:8485;slave1:8485;slave2:8485/ns1</value> </property> <property> <name>dfs.journalnode.edits.dir</name> <value>/root/soft/apache/hadoop/hadoop-2.7.4/journal</value> </property> <property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property> <property> <name>dfs.client.failover.proxy.provider.ns1</name> <value> org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider </value> </property> <property> <name>dfs.ha.fencing.methods</name> <value> sshfence shell(/bin/true) </value> </property> <property> <name>dfs.ha.fencing.ssh.private-key-files</name> <value>/root/.ssh/id_rsa</value> </property> <property> <name>dfs.ha.fencing.ssh.connect-timeout</name> <value>30000</value> </property> </configuration>
- 修改
Yarn的配置文件yarn-site.xml:# yarn.resourcemanager.hostname RescourceManager的地址,NodeManager的地址在slaves文件中定義 <configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
- 修改
mapred-site.xml
這個(gè)文件是不存在的,需要將 mapred-site.xml.template copy一份$ cp mapred-site.xml.template mapred-site.xml
然后編輯 mapred-site.xml ,添加如下信息到文件<configuration> <!-- 指定MapReduce框架為yarn方式 --> <property> <name> mapreduce.framework.name </name> <value>yarn</value> </property> </configuration>
- 修改指定
DataNode和NodeManager的配置文件slaves:$ vim slaves
添加如下節(jié)點(diǎn)名master slave1 slave2到此
hadoop算是安裝配置好了
安裝 Spark
- 進(jìn)入 spark 目錄,然后解壓下載下來(lái)的
spark-2.2.0-bin-hadoop2.7.tgz$ cd /root/soft/apache/spark $ tar xvzf spark-2.2.0-bin-hadoop2.7.tgz
- 修改
~/.bashrc, 配置spark環(huán)境變量$ vim ~/.bashrc export SPARK_HOME=/root/soft/apache/spark/spark-2.2.0-bin-hadoop2.7 export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH # 保存退出 esc :wq! $ source ~/.bashrc #使環(huán)境變量生效
- 修改
spark配置$ cd spark-2.2.0-bin-hadoop2.7/conf $ cp spark-env.sh.template spark-env.sh $ vim spark-env.sh
添加如下信息:export SPARK_MASTER_IP=master export SPARK_WORKER_MEMORY=128m export JAVA_HOME=/usr/lib/jvm/java-8-oracle export SCALA_HOME=/root/soft/scala/scala-2.11.11 # scala我們后面會(huì)安裝它 export SPARK_HOME=/root/soft/apache/spark/spark-2.2.0-bin-hadoop2.7 export HADOOP_CONF_DIR=/root/soft/apache/hadoop/hadoop-2.7.4/etc/hadoop export SPARK_LIBRARY_PATH=$SPARK_HOME/lib export SCALA_LIBRARY_PATH=$SPARK_LIBRARY_PATH export SPARK_WORKER_CORES=1 export SPARK_WORKER_INSTANCES=1 export SPARK_MASTER_PORT=7077
保存退出 esc :wq!
修改指定Worker的配置文件 slaves:$ vim slaves
添加master slave1 slave2到這里,
Spark也算安裝配置完成了。
安裝 Scala
- 進(jìn)入 scala 目錄,然后解壓下載下來(lái)的
scala-2.11.11.tgz$ cd /root/soft/scala $ tar xvzf scala-2.11.11.tgz
- 修改
~/.bashrc, 配置spark環(huán)境變量$ vim ~/.bashrc export SCALA_HOME=/root/soft/scala/scala-2.11.11 export PATH=$PATH:$SCALA_HOME/bin # 保存退出 esc :wq! $ source ~/.bashrc #使環(huán)境變量生效到這里,
scala也算安裝配置完成了
安裝 SSH, 配置無(wú)密碼訪問(wèn)集群其它機(jī)器
搭建集群環(huán)境,自然少不了使用
SSH。這可以實(shí)現(xiàn)無(wú)密碼訪問(wèn),訪問(wèn)集群機(jī)器的時(shí)候很方便。
使用如下命令安裝 ssh$ apt install ssh
SSH裝好了以后,由于我們是Docker容器中運(yùn)行,所以SSH服務(wù)不會(huì)自動(dòng)啟動(dòng)。需要我們?cè)谌萜鲉?dòng)以后,手動(dòng)通過(guò)/usr/sbin/sshd手動(dòng)打開SSH服務(wù)。未免有些麻煩,為了方便,我們把這個(gè)命令加入到~/.bashrc文件中。通過(guò)vim ~/.bashrc編輯.bashrc文件,$ vim ~/.bashrc在文件后追加下面內(nèi)容:
#autorun /usr/sbin/sshd然后運(yùn)行
source ~/.bashrc使配置生效$ source ~/.bashrc此過(guò)程可能會(huì)報(bào)錯(cuò):
Missing privilege separation directory: /var/run/sshd需要自己創(chuàng)建這個(gè)目錄$ mkdir /var/run/sshd
- 生成訪問(wèn)密鑰
$ cd ~/ $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa $ cd .ssh $ cat id_rsa.pub >> authorized_keys
注意: 這里,我的思路是直接將密鑰生成后寫入鏡像,免得在買個(gè)容器里面再單獨(dú)生成一次,還要相互拷貝公鑰,比較麻煩。當(dāng)然這只是學(xué)習(xí)使用,實(shí)際操作時(shí),應(yīng)該不會(huì)這么搞,因?yàn)檫@樣所有容器的密鑰都是一樣的?。。?/code>到這里,
SSH也算安裝配置完成了
到這里,Spark 集群算是基本安裝配置好了,剩下就是部署分布式了。
先查看ip
$ ifconfig
#//172.17.0.2
保存鏡像副本
這里我們將安裝好
Zookeeper、Hadopp、Spark、Scala的鏡像保存為一個(gè)副本
- 退出
Docker$ exit
- 保存一個(gè)副本
$ docker commit -m "zookeeper hadoop spark scala install" 7b97ba289b22 ubuntu:spark之后我們會(huì)基于此副本來(lái)運(yùn)行我們的集群
分布式各節(jié)點(diǎn)啟動(dòng)腳本
- 驗(yàn)證一下
IP規(guī)則分別開 3 個(gè)終端。分別跑如下命令,開啟3 個(gè)
Docker
終端 1:$ docker run -ti -h master ubuntu:spark $ ifconfig #172.17.0.2
終端 2:$ docker run -ti -h slave1 ubuntu:spark $ ifconfig #172.17.0.3
終端 3:$ docker run -ti -h slave2 ubuntu:spark $ ifconfig #172.17.0.4看到了沒(méi),這3個(gè)
Docker的ip分別是172.17.0.2、172.17.0.3、172.17.0.4,它是取決于啟動(dòng)Docker的順序的。
接下來(lái)退出這幾個(gè)Docker,然后編寫啟動(dòng)腳本
- 編寫集群節(jié)點(diǎn)啟動(dòng)腳本
啟動(dòng) ubuntu:spark$ docker run -ti ubuntu:spark
進(jìn)入 /root/soft目錄,我們將啟動(dòng)腳本都放這里吧$ cd /root/soft $ mkdir shell $ cd shell
vim run_master.sh創(chuàng)建 Master 節(jié)點(diǎn)的運(yùn)行腳本$ vim run_master.sh添加如下信息:
#!/bin/bash #清空hosts文件信息 echo> /etc/hosts #配置主機(jī)的host echo 172.17.0.1 host >> /etc/hosts echo 172.17.0.2 master >> /etc/hosts echo 172.17.0.3 slave1 >> /etc/hosts echo 172.17.0.4 slave2 >> /etc/hosts #配置 master 節(jié)點(diǎn)的 zookeeper 的 server id echo 1 > /root/soft/apache/zookeeper/zookeeper-3.4.9/tmp/myid zkServer.sh start hadoop-daemons.sh start journalnode hdfs namenode -format hdfs zkfc -formatZK start-dfs.sh start-yarn.sh start-all.sh
vim run_slave1.sh創(chuàng)建 Slave1 節(jié)點(diǎn)的運(yùn)行腳本$ vim run_slave1.sh添加如下信息:
#!/bin/bash #清空hosts文件信息 echo> /etc/hosts #配置主機(jī)的host echo 172.17.0.1 host >> /etc/hosts echo 172.17.0.2 master >> /etc/hosts echo 172.17.0.3 slave1 >> /etc/hosts echo 172.17.0.4 slave2 >> /etc/hosts #配置 master 節(jié)點(diǎn)的 zookeeper 的 server id echo 2 > /root/soft/apache/zookeeper/zookeeper-3.4.9/tmp/myid zkServer.sh start
vim run_slave2.sh創(chuàng)建 Slave2 節(jié)點(diǎn)的運(yùn)行腳本$ vim run_slave2.sh添加如下信息:
#!/bin/bash #清空hosts文件信息 echo> /etc/hosts #配置主機(jī)的host echo 172.17.0.1 host >> /etc/hosts echo 172.17.0.2 master >> /etc/hosts echo 172.17.0.3 slave1 >> /etc/hosts echo 172.17.0.4 slave2 >> /etc/hosts #配置 master 節(jié)點(diǎn)的 zookeeper 的 server id echo 3 > /root/soft/apache/zookeeper/zookeeper-3.4.9/tmp/myid zkServer.sh start
vim stop_master.sh創(chuàng)建 Stop 腳本$ vim stop_master.sh添加如下信息:
#!/bin/bash zkServer.sh stop hadoop-daemons.sh stop journalnode stop-dfs.sh stop-yarn.sh stop-all.sh各節(jié)點(diǎn)運(yùn)行腳本到此編寫完成。
- 最后
chmod +x run_master.sh chmod +x run_slave1.sh chmod +x run_slave2.sh chmod +x stop_master.sh
- 退出
Docker, 并保存副本$ exit
保存副本$ docker commit -m "zookeeper hadoop spark scala install" 266b46cce542 ubuntu:spark
- 配置虛擬機(jī)
ubuntu的hosts$ vim /etc/hosts
添加如下hosts172.17.0.1 host 172.17.0.2 master 172.17.0.3 slave1 172.17.0.4 slave2
到此所有配置安裝基本完成了,下面開啟你的Spark集群吧?。?!
啟動(dòng) Spark 集群
- 啟動(dòng) Master 節(jié)點(diǎn)
$ docker run -ti -h master ubuntu:spark在這里先不要著急著運(yùn)行
run_master.sh啟動(dòng)腳本。等最后再運(yùn)行
- 啟動(dòng) Slave1 節(jié)點(diǎn)
$ docker run -ti -h slave1 ubuntu:spark運(yùn)行
run_slave1.sh啟動(dòng)腳本$ ./root/soft/shell/run_slave1.sh
- 啟動(dòng) Slave2 節(jié)點(diǎn)
$ docker run -ti -h slave2 ubuntu:spark運(yùn)行
run_slave2.sh啟動(dòng)腳本$ ./root/soft/shell/run_slave2.sh
- 最后再運(yùn)行 Master 節(jié)點(diǎn)的啟動(dòng)腳本
run_master.sh
切換到啟動(dòng)了 Master 節(jié)點(diǎn)的 Docker 終端
$ ./root/soft/shell/run_master.sh
可以使用 jps 命令查看當(dāng)前集群運(yùn)行情況$ jps
不出意外的話,你應(yīng)該能看到類似如下信息:2081 QuorumPeerMain 3011 NodeManager 2900 ResourceManager 2165 JournalNode 2405 NameNode 3159 Worker 2503 DataNode 3207 Jps
到此已經(jīng)啟動(dòng)了你的 Spark 集群了。
- 還可以登錄web管理臺(tái)來(lái)查看運(yùn)行狀況:
服務(wù) 地址 HDFS master:50070 Yarn master:8088 Spark master:8080












