新聞中心
這篇文章是我學(xué)習(xí)大數(shù)據(jù)的一個延續(xù)。我們將在ubuntu 17.10上安裝一個apache Spark服務(wù)器,它將把執(zhí)行器部署到Apache Mesos集群中。

創(chuàng)新互聯(lián)建站客戶idc服務(wù)中心,提供綿陽服務(wù)器托管、成都服務(wù)器、成都主機(jī)托管、成都雙線服務(wù)器等業(yè)務(wù)的一站式服務(wù)。通過各地的服務(wù)中心,我們向成都用戶提供優(yōu)質(zhì)廉價的產(chǎn)品以及開放、透明、穩(wěn)定、高性價比的服務(wù),資深網(wǎng)絡(luò)工程師在機(jī)房提供7*24小時標(biāo)準(zhǔn)級技術(shù)保障。
什么是Spark?
如果你從事這個職位,那么很可能你已經(jīng)知道Spark是什么了。 但是,以防萬一,從他們的主頁可以看出Spark是簡單的:
Apache Spark是一個快速和通用的集群計算系統(tǒng)。 它提供Java,Scala,Python和R中的高級API,以及支持通用執(zhí)行g(shù)raphs的優(yōu)化引擎。 它還支持一套豐富的高級工具,包括用于SQL和結(jié)構(gòu)化數(shù)據(jù)處理的Spark SQL,用于機(jī)器學(xué)習(xí)的MLlib,用于圖形處理的GraphX以及Spark Streaming。
必要條件
對于這個Spark服務(wù)器,我們需要一個虛擬機(jī)(或者物理服務(wù)器,如果有的話)至少有8GB的RAM,4個vCPU和60GB的空間。 還假設(shè)你有一個mesos集群來運(yùn)行我們的Spark。 如果你不這樣做,不要害怕你還可以運(yùn)行spark,但這篇文章不會涵蓋這一場景。
我們的第一步是確保更新我們的Ubuntu服務(wù)器。更新完成后,繼續(xù)并重新啟動。
# apt update && apt upgrade -y
# reboot
下一步安裝 Java 8.
# apt install -y openjdk-8-jdk
由于我們將使用Mesos來部署,因此我們需要在系統(tǒng)上安裝mesos,以便我們可以指向mesos庫。 可能有一個更簡單的方法(我知道這種方式糟透了)做到這一點(diǎn),但這就是我知道的對我有用的方法。 如果您知道更簡單的方法,請在下面評論。 您將需要下載并編譯您要部署到的相同版本的Mesos。 對我來說是Mesos 1.4.0。
# apt -y install build-essential python-dev libcurl4-nss-dev libsasl2-dev libsasl2-modules maven libapr1-dev libsvn-dev unzip libz-dev
# wget http://archive.apache.org/dist/mesos/1.4.0/mesos-1.4.0.tar.gz
# tar -xzvf mesos-1.4.0.tar.gz
# cd mesos-1.4.0/
# mkdir build
# cd build
# ../configure
# ln -s /usr/include/locale.h /usr/include/xlocale.h # this is needed or the compile will fail
# make -j 2 V-0
# make install
# ldconfig
我告訴過你這很糟糕,但這是必要的。
我們現(xiàn)在準(zhǔn)備下載并安裝Spark。
安裝 Spark
Get the latest stable release of spark from their downloads page http://spark.apache.org/downloads.html. Leave the selection boxes at their default. At the time of this writing, the latest version of Spark is 2.2.0 so we will download that version. Click on the link on step 3 and you will be taken to a list of mirrors. Copy the URL for the recommended mirror. Next go back to your Spark server and run the following command, substituting your URL:
從官方下載頁面http://spark.apache.org/downloads.html獲取最新的穩(wěn)定版Spark。將選擇框保留在缺省值中。在寫這篇文章時,Spark的最新版本是2.2.0,所以我們將下載該版本。 點(diǎn)擊第3步的鏈接,你將被帶到鏡像列表。 復(fù)制推薦鏡像的URL。 接下來返回到您的Spark服務(wù)器并運(yùn)行以下命令,替換您的URL:
# wget http://mirror.reverse.net/pub/apache/spark/spark-2.2.0/spark-2.2.0-bin-Hadoop2.7.tgz
解壓下載來的包文件.
# tar -xzvf spark-2.2.0-bin-hadoop2.7.tgz
將我們的目錄重命名為spark,并將其移到更好的地方。
# mv spark-2.2.0-bin-hadoop2.7 spark
# mv spark /usr/local/spark
出于某種原因,當(dāng)我下載并提取它時,我擁有了用戶500組500所擁有的所有文件。請檢查并確認(rèn)是否屬于這種情況。
# ls -al /usr/local/spark
如果是這樣,那么你將需要修復(fù)權(quán)限。
# chown root:root -R /usr/local/spark
此時我們已經(jīng)在我們的服務(wù)器上安裝了Spark。 現(xiàn)在是配置它與Mesos一起工作的時候了。
配置Spark以使用Mesos
在Mesos slaves,你將需要安裝Spark二進(jìn)制文件,就像我們以前做的。 下面是整個命令:
# wget http://mirror.reverse.net/pub/apache/spark/spark-2.2.0/spark-2.2.0-bin-hadoop2.7.tgz
# tar -xzvf spark-2.2.0-bin-hadoop2.7.tgz
# mv spark-2.2.0-bin-hadoop2.7 spark
# mv spark /usr/local/spark
# chown root:root -R /usr/local/spark
當(dāng)Spark觸發(fā)將運(yùn)行我們的Spark執(zhí)行程序的mesos任務(wù)時,它將會像查看它的任何框架一樣尋找它。 確保你在所有的Mesos slaves上這樣做。
現(xiàn)在回到你的Spark服務(wù)器上,我們需要配置它來使用Mesos。 我們要做的第一件事就是編輯我們的spark環(huán)境腳本。
# mv conf/spark-defaults.conf.template conf/spark-defaults.conf
編輯文件并添加以下行:
spark.mesos.task.labels=text:text1
spark.mesos.executor.home=/usr/local/spark/
這第一行就是阻止一些惱人的警告,如果你沒有那樣坐,你會收到。 第二行告訴Mesos哪里可以找到我們Mesos slaves從站上的Spark二進(jìn)制文件。 我們現(xiàn)在準(zhǔn)備在客戶端模式下運(yùn)行Spark,這將給我們一個CLI,我們可以用它來測試。
第一行是為了阻止一些惱人的警告,如果你不在那里,你會收到。第二行告訴Mesos在哪里可以找到Mesos奴隸的Spark二進(jìn)制文件?,F(xiàn)在我們已經(jīng)準(zhǔn)備好在客戶端模式中運(yùn)行Spark,它將給我們一個CLI,我們可以使用它來測試。
測試你的Spark安裝
現(xiàn)在,一切正確配置,我們可以測試,以確保一切正常。 你將需要你的mesos masters的zookeeper地址格式如下:
mesos://zk://mesos1:2181,mesos2:2181,mesos3:2181/mesos
我實(shí)際上使用IP地址進(jìn)行安裝,當(dāng)我們啟動python客戶端時,這將是必需的。導(dǎo)出環(huán)境變量MESOS_NATIVE_JAVA_LIBRARY設(shè)置為您的libmesos.so位置,如果您按照上面的說明執(zhí)行操作:
export MESOS_NATIVE_JAVA_LIBRARY=/usr/local/lib/libmesos.so
使用以下命令運(yùn)行客戶端:
# ./bin/pyspark --master mesos://zk://mesos1:2181,mesos2:2181,mesos3:2181/mesos
這將加載python Spark客戶端,并在Mesos上啟動一些任務(wù)。 您可以通過轉(zhuǎn)到您的mesos集群GUI(http://{mesos-ip}:5050)并查看Active Tasks來驗(yàn)證。 你應(yīng)該看到兩個PySparkShell的任務(wù)名稱。 您還應(yīng)該看到您的CLI正在運(yùn)行:
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/__ / .__/\_,_/_/ /_/\_\ version 2.2.0
/_/
Using Python version 2.7.14 (default, Sep 23 2017 22:06:14)
SparkSession available as 'spark'.
>>>
您還可以在以下位置查看Spark應(yīng)用程序UI:
http://{spark-ip}:4040
我希望你喜歡這個帖子。 如果有幫助或者如果有問題,請發(fā)表評論并告訴我。
文章標(biāo)題:在Ubuntu17.10上安裝ApacheSpark
文章源于:http://www.5511xx.com/article/dpsjcio.html


咨詢
建站咨詢
