前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spark集群安装 原

Spark集群安装 原

作者头像
克虏伯
发布2019-04-15 15:44:52
4700
发布2019-04-15 15:44:52
举报

    Spark的版本1.6.0,Scala的版本2.12,jdk版本1.8。最近使用spark,在这里记录下。

    一个master和三个worker,同时Hadoop-2.7.7集群,namdenode在master上,俩个datanode在worker1和worker2上。

List-1

代码语言:javascript
复制
192.168.33.30  worker1  master
192.168.33.31  worker2
192.168.33.32  worker3

    修改master机器的hostname为master,修改worker2机器的hostname为node1,修改worker2机器的hostname为node2。

    将spark放置于/opt下,如下List-2所示,三台机器上的都一样:

List-2

代码语言:javascript
复制
[root@master opt]# ll
total 20
drwxr-xr-x  2 root root   22 4月  13 13:51 applog
drwxr-xr-x 11 root root 4096 4月  11 16:31 hadoop-2.7.7
drwxr-xr-x  8 root root 4096 4月  11 14:52 jdk1.8
drwxr-xr-x  6 root root   46 4月  13 13:35 scala2.12
drwxr-xr-x 14 root root 4096 4月  13 13:27 spark-1.6.0-bin-hadoop2.6

    master到俩个node的ssh面密就可以了,即在master上ssh  node1/node2都可以面密码。

    /etc/profile如下List-3,在master这样就可以了。

List-3

代码语言:javascript
复制
#spark
export SPARK_HOME=/opt/spark-1.6.0-bin-hadoop2.6
export PATH=$PATH:$SPARK_HOME/bin

    最重要的是spark的conf下的配置文件,在master上,如下描述:

1、spark-env.sh

    cp spark-env.sh.template  spark-env.sh,之后修改spark-env.sh的内容,如下,之后用这个文件替换node1和node2的spark-env.sh。

List-4

代码语言:javascript
复制
export JAVA_HOME=/opt/jdk1.8
export HADOOP_HOME=/opt/hadoop-2.7.7
export SCALA_HOME=/opt/scala2.12
export HADOOP_CONF_DIR=/opt/hadoop-2.7.7/etc/hadoop
export SPARK_MASTER_IP=master
export SPARK_MASTER_PORT=7077
export SPARK_WORKDER_CORES=4
export SPARK_WORKER_MEMORY=1024m
export SPARK_DIST_CLASSPATH=$(/opt/hadoop-2.7.7/bin/hadoop classpath);

2、spark-defaults.conf

    cp  spark-defaults.conf.template  spark-defaults.conf,之后修改spark-defaults.conf,如下List-5。此外要手动在hdfs中建/opt/applogs/spark-eventlog目录,用于存储spark的event日志。之后用这个文件替换node1和node2的spark-defaults.conf。

List-5

代码语言:javascript
复制
spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://master:9000/opt/applogs/spark-eventlog

3、log4j.properties

    cp log4j.properties.template  log4j.properties,修改log4j.properties,内容如下List-6。最后用这个文件替换node1和node2的此文件。

  • log4j.rootCategory的值最后加上", FILE"。
  • 加入List-7中的内容,最终结果是List-6所示。

List-6

代码语言:javascript
复制
log4j.rootCategory=INFO, console,FILE
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n

# Settings to quiet third party logs that are too verbose
log4j.logger.org.spark-project.jetty=WARN
log4j.logger.org.spark-project.jetty.util.component.AbstractLifeCycle=ERROR
log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=INFO
log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=INFO
log4j.logger.org.apache.parquet=ERROR
log4j.logger.parquet=ERROR

log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.Threshold=INFO
log4j.appender.FILE.file=/opt/applog/spark.log
log4j.appender.logFile.Encoding = UTF-8
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=[%-5p] [%d{yyyy-MM-dd HH:mm:ss}] [%C{1}:%M:%L] %m%n

# SPARK-9183: Settings to avoid annoying messages when looking up nonexistent UDFs in SparkSQL with Hive support
log4j.logger.org.apache.hadoop.hive.metastore.RetryingHMSHandler=FATAL
log4j.logger.org.apache.hadoop.hive.ql.exec.FunctionRegistry=ERROR

List-7 通过实际实践发现/opt/applog/spark.log这个目录最终在宿主机上,而非在hdfs上

代码语言:javascript
复制
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.Threshold=INFO
log4j.appender.FILE.file=/opt/applog/spark.log
log4j.appender.logFile.Encoding = UTF-8
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=[%-5p] [%d{yyyy-MM-dd HH:mm:ss}] [%C{1}:%M:%L] %m%n

4、slaves

    cp  slaves.template  slaves,修改slaves文件,如下List-8。最后用这个文件替换node1和node2上的此文件。

List-8 这个文件里面的host上,都会启动spark worker

代码语言:javascript
复制
master
node1
node2

    在master上执行List-9中的start-all.sh,之后在master上用jps命令查看会看到有个master和worker,在node1/node2上用jps命令可以看到worker。

List-9 

代码语言:javascript
复制
[root@node1 spark-1.6.0-bin-hadoop2.6]# pwd
/opt/spark-1.6.0-bin-hadoop2.6
[root@node1 spark-1.6.0-bin-hadoop2.6]# sbin/start-all.sh 

    在浏览器中输入http://192.168.33.30:8080/,看到如下

                                                                                      图1

Reference:

  1. https://www.jianshu.com/p/91a98fd882e7

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Reference:
相关产品与服务
专用宿主机
专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档