天天看点

安装spark - standalone模式

假设我们使用三台机器安装spark,分别是host1、host2、host3. 其中,host2作为主节点。

安装步骤如下。

1、下载、解压安装文件

wget http://d3kbcqa49mib13.cloudfront.net/spark-1.6.1-bin-hadoop2.6.tgz (下载安装文件)

tar zxf spark-1.6.1-bin-hadoop2.6.tgz

2、修改配置文件

cd spark-1.6.1-bin-hadoop2.6/

cp conf/slaves.template conf/slaves

vi conf/slaves

    host1

    host2

    host3

cp conf/spark-env.sh.template conf/spark-env.sh

vi conf/spark-env.sh

SPARK_MASTER_IP=host2

SPARK_MASTER_PORT=7001

SPARK_MASTER_WEBUI_PORT=7002

SPARK_WORKER_CORES=1

SPARK_WORKER_MEMORY=2g

SPARK_WORKER_PORT=7003

SPARK_WORKER_WEBUI_PORT=7004

SPARK_WORKER_INSTANCES=1

    JAVA_HOME=/storm/jdk1.8.0_60

3、设置无秘钥登录及环境变量

确保“java -version”执行成功

配置无秘钥登录:在master上用“ssh-kengen -t rsa”命令生成公私钥对(回车两次,私钥无密码),将公钥复制到三台机器上的用户主目录下的.ssh文件夹的authorized_keys文件末尾。

配置环境变量(三台机器上都要执行):vi ~/.bash_profile

export SPARK_HOME=/home/wangshichun/spark-1.6.1-bin-hadoop2.6

生效环境变量:source ~/.bash_profile

4、复制配置文件到其他机器

scp conf/slaves host1:$SPARK_HOME/conf

scp conf/slaves host3:$SPARK_HOME/conf

scp conf/spark-env.sh host1:$SPARK_HOME/conf

scp conf/spark-env.sh host3:$SPARK_HOME/conf

5、交互模式执行spark代码,进行功能测试(也称为Local模式部署)

在$SPARK_HOME目录下:

./bin/spark-shell

./bin/spark-shell --master local[1]

./bin/spark-shell --master spark://host2:7001 (使用此中方式启动spark-shell后,在master的ui界面上会看到“Running Applications”中有名为“Spark shell”的任务,spark-shell退出后,会出现在“Completed Applications”中)

--jars 参数可以将多个jar文件(逗号分隔)添加到程序的classpath中

等出现“scala>”提示符后,输入如下内容:

scala> var textFile = sc.textFile("file:///home/wangshichun/spark-1.6.1-bin-hadoop2.6/README.md")

textFile: org.apache.spark.rdd.RDD[String] = file:///home/wangshichun/spark-1.6.1-bin-hadoop2.6/README.md MapPartitionsRDD[5] at textFile at <console>:27

scala> textFile.first()

res3: String = # Apache Spark

scala> textFile.count()

res4: Long = 95

scala> val textFilter = textFile.filter(line => line.contains("Spark"))

textFilter: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[6] at filter at <console>:29

scala> textFilter.count()

res5: Long = 17

scala> :help 可查看帮助,列出可用的命令

6、standalone模式部署

./sbin/start-master.sh

./sbin/start-slaves.sh

访问UI界面:

http://host2:7002/ MARSTER的UI界面

http://host1:7003/ WORKER的UI界面

http://host2:7003/ WORKER的UI界面

http://host3:7003/ WORKER的UI界面

此模式下,需要通过spark-submit脚本提交jar文件来提交自己写的spark程序代码。

继续阅读