Spark 安装和配置

单机搭建

环境要求

  1. 安装JDK,参考

  2. 安装Scala 2.10.4,参考

  3. 配置sshd(不是必须的)

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
mac 启动sshd
$ sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
查看启动
$ sudo launchctl list | grep ssh
输出- 0 com.openssh.sshd 表示启动成功
停止sshd服务
$ sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
  1. 安装Hadoop,参考

  2. 格式化HDFS文件系统,启动Hadoop

$HADOOP_HOME/bin/hdfs namenode -format
# 进入sbin/ 
$ start-all.sh
  1. 执行jps 查看是否正常启动
$ jps
30256 Jps
29793 DataNode
29970 SecondaryNameNode
29638 NameNode
30070 ResourceManager
30231 NodeManager

打开 http://localhost:50070/explorer.html 网页查看hadoop目录结构,说明安装成功

开始安装Spark

  1. 下载Spark压缩包
    解压spark压缩包
$ tar xvzf spark.1.6.tar.gz

加入环境变量

$ vi ~/.bashrc
# 添加如下内容
SCALA_HOME=/Users/ysisl/app/spark/scala-2.10.4
SPARK_HOME=/Users/ysisl/app/spark/spark-1.6.1-bin-hadoop2.6

设置配置文件

$ cd spar-1.6.1-bin-hadoop2.6/conf
$ cp spark-env.sh.template spark-env.sh
$ vi spar-env.sh
# 添加如下内容
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

默认slaves现在就主机一台

  1. 启动Spark
$ sbin/start-all.sh

jps 查看到多出一个Master,worker进程

$ jps
29793 DataNode
29970 SecondaryNameNode
30275 Master
30468 SparkSubmit
29638 NameNode
30070 ResourceManager
30231 NodeManager
30407 Worker
30586 Jps

配置scala 、spark 、 hadoop 环境变量加入PATH ,方便执行

$ 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"
  1. 测试运行
    准备一个csv文件,路径 ../hadoop/test.csv
    查看HDFS文件系统结构, 执行$ hadoop fs -lsr /
    新建HDFS目录 ,$ hadoop fs -mkdir /test
    上传文件到目录,$ hadoop fs -put ../hadoop/test.csv /test/
    查看已创建的目录文件, $ hadoop fs -lsr /
    执行 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

查看执行状态

http://localhost:8080,查看spark 集群运行情况。 此端口一般与其他端口冲突
在spark-env.sh 中加入export SPARK_MASTER_WEBUI_PORT=98080来指定端口

http://localhost:4040/jobs/ ,查看 spark task job运行情况

http://localhost:50070/ hadoop集群运行情况

    原文作者:Alex90
    原文地址: https://www.jianshu.com/p/5a46a3193ca0
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞