Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 国产综合亚洲精品一区,久久国产精品电影,久久免费毛片

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          大數據常用同步工具

          大數據常用同步工具

          、離線數據同步

          DataX

          阿里的Datax是比較優秀的產品,基于python,提供各種數據村塾的讀寫插件,多線程執行,使用起來也很簡單,操作簡單通常只需要兩步;

          創建作業的配置文件(json格式配置reader,writer);

          啟動執行配置作業。

          非常適合離線數據,增量數據可以使用一些編碼的方式實現,

          缺點:僅僅針對insert數據比較有效,update數據就不適合。缺乏對增量更新的內置支持,因為DataX的靈活架構,可以通過shell腳本等方式方便實現增量同步。

          參考資料:

          github地址:https://github.com/alibaba/DataX

          dataX3.0介紹:https://www.jianshu.com/p/65c440f9bce1

          datax初體驗:https://www.imooc.com/article/15640

          文檔:https://github.com/alibaba/DataX/blob/master/hdfswriter/doc/hdfswriter.md

          Sqoop

          Sqoop(發音:skup)是一款開源的工具,主要用于在Hadoop(Hive)與傳統的數據庫(mysql、postgresql…)間進行數據的傳遞,可以將一個關系型數據庫(例如 : MySQL ,Oracle ,Postgres等)中的數據導進到Hadoop的HDFS中,也可以將HDFS的數據導進到關系型數據庫中。

          地址:http://sqoop.apache.org/

          Sqoop導入:導入工具從RDBMS到HDFS導入單個表。表中的每一行被視為HDFS的記錄。所有記錄被存儲在文本文件的文本數據或者在Avro和序列文件的二進制數據。

          Sqoop導出:導出工具從HDFS導出一組文件到一個RDBMS。作為輸入到Sqoop文件包含記錄,這被稱為在表中的行。那些被讀取并解析成一組記錄和分隔使用用戶指定的分隔符。

          Sqoop支持全量數據導入和增量數據導入(增量數據導入分兩種,一是基于遞增列的增量數據導入(Append方式)。二是基于時間列的增量數據導入(LastModified方式)),同時可以指定數據是否以并發形式導入。

          Kettle

          Kettle是一款國外開源的ETL工具,純java編寫,可以在Window、Linux、Unix上運行,數據抽取高效穩定。

          Kettle的Spoon有豐富的Steps可以組裝開發出滿足多種復雜應用場景的數據集成作業,方便實現全量、增量數據同步。缺點是通過定時運行,實時性相對較差。

          NiFi

          Apache NiFi 是一個易于使用、功能強大而且可靠的數據拉取、數據處理和分發系統,用于自動化管理系統間的數據流。它支持高度可配置的指示圖的數據路由、轉換和系統中介邏輯,支持從多種數據源動態拉取數據。

          NiFi基于Web方式工作,后臺在服務器上進行調度。 用戶可以為數據處理定義為一個流程,然后進行處理,后臺具有數據處理引擎、任務調度等組件。

          幾個核心概念:

          Nifi 的設計理念接近于基于流的編程 Flow Based Programming。

          FlowFile:表示通過系統移動的每個對象,包含數據流的基本屬性

          FlowFile Processor(處理器):負責實際對數據流執行工作

          Connection(連接線):負責不同處理器之間的連接,是數據的有界緩沖區

          Flow Controller(流量控制器):管理進程使用的線程及其分配

          Process Group(過程組):進程組是一組特定的進程及其連接,允許組合其他組件創建新組件

          參考資料

          Nifi簡介及核心概念整理

          官方網站:http://nifi.apache.org/index.html

          二、實時數據同步

          實時同步最靈活的還是用kafka做中間轉發,當數據發生變化時,記錄變化到kafka,需要同步數據的程序訂閱消息即可,需要研發編碼支持。這里說個mysql數據庫的同步組件,阿里的canal和otter

          canal

          https://github.com/alibaba/canal

          數據抽取簡單的來說,就是將一個表的數據提取到另一個表中。有很多的ETL工具可以幫助我們來進行數據的抽取和轉換,ETL工具能進行一次性或者定時作業抽取數據,不過canal作為阿里巴巴提供的開源的數據抽取項目,能夠做到實時抽取,原理就是偽裝成mysql從節點,讀取mysql的binlog,生成消息,客戶端訂閱這些數據變更消息,處理并存儲。下面我們來一起搭建一下canal服務

          早期,阿里巴巴B2B公司因為存在杭州和美國雙機房部署,存在跨機房同步的業務需求。不過早期的數據庫同步業務,主要是基于trigger的方式獲取增量變更,不過從2010年開始,阿里系公司開始逐步的嘗試基于數據庫的日志解析,獲取增量變更進行同步,由此衍生出了增量訂閱&消費的業務,從此開啟了一段新紀元。

          ps. 目前內部版本已經支持mysql和oracle部分版本的日志解析,當前的canal開源版本支持5.7及以下的版本(阿里內部mysql 5.7.13, 5.6.10, mysql 5.5.18和5.1.40/48)

          基于日志增量訂閱&消費支持的業務:

          數據庫鏡像

          數據庫實時備份

          多級索引 (賣家和買家各自分庫索引)

          search build

          業務cache刷新

          價格變化等重要業務消息

          otter

          https://github.com/alibaba/otter

          otter是在canal基礎上又重新實現了可配置的消費者,使用otter的話,剛才說過的消費者就不需要寫了,而otter提供了一個web界面,可以自定義同步任務及map表。非常適合mysql庫之間的同步。

          另外:otter已在阿里云推出商業化版本 數據傳輸服務DTS, 開通即用,免去部署維護的昂貴使用成本。DTS針對阿里云RDS、DRDS等產品進行了適配,解決了Binlog日志回收,主備切換、VPC網絡切換等場景下的同步高可用問題。同時,針對RDS進行了針對性的性能優化。出于穩定性、性能及成本的考慮,強烈推薦阿里云用戶使用DTS產品。

          求說明

          在web服務器中,作為代碼發布機A,文件同步到服務器B,C,D等集群中,可以忽略某個文件和目錄。

          A服務器:內網IP: 192.168.1.2

          B服務器:內網IP: 192.168.1.3

          A和B的www用戶,或者root用戶免密登錄。

          rsync介紹

          rsync是linux系統下的數據鏡像備份工具。使用快速增量備份工具Remote Sync可以遠程同步,支持本地復制,或者與其他SSH、rsync主機同步。

          inotify介紹

          inotify是一種強大的、細粒度的、異步的文件系統事件監控機制,linux內核從2.6.13起,加入了inotify支持,通過inotify可以監控文件系統中添加、刪除,修改、移動等各種細微事件,利用這個內核接口,第三方軟件就可以監控文件系統下文件的各種變化情況,而inotify-tools就是這樣的一個第三方軟件。

          1.安裝rsync

          A和B都做

          yum -y install xinetd
          yum -y install rsync
          
          chkconfig  rsync  on
          
          service xinetd restart
          systemctl restart xinetd

          A上操作:

          rsync -av root@192.168.1.3:/rsynctest/1.txt /root

          B上操作

          rsync -av /rsynctest/2.txt root@192.168.1.2:/root
          rsync -av -e "ssh -p 22" /rsynctest/2.txt root@192.168.1.2:/root        【如果ssh的開啟的端口不是22 則用-e指定ssh端口】

          2.安裝 inotify

          只在A上操作即可。

          安裝inotify-tools
          wget http://js.地址funet8地址.com/centos_software/inotify-tools-3.14.tar.gz
          tar -zxvf inotify-tools-3.14.tar.gz 
          cd inotify-tools-3.14
          ./configure
          make 
          make install
          
          inotifywait -m /root    【查看inotify-tools是否運行正常】
          
          
          新開一個終端:
          [root@localhost ~]# cd /root
          [root@localhost ~]# touch bb.txt
          

          監控到

          # inotifywait -m /root
          Setting up watches.
          Watches established.
          /root/ OPEN .bash_profile
          /root/ ACCESS .bash_profile
          /root/ CLOSE_NOWRITE,CLOSE .bash_profile
          /root/ OPEN .bashrc
          /root/ ACCESS .bashrc
          /root/ CLOSE_NOWRITE,CLOSE .bashrc
          /root/ CREATE bb.txt
          /root/ OPEN bb.txt
          /root/ ATTRIB bb.txt
          /root/ CLOSE_WRITE,CLOSE bb.txt

          網站實時同步腳本

          test.sh 為要運行網站實時同步腳本 其中定義了要同步的網站的路徑,要同步到的ip地址,哪些后綴名的文件忽略監控,同步的用戶名,同步的文件列表,哪些文件不需要同步。

          cat test.sh
          #!/bin/sh
          SRC=/data/wwwroot/web/test/ #代碼發布服務器目錄
          DST=/data/wwwroot/web/test/ #目標服務器目錄
          
          IP="192.168.1.3 192.168.1.4" # 這里可以用hostname,多個主機用空格
          USER=www
          inotifywait -mrq $SRC -e modify,delete,create,close_write,attrib  | while read D E F  
                  do  
                          for i in $IP
                          do
                                  #排除后綴名和目錄
                                  /usr/bin/rsync -e 'ssh -p 60920' \
                                  -ahqzt --exclude "*.swp" \
                                  --exclude "*.svn" \
                                  --exclude "test/" \
                                  --exclude "runtime/" \
                                  --delete $SRC $USER@$i:$DST
                          done
                  done

          運行:

          html中,我們經常會用到table布局;有時候需要實現指定單元格,當鼠標移動到上面的時候,該單元格背景變色,不是該行背景變色,也不是僅僅文字的背景變色;


          html的文件結構大家都是知道的了,總體分為head和body部分

          我們要實現變色,在head部分實現格式

          <style>

          .tablex {border-collapse: collapse;}

          .tablex tr {}

          .tablex tr td {text-align:center; line-height:30px;}

          .tablex tr td:hover { background-color:#f00; color:#fff;}

          </style>

          然后在body部分,使用table時候,注明class="tablex".這樣的話,就實現了我們所說的效果了。

          附上完整代碼:

          <html>

          <head>

          <meta http-equiv="Content-Type" content="text/html; charset=GBK" />

          <title>測試鼠標移到到表格單元格背景顏色改變的</title>

          <style>

          .table1 {border-collapse: collapse;}

          .table1 tr {}

          .table1 tr td {text-align:center; line-height:30px;}

          .table1 tr td:hover { background-color:#006030; color:#006030;}

          </style>

          </head>

          <body>

          <table class="table1" width="70%" border="1">

          <tr>

          <td>測試</td>

          <td>測試</td>

          <td>測試</td>

          <td>測試</td>

          </tr>

          <tr>

          <td>測試</td>

          <td>測試</td>

          <td>測試</td>

          <td>測試</td>

          </tr>

          <tr>

          <td>測試</td>

          <td>測試</td>

          <td>測試</td>

          <td>測試</td>

          </tr>

          <tr>

          <td>測試</td>

          <td>測試</td>

          <td>測試</td>

          <td>測試</td>

          </tr>

          <tr>

          <td>測試</td>

          <td>測試</td>

          <td>測試</td>

          <td>測試</td>

          </tr>

          </table>

          </body>

          </html>

          在任何一個瀏覽器中運行,效果如下




          南大盛聯20年來一直致力于高端IT培訓--打造高級軟件人才實戰培訓專家,學生對我們的認可是我們一直前進的動力;項目團隊全球招聘,特聘來自海外的老師進行任教,采用100%商業項目進行實戰培訓,線上線下同步進行。

          課程全部緊隨市場需求進行設計,并且動態進行調整;7天免費試聽,0首付開始學習,學完后進行100%推薦就業,不滿意工作崗位2次推薦。

          選定一個平臺,認識一群志同道合的朋友,你的未來人生路必定不一樣。

          目前已經開設下面這些培訓項目

          Java培訓

          安卓培訓

          JavaWeb培訓

          Linux培訓

          云服務器布置培訓

          HTML5培訓

          SEO培訓

          視頻剪輯培訓

          UI培訓

          歡迎您們分享給自己愿意分享的朋友,大家一起來進步;相互轉告,咨詢,學習。

          南大盛聯培訓理念:我懂,我也能讓你懂。


          主站蜘蛛池模板: 日韩AV无码一区二区三区不卡| 精品一区二区三区无码视频| 久久福利一区二区| 久久精品国产一区二区 | 一区二区三区四区视频在线| 精品免费国产一区二区三区 | 人妻少妇精品视频一区二区三区| 日韩精品无码一区二区三区四区| 亚洲无线码一区二区三区| 久久精品亚洲一区二区| 中文字幕精品一区二区2021年 | 无码中文字幕一区二区三区| 亚洲丶国产丶欧美一区二区三区| 国产一国产一区秋霞在线观看| 亚洲一区二区精品视频| 国产成人精品视频一区二区不卡| 亚洲国产日韩在线一区| 激情综合丝袜美女一区二区| 亚洲国产综合无码一区| 伊人久久大香线蕉AV一区二区 | 国产一区二区精品久久凹凸 | 国模视频一区二区| 中文字幕精品一区二区精品| 亚洲一区中文字幕在线电影网| 国产主播福利精品一区二区| 国模无码一区二区三区不卡| 中文字幕在线看视频一区二区三区| 国产精品一区二区电影| 国产综合一区二区| 国产成人无码aa精品一区| 国产福利一区二区在线视频 | 国产激情无码一区二区app| 污污内射在线观看一区二区少妇 | V一区无码内射国产| 国产成人一区二区三区视频免费| 国产午夜精品一区二区三区极品 | 国产成人AV区一区二区三| 国产av一区二区三区日韩| 日本中文一区二区三区亚洲| 亚洲影视一区二区| 成人精品一区二区三区中文字幕|