国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于Headless構(gòu)建高可用spark+pyspark集群

這篇具有很好參考價值的文章主要介紹了基于Headless構(gòu)建高可用spark+pyspark集群。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、創(chuàng)建Headless Service服務(wù)

Headless 服務(wù)類型并不分配容器云虛擬 IP,而是直接暴露所屬 Pod 的 DNS 記錄。沒有默認負載均衡器,可直接訪問 Pod IP 地址。因此,當我們需要與集群內(nèi)真實的 Pod IP 地址進行直接交互時,Headless 服務(wù)就很有用。
其中Service的關(guān)鍵配置如下:clusterIP: None,不讓其獲取clusterIP , DNS解析的時候直接走pod。

---
kind: Service
apiVersion: v1
metadata:
  name: ecc-spark-service
  namespace: ecc-spark-cluster
spec:
  clusterIP: None
  ports:
    - port: 7077
      protocol: TCP
      targetPort: 7077
      name: spark
    - port: 10000
      protocol: TCP
      targetPort: 10000
      name: thrift-server-tcp
    - port: 8080
      targetPort: 8080
      name: http
    - port: 45970
      protocol: TCP
      targetPort: 45970
      name: thrift-server-driver-tcp  
    - port: 45980
      protocol: TCP
      targetPort: 45980
      name: thrift-server-blockmanager-tcp    
    - port: 4040
      protocol: TCP
      targetPort: 4040
      name: thrift-server-tasks-tcp              
  selector:
    app: ecc-spark-service

EOF

Service的完全域名: ecc-spark-service.ecc-spark-cluster.svc.cluster.local
headless service的完全域名: headless-service.ecc-spark-cluster.svc.cluster.local
在容器里面ping 完全域名, service解析出的地址是clusterIP,headless service 解析出來的地址是 pod IP。

2、構(gòu)建spark集群

2.1 、創(chuàng)建spark master

spark master分為兩個部分,一個是類型為ReplicationController的主體,命名為ecc-spark-master.yaml,另一部分為一個service,暴露master的7077端口給slave使用。

#如下是把thriftserver部署在master節(jié)點,則需要暴露thriftserver端口、driver端口、
#blockmanager端口服務(wù),以提供worker節(jié)點executor與driver交互.
cat >ecc-spark-master.yaml <<EOF
kind: Deployment
apiVersion: apps/v1
metadata:
  name: ecc-spark-master
  namespace: ecc-spark-cluster
  labels:
    app: ecc-spark-master
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ecc-spark-master
  template:
    metadata:
      labels:
        app: ecc-spark-master
    spec:
      serviceAccountName: spark-cdp
      securityContext: {}
      dnsPolicy: ClusterFirst
      hostname: ecc-spark-master
      containers:
        - name: ecc-spark-master
          image: spark:3.4.1
          imagePullPolicy: IfNotPresent
          command: ["/bin/sh"]
          args: ["-c","sh /opt/spark/sbin/start-master.sh && tail -f /opt/spark/logs/spark--org.apache.spark.deploy.master.Master-1-*"]
          ports:
            - containerPort: 7077
            - containerPort: 8080
          volumeMounts:
            - mountPath: /opt/usrjars/
              name: ecc-spark-pvc
          livenessProbe:
            failureThreshold: 9
            initialDelaySeconds: 2
            periodSeconds: 15
            successThreshold: 1
            tcpSocket:
              port: 8080
            timeoutSeconds: 10
          resources:
            requests:
              cpu: "2"
              memory: "6Gi"
            limits:
              cpu: "2"
              memory: "6Gi"
         - env:
            - SPARK_LOCAL_DIRS
              value: "/odsdata/sparkdirs/"             
      volumes:
        - name: ecc-spark-pvc
          persistentVolumeClaim:
            claimName: ecc-spark-pvc-static

2.2、創(chuàng)建spark worker

在啟動spark worker腳本中需要傳入master的地址,在容器云kubernetes dns且設(shè)置了service的緣故,可以通過ecc-spark-master.ecc-spark-cluster.svc.cluster.local:7077訪問。

cat >ecc-spark-worker.yaml <<EOF
kind: Deployment
apiVersion: apps/v1
metadata:
  name: ecc-spark-worker
  namespace: ecc-spark-cluster
  labels:
    app: ecc-spark-worker
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ecc-spark-worker
  template:
    metadata:
      labels:
        app: ecc-spark-worker
    spec:
      serviceAccountName: spark-cdp
      securityContext: {}
      dnsPolicy: ClusterFirst
      hostname: ecc-spark-worker
      containers:
        - name: ecc-spark-worker
          image: spark:3.4.1
          imagePullPolicy: IfNotPresent
          command: ["/bin/sh"]
          args: ["-c","sh /opt/spark/sbin/start-worker.sh spark://ecc-spark-master.ecc-spark-cluster.svc.cluster.local:7077;tail -f /opt/spark/logs/spark--org.apache.spark.deploy.worker.Worker*"]
          ports:
            - containerPort: 8081
          volumeMounts:
            - mountPath: /opt/usrjars/
              name: ecc-spark-pvc
          resources:
            requests:
              cpu: "2"
              memory: "2Gi"
            limits:
              cpu: "2"
              memory: "4Gi"
        - env:
            - SPARK_LOCAL_DIRS
              value: "/odsdata/sparkdirs/"              
      volumes:
        - name: ecc-spark-pvc
          persistentVolumeClaim:
            claimName: ecc-spark-pvc-static

EOF

2.3 構(gòu)建pyspark提交環(huán)境

import json
import flask
from flask import Flask
from concurrent.futures import ThreadPoolExecutor

app = Flask(__name__)
pool = ThreadPoolExecutor(max_workers=8)

@app.route('/')
def hello_world():  # put application's code here
    return 'Hello World!'

@app.route('/downloadCode', methods=['post'])
def download_file():
    model_id = flask.request.json.get('modelId')
    print(model_id)
    """
    異步提交任務(wù):pool.submit()
    """
    return json.dumps(0, ensure_ascii=False)

@app.route('/modelRun', methods=['post'])
def model_run():
    """
    異步提交任務(wù):pool.submit()
    """
    return json.dumps(0, ensure_ascii=False)

if __name__ == '__main__':
    app.run()
spark@c67e6477b2f1:/opt/spark$ python3
Python 3.8.10 (default, May 26 2023, 14:05:08) 
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> 

將python的調(diào)用整合到:start-master.sh 文件末尾啟動調(diào)用,便可以通過k8s暴露spark-master的F5端口實現(xiàn)http調(diào)用。

3、使用spark-operator安裝spark集群方式

可以參考阿里云文章:搭建Spark應(yīng)用文章來源地址http://www.zghlxwxcb.cn/news/detail-738765.html

到了這里,關(guān)于基于Headless構(gòu)建高可用spark+pyspark集群的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • hadoop集群搭建、spark集群搭建、pyspark搭建(linux+window)

    hadoop集群搭建、spark集群搭建、pyspark搭建(linux+window)

    本文記錄學(xué)習(xí)過程中Hadoop、zookeeper、spark集群搭建,主要為pyspark庫服務(wù)(具體為window上pyspark環(huán)境和pyspark庫,linux上spark框架、pyspark應(yīng)用程序、pyspark環(huán)境和pyspark庫)。pyspark環(huán)境是用anaconda3搭建的環(huán)境。pyspark應(yīng)用程序,是安裝spark集群里面自帶的,提供一個python解釋器環(huán)境來執(zhí)

    2024年01月22日
    瀏覽(29)
  • Zabbix監(jiān)控系統(tǒng)詳解2:基于Proxy分布式實現(xiàn)Web應(yīng)用監(jiān)控及Zabbix 高可用集群的搭建

    Zabbix監(jiān)控系統(tǒng)詳解2:基于Proxy分布式實現(xiàn)Web應(yīng)用監(jiān)控及Zabbix 高可用集群的搭建

    分擔 server 的集中式壓力; 解決多機房之間的網(wǎng)絡(luò)延時問題。 1.3.1 zabbix-server 整個監(jiān)控體系中 最核心的組件 ,它負責接收客戶端發(fā)送的報告信息,所有配置、 統(tǒng)計數(shù)據(jù)及操作數(shù)據(jù)都由它組織。 1.3.2 Database 所有配置信息和zabbix收集到的數(shù)據(jù)都存儲在數(shù)據(jù)庫中。 1.3.3 zabbix-pro

    2024年02月07日
    瀏覽(55)
  • 大數(shù)據(jù)開源框架環(huán)境搭建(七)——Spark完全分布式集群的安裝部署

    大數(shù)據(jù)開源框架環(huán)境搭建(七)——Spark完全分布式集群的安裝部署

    前言:七八九用于Spark的編程實驗 大數(shù)據(jù)開源框架之基于Spark的氣象數(shù)據(jù)處理與分析_木子一個Lee的博客-CSDN博客_spark輿情分析 目錄 實驗環(huán)境: 實驗步驟: 一、解壓 二、配置環(huán)境變量:? 三、修改配置文件? 1.修改spark-env.sh配置文件: 2.修改配置文件slaves: 3.分發(fā)配置文件:

    2024年02月11日
    瀏覽(94)
  • 基于 k8s+docker 環(huán)境構(gòu)建一個高可用、高性能的 web 集群。

    基于 k8s+docker 環(huán)境構(gòu)建一個高可用、高性能的 web 集群。

    目錄 項目架構(gòu)圖 項目描述 項目環(huán)境 環(huán)境準備 IP地址規(guī)劃 關(guān)閉selinux和firewall 配置靜態(tài)ip地址 修改主機名 升級系統(tǒng)(可做可不做) 添加hosts解析 項目步驟 一.使用ProcessOn設(shè)計了整個集群的架構(gòu),規(guī)劃好服務(wù)器的IP地址,使用kubeadm安裝k8s單master的集群環(huán)境(1個master+2個node節(jié)點

    2024年02月07日
    瀏覽(121)
  • 12. Redis分布式高可用集群搭建

    主從復(fù)制,哨兵,集群(master-cluster) 1. 主從模式 2. 哨兵 3. 集群(master-cluster) 1. 關(guān)閉防火墻,三臺機器都執(zhí)行 2. hostname修改,三臺機器都執(zhí)行,這一步是為了在內(nèi)網(wǎng)中三臺服務(wù)器能相互連通 3. 免登陸,三臺機器都執(zhí)行 4. 安裝gcc并升級 5. 下載redis,在三臺機器上都執(zhí)行 6.創(chuàng)

    2024年02月14日
    瀏覽(22)
  • Spark-3.2.4 高可用集群安裝部署詳細圖文教程

    Spark-3.2.4 高可用集群安裝部署詳細圖文教程

    目錄 一、Spark 環(huán)境搭建-Local 1.1 服務(wù)器環(huán)境? 1.2 基本原理? 1.2.1?Local 下的角色分布 1.3 搭建? 1.3.1 安裝 Anaconda? 1.3.1.1 添加國內(nèi)阿里源? 1.3.2 創(chuàng)建 pyspark 環(huán)境? 1.3.3 安裝 spark 1.3.4 添加環(huán)境變量? 1.3.5 啟動 spark? 1.3.5.1 bin/pyspark? 1.3.5.2?WEB UI (4040) 1.3.5.3?spark-shell? 1.3.5.4?bin/sp

    2024年02月07日
    瀏覽(24)
  • Hadoop HA-hadoop完全分布式高可用集群配置、高可用集群啟動方式、master/slave1/slave2配置

    Hadoop HA-hadoop完全分布式高可用集群配置、高可用集群啟動方式、master/slave1/slave2配置

    ? ? ? ? ?本文章使用root用戶完成相關(guān)配置與啟動、這里分為master、slave1、slave2進行配置 ????????一、將hadoop解壓至需要的目錄下 ? ? ? ? ?二、配置hadoop-env.sh啟動文件 ? ? ? ? 三、配置hdfs-site.xml文件 ????????四、配置core-site.xml文件 ????????五、配置yarn-site.x

    2024年02月06日
    瀏覽(29)
  • Redis集群(分布式緩存):詳解持久化、主從同步原理、哨兵機制、Cluster分片集群,實現(xiàn)高并發(fā)高可用

    Redis集群(分布式緩存):詳解持久化、主從同步原理、哨兵機制、Cluster分片集群,實現(xiàn)高并發(fā)高可用

    ? ? ? ? 單機式Redis存在以下問題,因此需要Redis集群化來解決這些問題 ???????Redis數(shù)據(jù)快照,簡單來說就是 把內(nèi)存中的所有數(shù)據(jù)都記錄到磁盤中 。當Redis實例故障重啟后,從 磁盤讀取快照文件,恢復(fù)數(shù)據(jù) ??煺瘴募Q為RDB文件,默認是保存在當前運行目錄。 ?? ?(1)

    2024年02月08日
    瀏覽(26)
  • 【Python】PySpark 數(shù)據(jù)處理 ② ( 安裝 PySpark | PySpark 數(shù)據(jù)處理步驟 | 構(gòu)建 PySpark 執(zhí)行環(huán)境入口對象 )

    【Python】PySpark 數(shù)據(jù)處理 ② ( 安裝 PySpark | PySpark 數(shù)據(jù)處理步驟 | 構(gòu)建 PySpark 執(zhí)行環(huán)境入口對象 )

    執(zhí)行 Windows + R , 運行 cmd 命令行提示符 , 在命令行提示符終端中 , 執(zhí)行 命令 , 安裝 PySpark , 安裝過程中 , 需要下載 310 M 的安裝包 , 耐心等待 ; 安裝完畢 : 命令行輸出 : 如果使用 官方的源 下載安裝 PySpark 的速度太慢 , 可以使用 國內(nèi)的 鏡像網(wǎng)站 https://pypi.tuna.tsinghua.edu.cn/simple

    2024年02月06日
    瀏覽(23)
  • 華為云分布式云原生UCS,助力MetaERP構(gòu)建企業(yè)級高可用分布式業(yè)務(wù)

    華為云分布式云原生UCS,助力MetaERP構(gòu)建企業(yè)級高可用分布式業(yè)務(wù)

    本文分享自華為云社區(qū)《華為云分布式云原生UCS,助力MetaERP構(gòu)建企業(yè)級高可用分布式業(yè)務(wù)》,作者:云容器大未來。 華為云最近成為《Forrester Wave?: Multicloud Container Platforms, Q4 2023》報告中唯一入選的中國廠商,市場表現(xiàn)強勁。華為云分布式云原生 UCS 作為本次參評的關(guān)鍵服

    2024年02月03日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包