spark安装

环境:CentOS 6.4, Hadoop 1.1.2, JDK 1.7, Spark 0.8.0, Scala 2.9.3

 

 

1. 安装 JDK 1.7

yum search openjdk-devel
sudo yum install java-1.7.0-openjdk-devel.x86_64
/usr/sbin/alternatives --config java
/usr/sbin/alternatives --config javac
sudo vim /etc/profile
# add the following lines at the end
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.19.x86_64
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# save and exit vim
# make the bash profile take effect immediately
$ source /etc/profile
# test
$ java -version

参考我的另一篇博客,安装和配置CentOS服务器的详细步骤

2. 安装 Scala 2.9.3

Spark 0.8.0 依赖 Scala 2.9.3, 我们必须要安装Scala 2.9.3.

下载 scala-2.9.3.tgz 并 保存到home目录.

$ tar -zxf scala-2.9.3.tgz
$ sudo mv scala-2.9.3 /usr/lib
$ sudo vim /etc/profile
# add the following lines at the end
export SCALA_HOME=/usr/lib/scala-2.9.3
export PATH=$PATH:$SCALA_HOME/bin
# save and exit vim
#make the bash profile take effect immediately
source /etc/profile
# test
$ scala -version

3. 下载预编译好的Spark

下载预编译好的Spark, spark-0.8.0-incubating-bin-hadoop1.tgz.

如果你想从零开始编译,则下载源码包,但是我不建议你这么做,因为有一个Maven仓库,twitter4j.org, 被墙了,导致编译时需要翻墙,非常麻烦。如果你有DIY精神,并能顺利翻墙,则可以试试这种方式。

4. Local模式

4.1 解压

$ tar -zxf spark-0.8.0-incubating-bin-hadoop1.tgz

4.2 (可选)设置 SPARK_HOME环境变量

$ vim ~/.bash_profile
# add the following lines at the end
export SPARK_HOME=$HOME/spark-0.8.0
# save and exit vim
#make the bash profile take effect immediately
$ source /etc/profile

4.3 现在可以运行SparkPi了

$ cd $SPARK_HOME
$ ./run-example org.apache.spark.examples.SparkPi local

5. Cluster模式

5.1 安装Hadoop

用VMware Workstation 创建三台CentOS 虚拟机,hostname分别设置为 master, slave01, slave02,设置SSH无密码登陆,安装hadoop,然后启动hadoop集群。参考我的这篇博客,在CentOS上安装Hadoop.

5.2 Scala

在三台机器上都要安装 Scala 2.9.3 , 按照第2节的步骤。JDK在安装Hadoop时已经安装了。

5.3 在master上安装并配置Spark

解压

$ tar -zxf spark-0.8.0-incubating-bin-hadoop1.tgz.tgz

在 in conf/spark-env.sh 中设置SCALA_HOME

$ cd ~/spark-0.8.0/conf
$ mv spark-env.sh.template spark-env.sh
$ vim spark-env.sh
# add the following line
export SCALA_HOME=/usr/lib/scala-2.9.3
# save and exit

conf/slaves, 添加Spark worker的hostname, 一行一个。

$ vim slaves
slave01
slave02
# save and exit

(可选)设置 SPARK_HOME环境变量,并将SPARK_HOME/bin加入PATH

$ vim ~/.bash_profile
# add the following lines at the end
export SPARK_HOME=$HOME/spark-0.8.0
export PATH=$PATH:$SPARK_HOME/bin
# save and exit vim
#make the bash profile take effect immediately
$ source /etc/profile

5.4 在所有worker上安装并配置Spark

既然master上的这个文件件已经配置好了,把它拷贝到所有的worker即可。注意,三台机器spark所在目录必须一致,因为master会登陆到worker上执行命令,master认为worker的spark路径与自己一样。

$ cd
$ scp -r spark-0.8.0 dev@slave01:~
$ scp -r spark-0.8.0 dev@slave02:~

5.5 启动 Spark 集群

在master上执行

$ cd ~/spark-0.8.0
$ bin/start-all.sh

检测进程是否启动

$ jps
11055 Jps
2313 SecondaryNameNode
2409 JobTracker
2152 NameNode
4822 Master

浏览master的web UI(默认http://localhost:8080). 这是你应该可以看到所有的word节点,以及他们的CPU个数和内存等信息。

5.6 运行Spark自带的例子

运行SparkPi

$ cd ~/spark-0.8.0
$ ./run-example org.apache.spark.examples.SparkPi spark://master:7077

运行 SparkLR

#Logistic Regression
#./run-example org.apache.spark.examples.SparkLR spark://master:7077

运行 SparkKMeans

#kmeans
$ ./run-example org.apache.spark.examples.SparkKMeans spark://master:7077 ./kmeans_data.txt 2 1

5.7 从HDFS读取文件并运行WordCount

$ cd ~/spark-0.8.0
$ hadoop fs -put README.md .
$ MASTER=spark://master:7077 ./spark-shell
scala> val file = sc.textFile("hdfs://master:9000/user/dev/README.md")
scala> val count = file.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey(_+_)
scala> count.collect()

5.8 停止 Spark 集群

$ cd ~/spark-0.8.0
$ bin/stop-all.sh

参考资料

  1. Spark Standalone Mode
  2. Running A Spark Standalone Cluster
  3. Lightning-Fast WordCount using Spark Alongside Hadoop
### 如何在不同操作系统上安装 Apache Spark #### 安装前准备 为了确保顺利安装 Apache Spark,在任何操作系统下都需要先确认已正确安装 Java 环境以及设置好 JAVA_HOME 变量。对于某些特定场景,可能还需要额外配置 Hadoop 或其他依赖项[^3]。 #### Mac OS 上的安装方式 利用 Homebrew 工具可以让 macOS 用户轻松完成 Spark 的部署工作。通过终端执行命令 `brew install apache-spark` 即可快速获取最新稳定版 Spark 并自动处理大部分必要的初始化操作[^1]。 #### Linux 发行版上的安装指南 大多数主流 Linux 发行版支持通过包管理器来简化软件安装流程。例如 Ubuntu/Debian 类系统可以通过 APT 软件库下载官方进制文件;而 CentOS/RHEL 则推荐采用 yum 或者 dnf 来获得 RPM 打包好的版本。除此之外,也可以直接前往官方网站下载 tarball 文件解压至自定义路径再手动调整 PATH 参数指向 bin 目录下的工具链[^4]。 #### Windows 下的手动安装过程 Windows 用户通常会选择从官网获取预编译压缩包形式发布的 Spark 版本。解压缩之后需自行设定 SPARK_HOME 更新系统的 Path 设置以便全局调用 spark-shell 等 CLI 实用程序。值得注意的是由于缺乏原生 POSIX 支持所以在 Win 平台上可能会遇到兼容性问题因此建议考虑借助 WSL (Windows Subsystem for Linux) 进行跨平台开发测试活动。 ```bash # 使用 Homebrew 在 MacOS 上安装 Spark $ brew install apache-spark # 在 Debian/Ubuntu 上使用 apt-get 安装 Spark $ sudo apt-get update && sudo apt-get install -y apache-spark # 在 RedHat/CentOS/Fedora 上使用 yum/dnf 安装 Spark $ sudo yum install -y epel-release $ sudo yum install -y apache-spark # 解压并设置环境变量(适用于所有平台) export SPARK_HOME=/path/to/spark export PATH=$SPARK_HOME/bin:$PATH ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值