Mac下spark環境的搭建

安裝前必備的環境:

mac操作系統:本人是10.12.6

JDK:1.8.0

軟件包管理工具:brew

1、配置ssh

配置ssh就是為了能夠實現免密登錄,這樣方便遠程管理Hadoop并無需登錄密碼在Hadoop集群上共享文件資源 。

如果你的機子沒有配置ssh的話,輸入ssh localhost提示需要輸入你的電腦登錄密碼,配置好ssh之后,就不需要輸入密碼了。

配置ssh的步驟如下:

(1)在終端輸入:ssh-keygen -t rsa,之后一路enter鍵就行,如果之前進行過,則會提示是否覆蓋之前的key,輸入y即可,會進行覆蓋。

(2)終端執行:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,用于授權你的公鑰到本地可以無需密碼實現登錄。

此時就可以免密登錄了,但是本人在執行ssh localhost后,出現了如下報錯:

ssh : connect to host localhost port 22: Connection refused.

連接被拒絕。

解決方法:

選擇系統偏好設置->選擇共享->勾選遠程登錄。

之后再執行ssh localhost就可以登錄成功了。如圖:

2、安裝hadoop

命令行執行:brew install hadoop

正常情況下就等待安裝就可以成功了,不過安裝可能需要一段時間,但是本人在安裝過程中遇到了一點問題,在執行了上述命令之后,錯誤提示如下:

通過錯誤提示可以看到是因為java JDK安裝的不符合要求。

說明下,我之前安裝JDK也是通過brew install 安裝的,然后安裝完之后,檢查java版本是10.0.1,估計是安裝的java版本不符合要求。

于是重新進行了java JDK的安裝,附JDK下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

選擇對應的版本就可以了,下載之后解壓雙擊安裝,安裝完成后檢查是否安裝成功,查看java 安裝的版本:

此時安裝成功,對應的的是1.8.0版本的。

這樣之后重新執行brew install hadoop ,這次安裝成功了。安裝成功之后,在/usr/local/Cellar 目錄下,會看到有個hadoop目錄。

3、配置hadoop

3.1配置hadoop-env.sh

進入安裝目錄/usr/local/Cellar/hadoop/3.0.0/libexec/etc/hadoop,找到hadoop-env.sh文件,將export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"

改為:

exportHADOOP_OPTS="$HADOOP_OPTS-Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="exportJAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home"

(JDK的路徑,按照自己的實際情況進行配置即可)

3.2配置hdfs地址和端口

進入hadoop安裝目錄:/usr/local/Cellar/hadoop/3.0.0/libexec/etc/hadoop,編輯core-site.xml,將<configuration></configuration>改為:

<configuration>

? ?<property>

? ? ? ?<name>hadoop.tmp.dir</name>

? ? ? ?<value>/usr/local/Cellar/hadoop/hdfs/tmp</value>

? ? ? ?<description>A base for other temporary directories.</description>

? ?</property>

? ?<property>

? ? ? <name>fs.default.name</name>

? ? ? <value>hdfs://localhost:8020</value>

? </property>

</configuration>

3.3? mapreduce中jobtracker的地址和端口

仍然在hadoop的安裝目錄下,編輯mapred-site.xml,將<configuration></configuration>改為:

<configuration>

? ? ? <property>

? ? ? ? ? ? ? <name>mapred.job.tracker</name>

? ? ? ? ? ? ? <value>localhost:8021</value>

? ? ?</property>

</configuration>

3.4? 修改hdfs備份數

仍然在hadoop的安裝目錄下,編輯hdfs-site.xml,將<configuration></configuration>改為:

<configuration>

? ? ? ?<property>

? ? ? ? ? ? ? ? <name>dfs.replication</name>

? ? ? ? ? ? ? ?<value>1</value>

? ? ? ?</property>

</configuration>

3.5? 格式化hdfs

這個操作相當于一個文件系統的初始化,執行命令:hdfs namenode -format

在終端最終會顯示成功

3.6??配置Hadoop環境變量

終端執行:vim ~/.bash_profile,添加hadoop的環境變量:

export HADOOP_HOME=/usr/local/Cellar/hadoop/3.0.0/libexec

export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

備注:此處說明下,因為我使用brew install hadoop安裝之后,發現安裝目錄下顯示的有點問題,發現在/usr/local/Cellar/hadoop/3.0.0下面有bin? sbin? libexec,然后進入libexec目錄,發現下面才是真正的hadoop安裝的文件:

而/usr/local/Cellar/hadoop/3.0.0目錄下的其實是缺失的,因此配置hadoop環境變量的時候,要寫到libexec這一級別:

export HADOOP_HOME=/usr/local/Cellar/hadoop/3.0.0/libexec

否則執行啟動 hadoop的時候就會報錯。

3.7 啟動關閉hadoop服務

進入目錄:/usr/local/Cellar/hadoop/3.0.0/libexec/sbin下,執行如下命令:

./start-all.sh? ? 啟動hadoop命令

./stop-all.sh? ?關閉hadoop命令

啟動成功后,在瀏覽器中輸入http://localhost:8088,可以看到如下頁面:

4、安裝scala

命令行執行:brew install scala

執行完成后,終端輸入:scala -version進行查看,如下表明安裝成功:

然后在環境變量中增加scala相關的變量,命令行輸入:vim ~/.bash_profile進行編輯,增加環境變量:

export SCALA_HOME=/usr/local/Cellar/scala/2.12.6

export PATH=$PATH:$SCALA_HOME/bin

5、安裝spark

5.1? 安裝spark?

進入Apache Spark官網進行Spark的下載,附Spark官網下載地址:http://spark.apache.org/downloads.html

下載完之后解壓,并將解壓后的文件夾移動到/usr/local/目錄下,然后cd /usr/local進入到/usr/local目錄下,使用命令更改該目錄下的spark文件夾名稱:sudo mv ./spark-2.0.2-bin-hadoop2.7? ?./spark? 將文件夾名稱改為 spark 。

5.2? 配置環境變量

命令行輸入:vim ~/.bash_profile進行編輯,增加環境變量:

export SPARK_HOME=/usr/local/spark

export PATH=$PATH:$SPARK_HOME/bin

然后保存退出,執行source??~/.bash_profile,使之生效。

5.3? 配置spark-env.sh

進入到Spark目錄的conf配置文件中:cd /usr/local/spark/conf,執行命令:cp spark-env.sh.template spark-env.sh將spark-env.sh.template拷貝一份,然后打開拷貝后的spark-env.sh文件:vim spark-env.sh,在里面加入如下內容:

export SCALA_HOME=/usr/local/Cellar/scala/2.12.6

export SPARK_MASTER_IP=localhost

export SPARK_WORKER_MEMORY=4G

配置好之后,命令行執行:spark-shell,如果出現如下所示的畫面,就表明spark安裝成功了:

至此mac下spark單機環境就搭建完成了,以后就可以在spark shell中進行練習了。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,488評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,034評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,327評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,554評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,337評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,883評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,975評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,114評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,625評論 1 332
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,555評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,737評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,244評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,973評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,362評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,615評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,343評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,699評論 2 370

推薦閱讀更多精彩內容