zoukankan      html  css  js  c++  java
  • spark1.1.0部署standalone分布式集群

    配置三个节点的spark集群,集群模式为standalone模式,其中sp1节点作为主节点,sp2节点和sp3节点为从节点。***注意所有操作均为root用户。



    创建3个CentOS虚拟机,如下:
    sp1 192.168.1.21 //master节点
    sp2 192.168.1.22 //slave节点
    sp3 192.168.1.23 //slave节点



    配置/etc/sysconfig/network环境变量,如下:
    在sp1节点上执行:vi /etc/sysconfig/network将HOSTNAME=localhost改成HOSTNAME=sp1
    在sp2节点上执行:vi /etc/sysconfig/network将HOSTNAME=localhost改成HOSTNAME=sp2
    在sp3节点上执行:vi /etc/sysconfig/network将HOSTNAME=localhost改成HOSTNAME=sp3



    配置/etc/hosts主机名和IP地址映射关系,如下:
    每个节点配置为:
    192.168.1.21    sp1
    192.168.1.22    sp2
    192.168.1.23    sp3



    关闭防火墙如下:
    停止运行防火墙:service iptables stop
    关闭防火墙自启动:chkconfig iptables off
    验证防火墙是否关闭:chkconfig --list | grep iptables



    生成ssh免密码登陆如下:
    分别在每个节点上生成公钥私钥:
    ssh-keygen -t rsa三次回车
    cp id_rsa.put authorized_keys
    将sp2节点和sp3节点的authorized_keys的内容复制到sp1节点上:
    sp2节点上执行:ssh-copy-id -i sp1
    sp3节点上执行:ssh-copy-id -i sp1
    将sp1节点的authorized_keys(这个authorized_keys的内容是三个节点的公钥)的复制到sp2节点和sp3节点上:
    sp1节点上执行:scp /root/.ssh/authorized_keys sp2:/root/.ssh/
    sp1节点上执行:scp /root/.ssh/authorized_keys sp3:/root/.ssh/
    配置ssh免密码登陆成功,验证如下:
    sp1节点上执行:ssh sp2和ssh sp3
    sp2节点上执行:ssh sp1和ssh sp3
    sp3节点上执行:ssh sp2和ssh sp1



    从网上下载jdk-6u45-linux-x64.bin文件,将这个文件使用WinSCP工具复制到sp1节点的/usr/local/jdk/下。



    在sp1节点上安装jdk-6u45-linux-x64.bin,如下:
    进入/usr/local/jdk/目录:cd /usr/local/jdk
    为jdk-6u45-linux-x64.bin赋予执行权限:chmod u+x jdk-6u45-linux-x64.bin
    将jdk-6u45-linux-x64.bin解压到/usr/local/jdk/文件夹下:./jdk-6u45-linux-x64.bin
    将解压出来的jdk-1.6.43重命名为jdk6:mv jdk-1.6.43 jdk6
    配置jdk到系统环境变量:vi /etc/profile添加内容如下:
    export JAVA_HOME=/usr/local/jdk/jdk6
    export PATH=.:$JAVA_HOME/bin:$PATH
    使修改立即生效:source /etc/profile
    验证jdk安装是否成功:java -version



    从网上下载scala-2.9.3.tgz,spark-1.1.0-bin-hadoop2.4.tgz两个压缩包;将这两个压缩包使用WinSCP工具复制到sp1节点的/usr/local/spark1/下。



    在sp1节点上安装scala-2.9.3.tgz,如下:
    进入/usr/local/spark1/目录下:cd /usr/local/spark1/
    解压scala-2.9.3.tgz:tar -zxvf scala-2.9.3.tgz
    重命名解压出来的scala-2.9.3为scala:mv scala-2.9.3 scala
    配置scala到系统环境变量:vi /etc/profile添加内容如下:
    export SCALA_HOME=/usr/local/spark1/scala
    export PATH=.:$SCALA_HOME/bin:$JAVA_HOME/bin:$PATH
    使修改立即生效:source /etc/profile
    验证scala安装是否成功:scala 或者 scala -version



    在sp1节点上安装spark-1.1.0-bin-hadoop2.4.tgz,如下:
    进入/usr/local/spark1/目录下:cd /usr/local/spark1/
    解压spark-1.1.0-bin-hadoop2.4.tgz:tar -zxvf spark-1.1.0-bin-hadoop2.4.tgz
    重命名解压出来的spark-1.1.0-bin-hadoop2.4为spark:mv spark-1.1.0-bin-hadoop2.4 spark
    配置scala到系统环境变量:vi /etc/profile添加内容如下:
    export SPARK_HOME=/usr/local/spark1/spark
    export PATH=.:$SPARK_HOME/bin:$SCALA_HOME/bin:$JAVA_HOME/bin:$PATH
    使修改立即生效:source /etc/profile
    配置spark运行依赖的/usr/local/spark1/spark/conf/spark-env.sh文件,添加内容如下:
    export SCALA_HOME=/usr/local/spark1/scala
    export JAVA_HOME=/usr/local/jdk/jdk6
    export SPARK_MASTER_IP=sp1
    export SPARK_WORKER_CORES=1
    export SPARK_WORKER_MEMORY=512m
    export SPARK_WORKER_PORT=8888
    export SPARK_WORKER_INSTANCES=1
    配置spark的从节点/usr/local/spark1/spark/conf/slaves文件,将默认的localhost修改为如下:
    sp1
    sp2
    sp3
    配置成功后,将环境变量,/usr/local/spark1和/usr/local/jdk复制到sp2和sp3节点上,如下:
    复制sp1节点环境变量到sp2节点:scp /etc/profile sp2:/etc/
    复制sp1节点环境变量到sp3节点:scp /etc/profile sp3:/etc/
    ***注意:环境变量复制成功后需要分别在sp2节点和sp3节点上执行命令使修改立即生效:source /etc/profile
    复制sp1节点解压出来配置好的spark和scala到sp2节点:scp -r /usr/local/* sp2:/usr/local/
    复制sp1节点解压出来配置好的spark和scala到sp3节点:scp -r /usr/local/* sp3:/usr/local/
    ***注意:按照上述步骤完成后即可启动spark集群。
    启动spark命令:start-all.sh
    [root@sp1 sbin]# start-all.sh
    starting org.apache.spark.deploy.master.Master, logging to /usr/local/spark1/spark/sbin/../logs/spark-root-org.apache.spark.deploy.master.Master-1-sp1.out
    sp3: starting org.apache.spark.deploy.worker.Worker, logging to /usr/local/spark1/spark/sbin/../logs/spark-root-org.apache.spark.deploy.worker.Worker-1-sp3.out
    sp2: starting org.apache.spark.deploy.worker.Worker, logging to /usr/local/spark1/spark/sbin/../logs/spark-root-org.apache.spark.deploy.worker.Worker-1-sp2.out
    sp1: starting org.apache.spark.deploy.worker.Worker, logging to /usr/local/spark1/spark/sbin/../logs/spark-root-org.apache.spark.deploy.worker.Worker-1-sp1.out
    验证spark启动是否成功1:分别在三个节点上执行jps命令,结果如下为正确(忽略进程号):
    sp1
    2305 Worker
    2156 Master
    2410 Jps
    sp2
    2057 Worker
    2138 Jps
    sp3
    2056 Worker
    2136 Jps
    验证spark启动是否成功2:在浏览器中输入localhost:8080验证是否启动成功。
    停止spark命令:stop-all.sh



    至此spark的standalone模式集群(3个节点)部署完成。



    在h2的yarn上部署spark集群

  • 相关阅读:
    Kubernetes之Pod调度约束即将Pod分配给节点
    Kubernetes控制器之DaemonSet
    Kubernetes控制器之StatefulSet
    PureFtpd 连接数据库错误
    Ubuntu 脚本笔记
    饥荒 死亡后不删存档的办法
    浏览器前进后退对下拉框数据的丢失(省市联动实现和例子)
    Mac 设置环境变量
    给现有MVC项目增加Web API支持
    文件编辑器 vi
  • 原文地址:https://www.cnblogs.com/mengyao/p/spark.html
Copyright © 2011-2022 走看看