【第22期】观点:IT 行业加班,到底有没有价值?

SparkStandalone模式安装

翻译 2017年01月03日 16:50:49

实验目的

1、了解Spark Standalone模式的安装

2、了解Spark Standalone模式运行原理

实验环境

1、Linux Ubuntu 14.04

2、jdk1.7

3、hadoop-2.6.0-cdh5.4.5

4、scala-2.10.4.tgz安装包

5、spark-1.6.0-bin-hadoop2.6.tgz安装包

实验内容

Spark的standalone安装模式,可以使spark以集群的方式运行。

在单节点或多节点集群上 ,安装spark Standalone模式。

实验步骤

1、Spark的运行依赖jdk,hadoop,scala。在这里默认已安装jdk以及hadoop伪分布模式。

2、上传所需的Spark的安装包spark-1.6.0-bin-hadoop2.6.tgz及scala安装包Scala2.10.4,到/apps/toolbox目录下。

此处建议使用scala-2.10.4版本。官网中支出,若要使用scala2.11版本,则需要重新编译spark,并且编译时,需要指定scala版本的类型。

关于spark版本,没有严格要求。所以我们使用spark1.6版本。

3、安装Scala。切换目录到/apps/toolbox目录下,将/apps/toolbox目录下scala-2.10.4.tgz,解压缩到/apps目录下。并将解压后的目录名改为/apps/scala

  1. cd /apps/toolbox/  
  1. tar -xzvf /apps/toolbox/scala-2.10.4.tgz -C /apps/  
  1. cd /apps  
  1. mv /apps/scala-2.10.4/ /apps/scala  

使用vim打开用户环境变量~/.bashrc

  1. vim ~/.bashrc  

将scala的环境变量,追加的用户环境变量中。

  1. export SCALA_HOME=/apps/scala  
  2. export PATH=$SCALA_HOME/bin:$PATH  

执行source命令,使系统环境变量生效。

  1. source ~/.bashrc  

4、切换目录到/apps/toolbox目录下,将spark的安装包spark-1.6.0-bin-hadoop2.6.tgz,解压缩到/apps目录下,并将解压后的目录名,重命名为spark

  1. cd /apps/toolbox  
  1. tar -xzvf /apps/toolbox/spark-1.6.0-bin-hadoop2.6.tgz -C /apps/  
  1. cd /apps/  
  1. mv /apps/spark-1.6.0-bin-hadoop2.6/ /apps/spark  

使用vim打开用户环境变量~/.bashrc

  1. vim ~/.bashrc  

将Spark的配置信息追加到用户环境变量中。

  1. #spark  
  2. export SPARK_HOME=/apps/spark  
  3. export PATH=$SPARK_HOME/bin:$PATH  

执行source命令,使用户环境变量生效。

  1. source ~/.bashrc  

5、切换目录到/apps/spark/conf目录下,将conf目录下的配置文件slaves.template重命名为slaves。

  1. mv slaves.template  slave  

在slave中,存储了所有worker节点的的ip或主机名。使用vim打开slaves文件,将所有worker节点的ip添加进去。由于目前只有一台节点,所以是

  1. 127.0.0.1  

6、将/apps/spark-env.sh.template文件,重命名为/apps/spark-env.sh

  1. mv spark-env.sh.template spark-env.sh  

使用vim,打开/apps/spark/conf/spark-env.sh文件,添加如下配置

  1. JAVA_HOME=/apps/java  
  2. HADOOP_CONF_DIR=/apps/hadoop/etc/hadoop  
  3. SPARK_MASTER_IP=127.0.0.1  
  4. SPARK_MASTER_PORT=7077  
  5. SPARK_MASTER_WEBUI_PORT=8080  
  6. SPARK_WORKER_CORES=1  
  7. SPARK_WORKER_MEMORY=1g  
  8. SPARK_WORKER_PORT=7078  
  9. SPARK_WORKER_WEBUI_PORT=8081  
  10. SPARK_EXECUTOR_INSTANCES=1  

SPARK_MASTER_IP、SPARK_MASTER_PORT、SPARK_MASTER_WEBUI_PORT,分别指spark集群中,master节点的ip地址、端口号、提供的web接口的端口。

SPARK_WORKER_CORES、SPARK_WORKER_MEMORY:worker节点的内核数、内存大小。

这里的workder节点的内存大小,为1024MB,此处可用根据自己机器配置调高,设置为1g,2g或其他。

7、若spark集群,是由多台服务器构成,则需要对每台服务器配置jdk环境变量、安装Scala、修改环境变量。并将以上配置完毕的spark的安装包,拷贝到各个服务器上。各个服务器安装包位置,尽量保持一致。

8、启动hadoop,首先需要保证hadoop进程已启动。切换目录到/apps/spark/sbin目录下,启动spark。

  1. cd /apps/spark/sbin  
  1. ./start-all.sh  

执行jps,查看进程变化

  1. jps  
  1. 5144 NodeManager  
  2. 5555 Master  
  3. 4690 DataNode  
  4. 4868 SecondaryNameNode  
  5. 5691 Jps  
  6. 5041 ResourceManager  
  7. 4562 NameNode  
  8. zhangyu@0ed3f46ad512:~$  

9、切换目录到/apps/spark/bin目录下,使用spark shell客户端,访问服务端,验证安装完的spark是否可用。

  1. cd /apps/spark/bin  
  1. ./spark-shell --master spark://localhost:7077  

进入命令行模式

  1. 16/12/05 09:50:42 INFO repl.SparkILoop: Created sql context (with Hive support)..  
  2. SQL context available as sqlContext.  
  3. scala>  

执行测试

在spark shell中,使用scala执行个例子。在HDFS上的/spark/1/目录下,放有一个文件,名为sample_data。首先将文件转变为RDD。

  1. var mytxt = sc.textFile("hdfs://localhost:9000/spark/1/sample_data");  

统计文件的行数

  1. mytxt.count();  

可用看到输出为

  1. res3: Long = 4  

表明安装正确。

注意:在刚才执行统计过程中,由于Log4j的日志输出级别为info级别,所以会在屏幕上输出很多的log,很难定位程序的输出结果。

切换目录到/apps/spark/sbin目录下,停止spark。

  1. cd /apps/spark/sbin  
  1. ./stop-all.sh  

再切换目录到/apps/spark/conf目录下,将目录下log4j.properties.template重命名为log4j.properties

  1. cd /apps/spark/conf  
  1. mv /apps/spark/conf/log4j.properties.template /apps/spark/conf/log4j.properties  

使用vim打开log4j.properties文件,修改log4j.rootCategory内容为

  1. log4j.rootCategory=WARN, console  

再次启动spark

  1. cd /apps/spark/sbin  
  1. ./start-all.sh  

执行spark-shell命令

  1. scala> val mytxt = sc.textFile("hdfs://localhost:9000/myspark/mywordcount")  
  2. mytxt: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[1] at textFile at <console>:27  
  3. scala> mytxt.count  
  4. res0: Long = 4  
  5. scala>  

可以看到输出的内容相对于调整log4j日志级别前,更加精简了。

举报

相关文章推荐

Apache Spark

Spark 大数据解决方案的强大在于他们可以快速处理大规模,复杂的数据集,可以比传统的方法更快,更好地生成洞见。 一套大数据解决方案通常包含多个重要组件,从存储,计算和网络等硬件层,到数据处理引擎...

安装Hadoop(2.7.1)_单机模式

一, ubuntu-14.04.3-desktop-amd64(32位的总是报不能识别系统的jvm等错误) 至少1G内存 相关链接 [url]http://www.tuicool.com/articles/bmeUneM[/url] 二, 安装JDK [url]http://fulndon.iteye.com/blog/2276974[/url] 安装ssh和无密码登录 [url]http://blog.csdn.net/hackerwin7/article/details/28109073[/url] 使用shell下

CentOS 6.5 Openstack Havana 多节点安装(Flat网络模式)

有5种网络模式 Local模式:一般测试时使用,只需一台物理机即可。 GRE模式:隧道数量没有限制,性能有点问题。 Vlan模式:vlan数量有4096的限制 VXlan模式:vlan数量没有限制,性能比GRE好。 Flat模式:管理员创建租户直接到外网,不需要NAT了。 目前的几个项目正好用到了这种Flat模式的网络结构,我觉得小项目中还是比较方便的,Openstack的体系和框架越来越稳定,

Hive 4、Hive 的安装配置(远端MyMql模式)

1.remote一体 这种存储方式需要在远端服务器运行一个mysql服务器,并且需要在Hive服务器启动meta服务。这里用mysql的测试服务器,ip位192.168.1.214,新建hive_r...

hadoop伪集群模式安装

hadoop可以在单个节点上,用伪分布的模式来运行hadoop的各个组件。   当前机器环境<br style="
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)