原创 VXLAN基本原理與配置示例

一  VXLAN的原理      VXLAN(Virtual eXtensible LAN 可擴展虛擬局域網絡)是一種網絡虛擬化技術,底層基於IP網絡,採用"Mac In UDP"封裝形式的二層以太網交換技術。相對於VLAN,VXLAN具

原创 BGP基本概念與配置示例

      BGP(邊界網關協議)是互聯網上一個核心的去中心化自治路由協議,它的目的是去中心化,以達到各個網絡自治。       BGP裏面的核心概念包括:        1) AS(Autonomous system):自治系統,指在一

原创 OSPF基本概念與配置示例

一、OSPF的概念        大家都知道,一個大型網絡系統中包含了很多路由器,負責進行報文的篩選與轉發,而路由器中最核心的概念就是路由表,它充當了報文的導向圖作用,告知報文下一步應該怎麼走;當網絡系統較小時,可以手動配置路由器的靜態路

原创 單臂路由實現不同vlan之間互相通信的配置

1. vlan的基本概念       vlan(virtual lan)即虛擬局域網,我們知道交換機作爲二層交換設備,連接在一臺交換機上所有設備組成了一個局域網,該局域網內所有的設備可以自由通信,但是這裏存在一個問題,即某個設備如果向交換

原创 HDFS寫入監控鏈路調研設計

1. 背景:     線上HDFS的DataNode中頻繁出現Slow write日誌            從日誌分析來看,Slow write分爲write to mirror和write to disk兩類      爲便於分析網絡

原创 spark讀取Hbase的優化

        因爲要對HBase中的鏈路數據進行分析,考慮到直接掃描HBase表對HBase集羣壓力較大,因此通過掃描HFile文件來完成。         HBase的中數據表是按照小時來存儲的,在掃描某一個小時的數據表時,首先建立該

原创 spark處理數據傾斜的案例

在前期的工作遇到了很多數據傾斜的案例,在此記錄下解決的心得 1) 大表join小表:        執行某段sql,出現了Executor OOM的現象,查看其stage的狀況:        第3個stage讀取了21.1G的數據,並

原创 Kubernetes部署入門

        Kubernetes正成爲雲計算中部署和管理軟件的新標準,提供了自動化部署、系統自愈、水平擴展、服務發現和負載均衡、自動更新和回滾、祕鑰和配置管理、存儲掛載等功能,前期在k8s中部署了springboot項目,把一些配置信

原创 oozie workflow開發步驟

       oozie是Hadoop平臺中的任務調度系統,可以將不同類型的作業串聯起來,oozie中的核心概念稱爲workflow,即工作流,每種類型的作業都是一個工作流,oozie中已經集成的workflow包括hive、spark、

原创 自定義SparkSql語法的一般步驟

        SparkSql提供了對Hive的結構化查詢語言,在某些業務場景下,我們可能需要對sql語法進行擴展,在此以自定義merge語法說明其一般步驟。         Hive中parquet格式表的數據文件可能會包含大量碎片文

原创 pyspark中使用自定義模塊的問題

在使用pyspark時,調用自定義的模塊(.zip、egg),可能會遇到以下問題: File "/usr/install/anaconda2/lib/python2.7/site-packages/pyspark/serializers

原创 Spark-ThriftServer源碼分析

Spark1.1之後的版本引入了ThriftServer和CLI,使得Hive用戶和RDBMS用戶可以直接通過JDBC方式提交SQL至Spark運行而無需編寫sparksql代碼,下面對spark-thriftserver的源碼進行簡單分

原创 Sqoop2中Connectors開發方法

Sqoop是Hadoop生態圈中的ETL抽取工具,可以從關係型數據庫抽取數據至HDFS、HBase、Hive中,其內在機制利用了MapReduce進行多節點並行抽取,可以有效地提升抽取速度。 1. Sqoop抽取原理     Sqoop抽

原创 spark jobserver設計[1]--整體架構概覽

      sparkjobserver的設計初衷即"spark as service",將spark作爲一個long running服務並且對外提供rest接口,用戶在不用關心底層配置細節的情況下提交作業至jobserver上運行。目前

原创 spark jobserver設計[2]--作業運行

      jobserver主要運行3種類型的作業:sql、jar、python,下面分別概述這3種作業的運行原理。      yarn端接收任務的rest接口爲/sparkDriver/runSparkJob,傳入的參數爲: