前提:JDK1.8,无密互通,zookeeper,hadoop
使用服务器列表

masterslave1slave2
192.168.3.58192.168.3.54192.168.3.31
QuorumPeerMainQuorumPeerMainQuorumPeerMain
NameNode
DataNodeDataNodeDataNode
JournalNodeJournalNodeJournalNode
ResourceManager
NodeManagerNodeManagerNodeManager
DFSZKFailoverControllerDFSZKFailoverController
Master
WorkerWorkerWorker

scala

什么是scala(百度百科)

Scala是一门多范式的编程语言,一种类似java的编程语言[1] ,设计初衷是实现可伸缩的语言[2] 、并集成面向对象编程和函数式编程的各种特性。

下载、安装scala

官方下载地址:http://www.scala-lang.org/download/
下载
cd /data
wget https://downloads.lightbend.com/scala/2.12.4/scala-2.12.4.tgz
tar axf scala-2.12.4.tgz
添加环境变量
vim /etc/profile

#scala
export SCALA_HOME=/data/scala-2.12.4
export PATH=$PATH:${SCALA_HOME}/bin

source /etc/profile
检验
scala -version
spack安装使用
显示版本信息说明安装成功

spark

什么是spark

官方说明:apache spark is a fast and general engine for large-scale data processing.
渣渣翻译:spark是一个能够快速处理并且通用的大数据计算引擎。
百度百科:Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。

继续百度百科:
Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。

下载、安装spark

官网:http://spark.apache.org/
这里听从了前辈的建议,使用较最新版本低一两个版本的
cd /data
wget https://www.apache.org/dyn/closer.lua/spark/spark-2.1.2/spark-2.1.2-bin-hadoop2.7.tgz
tar axf spark-2.1.2-bin-hadoop2.7.tgz
添加环境变量
vim /etc/profile

#spack
export SPARK_HOME=/data/spark-2.1.2-bin-hadoop2.7
export PATH=$PATH:${SPARK_HOME}/bin

source /etc/profile

修改配置文件
cd ${SPARK_HOME}/conf
cp fairscheduler.xml.template fairscheduler.xml
cp log4j.properties.template log4j.properties
cp slaves.template slaves
cp spark-env.sh.template spark-env.sh
cp spark-defaults.conf.template spark-site.conf

vim slaves
#删除localhost,添加worker节点信息

master
slave1
slave2

vim spark-env.sh
#添加如下信息:JAVA_HOME、SCALA_HOME、SPARK_MASTER_IP、SPARK_WORKER_MEMORY、HADOOP_CONF_DIR

export JAVA_HOME=/usr/local/jdk
export SCALA_HOME=/data/scala-2.12.4
export SPARK_WORKER_MEMORY=1g
export HADOOP_CONF_DIR=/data/hadoop/etc/hadoop/

vim spark-site.conf

 spark.master                     spark://master:7077

将文件拷贝到其他节点
scp -r /data/scala-2.12.4 slave1:/data
scp -r /data/scala-2.12.4 slave2:/data
scp -r /data/spark-2.1.2-bin-hadoop2.7 slave1:/data
scp -r /data/spark-2.1.2-bin-hadoop2.7 slave2:/data
scp -r /etc/profile slave1:/etc
scp -r /etc/profile slave2:/etc

启动集群
cd ${SPARK_HOME}/sbin
./start-all.sh

单节点启动master
cd ${SPARK_HOME}/sbin
./start-master.sh

单节点启动slave
./start-slave.sh


多master,实现HA

所有节点进行修改
修改spark-site.conf
vim spark-site.conf

spark.master                     spark://master:7077,slave1:7077,slave2:7077

修改spark-env.sh指定zookeeper集群
vim spark-env.sh

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=master:2181,slave1:2181,slave2:2181 -Dspark.deploy.zookeeper.dir=/data/spark-2.1.2-bin-hadoop2.7"

启动集群
master节点
cd ${SPARK_HOME}/sbin
./start-all.sh

slave1节点
cd ${SPARK_HOME}/sbin
./start-master.sh

slave2节点
cd ${SPARK_HOME}/sbin
./start-master.sh

查看状态
IP:8080
spack安装使用
spack安装使用
spack安装使用

故障转移测试
kill掉master上的Master进程
spack安装使用
spack安装使用
spack安装使用
spack安装使用

参考:https://www.cnblogs.com/liugh/p/6624923.html

转载于:https://blog.51cto.com/13323775/2061199

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐