zoukankan      html  css  js  c++  java
  • spark2.2 + jdk1.8 + centos7集群安装教程(单个Master,不依赖hadoop安装)

    1.准备环境

    安装centos7,在此我准备了五个虚拟机,分别命名为L1,L2,L3,L4,L5.计划在L1上面运行Master节点,在L3,L4,L5上面运行Worker节点。
    网络配置以及ssh免密登陆配置不再详细讲解,请参考我的另外一篇博客:
    虚拟机网络配置以及准备工作:
    https://blog.csdn.net/weixin_43866709/article/details/87977822

    SSH免密登录配置:
    https://blog.csdn.net/weixin_43866709/article/details/87982019

    2.安装JDK1.8

    在此有必要说明一下,spark集群,包括hadoop集群和JDK是有不同的版本对应的,这个具体版本对应可以参考官网,我用的是spark2.2.3-bin-hadoop,它所支持的JDK版本是1.8,所以要安装JDK1.8.

    先去官网下载JDK1.8的tar包,下载链接为:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
    Java官网

    下载完成之后上传至虚拟机,解压至任意目录,为了方便管理,我把大数据要用的软件全部安装在/home/hadoop/app/下。
    解压命令为:

    tar -zxvf 包存放目录 -C 解压的目录(/home/hadoop/app)
    
    • 1

    解压完成后,配置环境变量,环境变量可以在/etc/profile中配置,也可以在~/.bashrc中配置,具体区别请参考:https://blog.csdn.net/weixin_43866709/article/details/88014346
    此处我在~/.bashrc中配置,打开该配置文件,在文件末尾添加如下内容:

    sudo vim ~/.bashrc
    
    • 1
    export JAVA_HOME=jdk安装路径
    export PATH=$PATH:$JAVA_HOME/bin
    
    • 1
    • 2

    添加完保存退出后,执行source ~/.bashrc使配置文件生效。(如果在/etc/profile中配置,生效的命令为. /etc/profile

    设置完成后查看是否成功:

    java -version
    
    • 1

    如果出现java 版本信息即为成功。

    3.下载spark安装包

    下载地址:http://spark.apache.org/downloads.html
    spark官网
    下载完成后上传安装包,然后解压(同JDK操作)
    修改配置文件:
    1.解压完成后,进入到conf目录下面,先修改两个文件名,分别是spark-env.sh,template和slaves.template,修改为spark-env.sh和slaves

    2.然后打开spark-env.sh
    在文件末尾添加:

    export JAVA_HOME=/home/hadoop/app/jdk1.8.0_201     //Java安装目录
    export SPARK_MASTER_HOST=192.168.xx.xxx   //Master节点IP(或者主机名,用主机名的话需要在虚拟机中添加主机和IP地址的映射)
    export SPARK_MASTER_PORT=7077             //Master节点的端口(RPC通信端口),默认为7077
    
    • 1
    • 2
    • 3

    spark-env.sh配置文件
    3.再打开slaves文件,在文件末尾添加:

    L3
    L4              //slaves文件是spark集群确定Worker节点的配置文件,所以里面添加的是Worker节点
    L5                              的IP
    
    • 1
    • 2
    • 3

    4.修改~/.bashrc文件,添加spark环境变量

    export SPARK_HOME=/home/hadoop/app/spark-2.2.3-bin-hadoop2.7
    export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
    //此处应注意PATH要放在SPARK_HOME后面
    //此处$SPARK_HOME/sbin不建议添加到配置文件中,因为如果安装的还有Hadoop的话,当执行sbin/start-all.sh时,不知道启动的是Hadoop还是spark,所以在添加配置文件的时候,不建议把应用的sbin目录添加进来。
    
    • 1
    • 2
    • 3
    • 4

    修改完成后执行source ~/.bashrc

    4.将配置好的spark安装程序拷贝给其他机器

    可以编写一个for循环的脚本快速拷贝,具体请参考:
    https://blog.csdn.net/weixin_43866709/article/details/88382027

    5.启动Spark

    进入到sbin目录,里面存放了很多脚本文件
    执行start-all.sh启动spark
    启动后,在虚拟机L1上执行jps命令可以查看到有一个Master进程,在虚拟机L3,L4,L5上同样执行jps命令,发现有Worker进程,即表示启动成功。
    Master节点
    Worker节点
    还可以通过web界面可以查看管理spark集群,管理页面的url为:Master所在机器的端口+8080端口
    (8080是进入spark管理页面的端口,而之前配置文件中添加的7077是spark集群Master节点和Worker节点通信的端口,不要混淆了)

    如果无法进入spark集群的web管理页面,可能是centos防火墙服务未关闭
    执行下面命令关闭防火墙:

    systemctl stop firewalld.service          //停止firewall
    systemctl disable firewalld.service       //禁止firewall开机启动
    firewall-cmd --state                     //查看默认防火墙状态
    
    • 1
    • 2
    • 3

    关闭spark集群:同样进入到sbin目录,执行stop-all.sh

    6.安装过程中可能会遇到的问题

    1.启动spark集群报错
    报错类型是:无法找到命令
    原因:1.spark-env.sh配置文件配置错误,请仔细检查是否有误
    2.~/.bashrc文件中PATH要位于SPARK_HOME后面

    报错类型:
    starting org.apache.spark.deploy.worker.Worker, logging to /usr/spark/sbin/…/logs/spark-hadoop-org.apache.spark.deploy.worker.Worker-1-slave1.out

    failed to launch org.apache.spark.deploy.worker.Worker

    full log in /usr/spark/sbin/…/logs/spark-hadoop-org.apache.spark.deploy.master.Master-1-master.out
    原因:spark版本于Java版本不对应,建议删除已经安装的JDK,重新选择对应的JDK版本安装,但不要忘记修改配置文件。

  • 相关阅读:
    2019年9月笔记
    2019年8月笔记
    2019年7月笔记
    2019年5月笔记
    2019年6月笔记
    2019年4月笔记
    JAVA MAC 配置
    ionic3 打包发布,以安卓说明
    Workman websocket 握手连接
    关于mysql数据库的表概况 ,查看表状态
  • 原文地址:https://www.cnblogs.com/ExMan/p/14307244.html
Copyright © 2011-2022 走看看