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

    

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