`

spark-1.2.0 集群环境搭建

阅读更多

1、下载scala2.11.4版本 下载地址为:http://www.scala-lang.org/download/2.11.4.html ,也可以使用wget http://downloads.typesafe.com/scala/2.11.4/scala-2.11.4.tgz?_ga=1.248348352.61371242.1418807768 

2、解压和安装: 解压 :[spark@S1PA11 scala]$ tar -xvf scala-2.11.4.tgz  ,安装:[spark@S1PA11 scala]$ mv scala-2.11.4 ~/opt/

3、编辑 ~/.bash_profile文件 增加SCALA_HOME环境变量配置,

export JAVA_HOME=/home/spark/opt/java/jdk1.6.0_37
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
export SCALA_HOME=/home/spark/opt/scala-2.11.4
export HADOOP_HOME=/home/spark/opt/hadoop-2.6.0
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:${SCALA_HOME}/bin

立即生效 bash_profile  ,[spark@S1PA11 scala]$ source ~/.bash_profile 

4、验证scala:[spark@S1PA11 scala]$ scala -version
Scala code runner version 2.11.4 -- Copyright 2002-2013, LAMP/EPFL

[spark@S1PA11 scala]$ scala
Welcome to Scala version 2.11.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_37).
Type in expressions to have them evaluated.
Type :help for more information.

scala> var str = "SB is"+"SB"
str: String = SB isSB

scala> 

 

5、copy到slave机器 ,[spark@S1PA11 scala]$ scp  ~/.bash_profile  spark@10.126.45.56:~/.bash_profile 

6、下载spark,wget http://d3kbcqa49mib13.cloudfront.net/spark-1.2.0-bin-hadoop2.4.tgz

7、在master主机配置spark :

将下载的spark-1.2.0-bin-hadoop2.4.tgz 解压到 ~/opt/目前了即 ~/opt/spark-1.2.0-bin-hadoop2.4,配置环境变量SPARK_HOME

# set  java env
export JAVA_HOME=/home/spark/opt/java/jdk1.6.0_37
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
export SCALA_HOME=/home/spark/opt/scala-2.11.4
export HADOOP_HOME=/home/spark/opt/hadoop-2.6.0
export SPARK_HOME=/home/spark/opt/spark-1.2.0-bin-hadoop2.4
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:${HADOOP_HOME}/bin

配置完成后使用source命令使配置生效

进入 spark conf目录:

[spark@S1PA11 opt]$ cd spark-1.2.0-bin-hadoop2.4/
[spark@S1PA11 spark-1.2.0-bin-hadoop2.4]$ ls
bin  conf  data  ec2  examples  lib  LICENSE  logs  NOTICE  python  README.md  RELEASE  sbin  work
[spark@S1PA11 spark-1.2.0-bin-hadoop2.4]$ cd conf/
[spark@S1PA11 conf]$ ls
fairscheduler.xml.template  metrics.properties.template  slaves.template               spark-env.sh
log4j.properties.template   slaves                       spark-defaults.conf.template  spark-env.sh.template

first :修改slaves文件,增加两个slave节点S1PA11、S1PA222

[spark@S1PA11 conf]$ vi slaves
S1PA11
S1PA222

second:配置spark-env.sh

首先把spark-env.sh.template copy spark-env.sh

vi spark-env.sh文件 在最下面增加:

export JAVA_HOME=/home/spark/opt/java/jdk1.6.0_37
export SCALA_HOME=/home/spark/opt/scala-2.11.4
export SPARK_MASTER_IP=10.58.44.47
export SPARK_WORKER_MEMORY=2g
export HADOOP_CONF_DIR=/home/spark/opt/hadoop-2.6.0/etc/hadoop

HADOOP_CONF_DIR是Hadoop配置文件目录,SPARK_MASTER_IP主机IP地址,SPARK_WORKER_MEMORY是worker使用的最大内存

完成配置后,将spark目录copy slave机器 scp -r ~/opt/spark-1.2.0-bin-hadoop2.4  spark@10.126.45.56:~/opt/

8、启动spark分布式集群并查看信息

[spark@S1PA11 sbin]$ ./start-all.sh 

查看:

[spark@S1PA11 sbin]$ jps
31233 ResourceManager
27201 Jps
30498 NameNode
30733 SecondaryNameNode
5648 Worker
5399 Master

15888 JobHistoryServer
如果HDFS没有启动 ,请启动起来,参考hadoop集群搭建点击打开链接

查看slave节点:

[spark@S1PA222 scala]$ jps
20352 Bootstrap
30737 NodeManager
7219 Jps
30482 DataNode
29500 Bootstrap
757 Worker

9、页面查看集群状况:

进去spark集群的web管理页面,访问

因为我们 看到两个worker节点,因为master和slave都是worker节点

我们进入spark的bin目录,启动spark-shell控制台

现在我们已经顺利进入spark-shell的世界了 ,O(∩_∩)O

访问http://master:4040/,我们可以看到spark WEBUI页面

到目前为止,我们的spark集群环境搭建成功了

10、运行spark-shell 测试

之前我们在/tmp目录上传了一个README.txt文件,我们现在就用spark读取hdfs中README.txt文件

取得hdfs文件:

count下READM.txt文件中文字总数,

 

我们过滤README.txt

包括The单词有多个

 

 

我们算出来 一共有4个The单词

我们通过wc也算出来有4个The单词

我们再实现下Hadoop wordcount功能:

首先对读取的readmeFile执行以下命令:

其次使用collect命令提交并执行job:

 

我们看下WEBUI界面执行效果:

 

OK,完成所有任务,(*^__^*) spark-1.2.0 集群环境搭建

4
5
分享到:
评论
5 楼 i042416 2015-08-16  
4 楼 machey 2015-07-01  
shell启动测试集群要用这个命令:
spark-shell --master spark://Master:7077
其中地址spark://Master:7077要跟你master:8080里面显示一模一样,如果是IP不能用host名,用host名区分大小写!
3 楼 machey 2015-07-01  
你有没有发现spark-shell的excutor是localhost,Total Memory只有265.0MB?在运行任务的时候你去看Master:8080的webUI会发现没有任何任务在worker上跑。
更有趣的是你把所有节点的spark的worker全部停掉,再运行spark-shell试试看,你会发现也能运行,并且也能执行语句!!!
2 楼 Stark_Summer 2015-05-21  
CaptainKaren 写道
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:${HADOOP_HOME}/bin

这个SCALA_HOME外为什么要加大括号

个人习惯吧,但可以不那么写,哈哈
1 楼 CaptainKaren 2015-05-12  
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:${HADOOP_HOME}/bin

这个SCALA_HOME外为什么要加大括号

相关推荐

Global site tag (gtag.js) - Google Analytics