CentOS 7.0下面安裝並配置Spark


安裝環境:
虛擬機:VMware® Workstation 8.0.1(網絡橋接)
OS:CentOS 7
JDK版本:jdk-7u79-linux-x64.tar
Scala版本:scala-2.11.7
Spark版本:spark-1.4.0-bin-hadoop2.4
用戶:hadoop安裝Centos時創建的,屬於管理員組

第一步:配置SSH

使用hadoop登錄系統,在終端運行:

yum install openssh-server

wpsE08F.tmp_thumb1

如果提示:

wpsE090.tmp_thumb2

則是因為yum服務被占用,需要強制解鎖:

rm -rf /var/run/yum.pid

wpsE091.tmp_thumb2

終端就會聯網下載安裝包並自行進行安裝。安裝完成后輸入下面指令驗證22端口是否打開:

netstat -nat

wpsE0A2.tmp_thumb2

wpsE0A3.tmp_thumb2

確定22端口是打開的,然后檢查SSH安裝正確否,輸入

ssh localhost

輸入當前用戶名和密碼按回車確認,說明安裝成功,同時ssh登陸需要密碼。

wpsE0B3.tmp_thumb2

這里重點說明一下:

Ssh配置實際上就是配置無密碼訪問,使用身份憑據代替密碼驗證,訪問時只需要提供一個身份憑據即可,不需要輸入密碼。那么意思也就是說,每一個用戶都有一個獨一無二的憑據,要訪問誰,就將這個憑據交給誰(即復制到人家的目錄下即可)

接下來,在終端輸入命令進入Hadoop賬戶目錄:

cd /home/hadoop 

再次輸入:

ssh-keygen -t rsa

然后一路回車

wpsE0B4.tmp_thumb2

然后我們再次進入.ssh文件夾,然后將id_rsa.pub追加到authorized_keys文件,命令如下:

cd .ssh

wpsE0B5.tmp_thumb2

順便查看下本目錄下都有什么文件。Id_rsa是屬於該賬戶的私鑰,id_rsa.pub是屬於該賬戶的公鑰,就是要交出去的。

這里需要多說一句,如果一個主服務器有多個賬戶要配置無密碼訪問怎么辦?

主服務器下面應該有一個叫authorized_keys 的文件,誰需要配置無密碼訪問,就把你的公鑰追加在這個文件里即可。

cp id_rsa.pub authorized_keys

wpsE0C6.tmp_thumb2

再次測試無密碼登錄

ssh localhost

wpsE0C7.tmp_thumb2

最好是多打開幾次終端,測試ssh登錄,也可以重啟服務測試:

service sshd restart 重啟服務

service sshd start 啟動服務

service sshd stop 停止服務 

netstat -antp | grep sshd 查看是否啟動22端口

wpsE0D7.tmp_thumb2

任何時候遇到權限拒絕在命令前加上sudo 即可,如下就被拒絕了:

wpsE0D8.tmp_thumb2

chkconfig sshd on設置開機啟動

chkconfig sshd off 禁止SSH開機啟動

第二步:配置Java、Scala、Saprk

咱們一次性將需要的軟件全部復制到/home/data目錄下備用。需要注銷使用root登錄,其他用戶權限不夠。

Root用戶可以直接在UI下面操作,順便解壓好。

wpsE0D9.tmp_thumb2

然后切換回hadoop用戶(*重要)

配置Java路徑:

sudo gedit /etc/profile

在最后一行回車加上:

#JAVA VARIABLES START

export JAVA_HOME=/home/data/jdk1.7.0_79

export PATH=$PATH:$JAVA_HOME/bin

#JAVA VARIABLES END

然后刷新系統配置,檢查Java安裝情況:

source /etc/profile

java -version

wpsE0EA.tmp_thumb2

看到這個說明Java環境安裝成功。

接下來配置Scala環境:

sudo gedit /etc/profile

在最后一行加上:

#SCALA VARIABLES START

export SCALA_HOME=/home/data/scala-2.11.7

export PATH=$PATH:$SCALA_HOME/bin

#SCALA VARIABLES END

然后刷新系統配置,檢查Java安裝情況:

source /etc/profile

scala -version

看到下圖說明成功:

wpsE0EB.tmp_thumb2

接下來配置Spark環境:

sudo gedit /etc/profile

在最后一行加上:

#SPARK VARIABLES START

export SPARK_HOME=/home/data/spark-1.4.0-bin-hadoop2.4

export PATH=$PATH:$SPARK_HOME/bin

#SPARK VARIABLES END

配置完成的profile文件應該如下圖:

wpsE0FC.tmp_thumb2

然后刷新系統配置:

source /etc/profile

進入spark的conf目錄:

wpsE0FD.tmp_thumb2

備份文件:

sudo mv spark-env.sh.template spark-env.sh

然后編輯新建的文件:

sudo gedit spark-env.sh

在文件最下面加入:

export SCALA_HOME=/home/data/scala-2.11.7

export JAVA_HOME=/home/data/jdk1.7.0_79

export SPARK_MASTER_IP=localhost

export SPARK_WORKER_MEMORY=1024m

export master=spark://localhost 7070

最后還應該編輯該目錄下的slaves中機器名,因為我機器名就叫localhost,所以就不編輯了。

第三步:運行Spark

啟動Spark集群。

進入sbin目錄:

wpsE10D.tmp_thumb2

然后在瀏覽器中訪問:localhost:8080

wpsE10E.tmp_thumb2

從頁面上可以看到一個Worker節點的信息。

我們進入spark的bin目錄,使用“spark-shell”控制台:

應該無錯出現下面界面:

wpsE11F.tmp_thumb2

測試下:

wpsE120.tmp_thumb2

通過訪問"http://localhost:4040",進入spark-shell web控制台頁面:

wpsE130.tmp_thumb2

wpsE131.tmp_thumb2

輸入:

hello world

hello hadoop

pls say hello

然后在Scala命令行輸入讀取程序:

val readFile = sc.textFile("file:///home/file/test1.txt")

wpsE132.tmp_thumb2

再執行:

readFile.collect

wpsE143.tmp_thumb2

wpsE144.tmp_thumb2

查看spark-shell web控制台:

wpsE155.tmp_thumb2

wpsE156.tmp_thumb3


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM