spark on standalone 搭建

一、 准备3台虚拟机  master  slaves1 slaves2

        修改hostname hosts

二、 java :1.8

        scala :scala-2.12.12.tgz

        spark :spark-2.4.6-bin-hadoop2.7.tgz (虚机位置相同)

环境变量:

export JAVA_HOME=/root/tools/jdk1.8.0_161
export SCALA_HOME=/root/tools/scala-2.12.12
export JRE_HOME=${JAVA_HOME}/jre  
export SPARK_HOME=/root/tools/spark-2.4.6-bin-hadoop2.7
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH
export PATH=$SCALA_HOME/bin:$PATH
export PATH=$SPARK_HOME/bin:$PATH

三、安装 ssh  设置虚机免密登录

        安装:yum install openssh-server

        开启:service sshd start

        cd /etc/.ssh        在master的linux上生成ssh密钥: ssh-keygen -t rsa   直接回车3次  ,  复制秘钥到 slaves1 slaves2 虚机 命令:ssh-copy-id 192.168.1.1

    vim /etc/ssh/sshd_config 关闭域名DNS解析  文件中UseDNS no

        测试命令  ssh 192.168.1.1 或者 ssh master 看是否能远程

        同理,slaves1和slaves2同以上操作!

四、关闭防火墙 开放端口8080 7077 8081 7777

1、开启防火墙
    systemctl start firewalld

2、开放指定端口
      firewall-cmd --zone=public --add-port=1935/tcp --permanent
命令含义:
--zone #作用域
--add-port=1935/tcp  #添加端口,格式为:端口/通讯协议
--permanent  #永久生效,没有此参数重启后失效

3、重启防火墙
      firewall-cmd --reload

4、查看端口号
netstat -ntlp   //查看当前所有tcp端口·

netstat -ntulp |grep 1935   //查看所有1935端口使用情况·

5、关闭防火墙

        systemctl stop firewalld.service

五、/root/tools/spark-2.4.6-bin-hadoop2.7/conf

    复制spark-env.sh.template ----  spark-env.sh         slaves.template ----slaves

    在spark-env.sh  增加:

    export SPARK_MASTER_IP=192.168.235.128
    export SPARK_MASTER_HOST=master
    export SPARK_MASTER_PORT=7077
    export JAVA_HOME=/root/tools/jdk1.8.0_161
    export PATH=$PATH:$JAVA_HOME/bin

    在slaves 增加

    slaves1

    slaves2

两个文件复制到slaves1、slaves2

六、启动或停止spark命令

启动:./start-master.sh,./start-slave.sh 或者./start-all.sh

   

停止:./stop-all.sh

 七、打开webUI界面  http://ip:8080/      

八、执行案例

spark  bin目录

./spark-submit --master spark://master:7077 --deploy-mode cluster --class org.apache.spark.examples.JavaWordCount ../examples/jars/spark-examples_2.11-2.4.6.jar 100

 

九、开启日志及查询历史日志

spark-env.sh文件

export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=7777 -Dspark.history.retainedApplications=10 -Dspark.history.fs.logDirectory=/root/tools/directory -Dspark.history.provider=org.apache.spark.deploy.history.FsHistoryProvider"

spark-defaults.conf文件

spark.eventLog.enabled           true
spark.eventLog.dir               /root/tools/directory
spark.eventLog.compress          true

启动成功后可以访问driver节点的7777端口,查看历史记录  http://slaves1:7777/

 

十、定时清理work里的内容

spark-env.sh文件中

export SPARK_WORKER_OPTS="  
-Dspark.worker.cleanup.enabled=true  # 是否开启自动清理
-Dspark.worker.cleanup.interval=1800  # 清理周期,每隔多长时间清理一次,单位秒
-Dspark.worker.cleanup.appDataTtl=3600"  # 保留最近多长时间的数据

十一、spark-defaults.conf文件增加清理日志

#参数指定history-server的日志是否定时清除,true为定时清除,false为不清除
spark.history.fs.cleaner.enabled 默认为false

#日志检查间隔,默认每一天会检查一下日志文件
spark.history.fs.cleaner.interval 默认值为1d

#日志生命周期,当检查到某个日志文件的生命周期为7d时,则会删除该日志文件
spark.history.fs.cleaner.maxAge 默认值为7d

    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章