單機(jī)搭建
環(huán)境要求
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
mac 啟動(dòng)sshd
$ sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
查看啟動(dòng)
$ sudo launchctl list | grep ssh
輸出- 0 com.openssh.sshd 表示啟動(dòng)成功
停止sshd服務(wù)
$ sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
安裝Hadoop,參考
格式化HDFS文件系統(tǒng),啟動(dòng)Hadoop
$HADOOP_HOME/bin/hdfs namenode -format
# 進(jìn)入sbin/
$ start-all.sh
- 執(zhí)行jps 查看是否正常啟動(dòng)
$ jps
30256 Jps
29793 DataNode
29970 SecondaryNameNode
29638 NameNode
30070 ResourceManager
30231 NodeManager
打開(kāi) http://localhost:50070/explorer.html 網(wǎng)頁(yè)查看hadoop目錄結(jié)構(gòu),說(shuō)明安裝成功
開(kāi)始安裝Spark
- 下載Spark壓縮包
解壓spark壓縮包
$ tar xvzf spark.1.6.tar.gz
加入環(huán)境變量
$ vi ~/.bashrc
# 添加如下內(nèi)容
SCALA_HOME=/Users/ysisl/app/spark/scala-2.10.4
SPARK_HOME=/Users/ysisl/app/spark/spark-1.6.1-bin-hadoop2.6
設(shè)置配置文件
$ cd spar-1.6.1-bin-hadoop2.6/conf
$ cp spark-env.sh.template spark-env.sh
$ vi spar-env.sh
# 添加如下內(nèi)容
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
export SCALA_HOME=/Users/ysisl/app/spark/scala-2.10.4
export HADOOP_CONF_DIR=/Users/ysisl/app/hadoop/hadoop-2.6.4/etc/hadoop
export SPARK_MASTER_IP=localhost
export SPARK_WORKER_CORES=2
export SPARK_WORKER_MEMORY=2g
$ cp slaves.template slaves
默認(rèn)slaves現(xiàn)在就主機(jī)一臺(tái)
- 啟動(dòng)Spark
$ sbin/start-all.sh
jps 查看到多出一個(gè)Master,worker進(jìn)程
$ jps
29793 DataNode
29970 SecondaryNameNode
30275 Master
30468 SparkSubmit
29638 NameNode
30070 ResourceManager
30231 NodeManager
30407 Worker
30586 Jps
配置scala 、spark 、 hadoop 環(huán)境變量加入PATH ,方便執(zhí)行
$ vi ~/.bashrc
export HADOOP_HOME=/Users/ysisl/app/hadoop/hadoop-2.6.4
export SCALA_HOME=/Users/ysisl/app/spark/scala-2.10.4
export SPARK_HOME=/Users/ysisl/app/spark/spark-1.6.1-bin-hadoop2.6
export PATH="${HADOOP_HOME}/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:$PATH"
- 測(cè)試運(yùn)行
準(zhǔn)備一個(gè)csv文件,路徑../hadoop/test.csv
查看HDFS文件系統(tǒng)結(jié)構(gòu), 執(zhí)行$ hadoop fs -lsr /
新建HDFS目錄 ,$ hadoop fs -mkdir /test
上傳文件到目錄,$ hadoop fs -put ../hadoop/test.csv /test/
查看已創(chuàng)建的目錄文件,$ hadoop fs -lsr /
執(zhí)行 spark-shell
$ spark-shell
scala > val file=sc.textFile("hdfs:/test/test.csv")
scala > val count=file.flatMap(line=>line.split(" ")).map(word=>(word,1)).reduceByKey(_+_)
scala > count.collect
查看執(zhí)行狀態(tài)
http://localhost:8080,查看spark 集群運(yùn)行情況。 此端口一般與其他端口沖突
在spark-env.sh 中加入export SPARK_MASTER_WEBUI_PORT=98080來(lái)指定端口
http://localhost:4040/jobs/ ,查看 spark task job運(yùn)行情況
http://localhost:50070/ hadoop集群運(yùn)行情況