主頁 > 資料庫 > 1.4 Apache Hadoop完全分布式集群搭建-hadoop-最全最完整的保姆級的java大資料學習資料

1.4 Apache Hadoop完全分布式集群搭建-hadoop-最全最完整的保姆級的java大資料學習資料

2022-12-05 11:37:21 資料庫

目錄
  • 1.4 Apache Hadoop 完全分布式集群搭建
    • 1.4.1 虛擬機環境準備
    • 1.4.2 集群規劃
    • 1.4.3 安裝Hadoop
      • 1.4.3.1 集群配置
        • 1.4.3.1.1 HDFS集群配置
        • 1.4.3.1.2 MapReduce集群配置
        • 1.4.3.1.3 Yarn集群配置
      • 1.4.3.2 分發配置
    • 1.4.4 啟動集群
      • 1.4.4.1 單節點啟動
      • 1.4.4.2 集群群起
      • 1.4.4.3 Hadoop集群啟動停止命令匯總
    • 1.4.5 集群測驗
    • 1.4.6 配置歷史服務器
      • 1.4.6.1 配置日志的聚集

1.4 Apache Hadoop 完全分布式集群搭建

  • 軟體和作業系統版本
    Hadoop框架是采用Java語言撰寫,需要java環境(jvm)
    JDK版本:JDK8版本
    集群:
    知識點學習:統一使用vmware虛擬機虛擬三臺linux節點,linux作業系統:Centos7
    生產階段:建議最少5臺服務器節點
  • Hadoop搭建方式
    單機模式:單節點模式,非集群,生產不會使用這種方式
    單機偽分布式模式:單節點,多執行緒模擬集群的效果,生產不會使用這種方式
    完全分布式模式:多臺節點,真正的分布式Hadoop集群的搭建(生產環境建議使用這種方式)

1.4.1 虛擬機環境準備

  1. 三臺虛擬機(靜態IP,關閉防火墻,修改主機名,配置免密登錄,集群時間同步)
  2. 在/opt目錄下創建檔案夾
#軟體安裝包存放目錄
mkdir -p /opt/lagou/software
#軟體安裝目錄
mkdir -p /opt/lagou/servers
  1. Hadoop下載地址:

? https://archive.apache.org/dist/hadoop/common/hadoop-2.9.2/

? Hadoop官網地址:

? http://hadoop.apache.org/

  1. 上傳hadoop安裝檔案到/opt/lagou/software

1.4.2 集群規劃

框架 linux121 linux122 linux123
HDFS NameNode、DataNode DataNode SecondaryNameNode、DataNode
YARN NodeManager NodeManager NodeManager、ResourceManager

1.4.3 安裝Hadoop

  • 登錄linux121節點;進入/opt/lagou/software,解壓安裝檔案到/opt/lagou/servers
tar -zxvf hadoop-2.9.2.tar.gz -C /opt/lagou/servers
  • 查看是否解壓成功
ll /opt/lagou/servers/hadoop-2.9.2
  • 添加Hadoop到環境變數 vim /etc/profile
#HADOOP_HOME 
export HADOOP_HOME=/opt/lagou/servers/hadoop-2.9.2 export PATH=$PATH:$HADOOP_HOME/bin 
export PATH=$PATH:$HADOOP_HOME/sbin
  • 使環境變數生效
source /etc/profile
  • 驗證hadoop
hadoop version

? 校驗結果:
在這里插入圖片描述

  • hadoop目錄
    在這里插入圖片描述
  1. bin目錄:對Hadoop進行操作的相關命令,如hadoop,hdfs等
  2. etc目錄:Hadoop的組態檔目錄,如hdfs-site.xml,core-site.xml等
  3. lib目錄:Hadoop本地庫(解壓縮的依賴)
  4. sbin目錄:存放的是Hadoop集群啟動停止相關腳本,命令
  5. share目錄:Hadoop的一些jar,官方案例jar,檔案等

1.4.3.1 集群配置

Hadoop集群配置 = HDFS集群配置 + MapReduce集群配置 + Yarn集群配置

  • HDFS集群配置
    1. 將JDK路徑明確配置給HDFS(修改hadoop-env.sh)
    2. 指定NameNode節點以及資料存盤目錄(修改core-site.xml)
    3. 指定SecondaryNameNode節點(修改hdfs-site.xml)
    4. 指定DataNode從節點(修改etc/hadoop/slaves檔案,每個節點配置資訊占一行)
  • MapReduce集群配置
    1. 將JDK路徑明確配置給MapReduce(修改mapred-env.sh)
    2. 指定MapReduce計算框架運行Yarn資源調度框架(修改mapred-site.xml)
  • Yarn集群配置
    1. 將JDK路徑明確配置給Yarn(修改yarn-env.sh)
    2. 指定ResourceManager老大節點所在計算機節點(修改yarn-site.xml)
    3. 指定NodeManager節點(會通過slaves檔案內容確定)

集群配置具體步驟:

1.4.3.1.1 HDFS集群配置
cd /opt/lagou/servers/hadoop-2.9.2/etc/hadoop
  • 配置:hadoop-env.sh

    將JDK路徑明確配置給HDFS

    vim hadoop-env.sh

export JAVA_HOME=/opt/lagou/servers/jdk1.8.0_231
  • 指定NameNode節點以及資料存盤目錄(修改core-site.xml)

    vim core-site.xml

<!-- 指定HDFS中NameNode的地址 -->
<property> 
	<name>fs.defaultFS</name> 
	<value>hdfs://linux121:9000</value> 
</property> 
<!-- 指定Hadoop運行時產生檔案的存盤目錄 --> 
<property> 
	<name>hadoop.tmp.dir</name> 
	<value>/opt/lagou/servers/hadoop-2.9.2/data/tmp</value>
</property>

core-site.xml的默認配置:

https://hadoop.apache.org/docs/r2.9.2/hadoop-project-dist/hadoop-common/core-default.xml

  • 指定secondarynamenode節點(修改hdfs-site.xml)

    vim hdfs-site.xml

<!-- 指定Hadoop輔助名稱節點主機配置 --> 
<property> 
	<name>dfs.namenode.secondary.http-address</name> 
    <value>linux123:50090</value> 
</property> 

<!-- 副本數量 --> 
<property> 
	<name>dfs.replication</name> 
	<value>3</value> 
</property>

官方默認配置
https://hadoop.apache.org/docs/r2.9.2/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

  • 指定datanode從節點(修改slaves檔案,每個節點配置資訊占一行)

? vim slaves

linux121
linux122
linux123

注意:該檔案中添加的內容結尾不允許有空格,檔案中不允許有空行,

1.4.3.1.2 MapReduce集群配置
  • 指定MapReduce使用的jdk路徑(修改mapred-env.sh)

    vim mapred-env.sh

export JAVA_HOME=/opt/lagou/servers/jdk1.8.0_231
  • 指定MapReduce計算框架運行Yarn資源調度框架(修改mapred-site.xml)
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<!-- 指定MR運行在Yarn上 --> 
<property> 
	<name>mapreduce.framework.name</name> 
	<value>yarn</value> 
</property>

mapred-site.xml默認配置

https://hadoop.apache.org/docs/r2.9.2/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml

1.4.3.1.3 Yarn集群配置
  • 指定JDK路徑

? vim yarn-env.sh

export JAVA_HOME=/opt/lagou/servers/jdk1.8.0_231
  • 指定ResourceManager的master節點資訊(修改yarn-site.xml)

? vim yarn-site.xml

<!-- 指定YARN的ResourceManager的地址 --> 
<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>linux123</value>
</property>

<!-- Reducer獲取資料的方式 --> 
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>

yarn-site.xml的默認配置

https://hadoop.apache.org/docs/r2.9.2/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

  • 指定NodeManager節點(slaves檔案已修改)

注意:
Hadoop安裝目錄所屬用戶和所屬用戶組資訊,默認是501 dialout,而我們操作Hadoop集群的用戶使用的是虛擬機的root用戶,所以為了避免出現資訊混亂,修改Hadoop安裝目錄所屬用戶和用戶組!!!

chown -R root:root /opt/lagou/servers/hadoop-2.9.2

1.4.3.2 分發配置

撰寫集群分發腳本rsync-script

  • rsync 遠程同步工具

rsync主要用于備份和鏡像,具有速度快、避免復制相同內容和支持符號鏈接的優點,

rsync和scp區別:用rsync做檔案的復制要比scp的速度快,rsync只對差異檔案做更新,scp是把所有文 件都復制過去,

  1. 基本語法
rsync   -rvl 		$pdir/$fname 	 $user@$host:$pdir/$fname

? 命令 選項引數 要拷貝的檔案路徑/名稱 目的用戶@主機:目的路徑/名稱

  1. 選項引數說明

表2-2

選項 功能
-r 遞回
-v 顯示復制程序
-l 拷貝符號連接
  • rsync案例

    1. 三臺虛擬機安裝rsync (執行安裝需要保證機器聯網)
    [root@linux121 ~]# yum install -y rsync
    
    1. 把linux121機器上的/opt/lagou/software目錄同步到linux122服務器的root用戶下的/opt/目錄
    [root@linux121 opt]$ rsync -rvl /opt/lagou/software/ root@linux122:/opt/lagou/software
    
  • 集群分發腳本撰寫

    1. 需求:回圈復制檔案到集群所有節點的相同目錄下

      rsync命令原始拷貝:

      rsync  -rvl  	/opt/module 	root@linux123:/opt/
      
    2. 期望腳本
      腳本+要同步的檔案名稱

    3. 說明:在/usr/local/bin這個目錄下存放的腳本,root用戶可以在系統任何地方直接執行,

    4. 腳本實作
      (1)在/usr/local/bin目錄下創建檔案rsync-script,檔案內容如下:

      [root@linux121 bin]$ touch rsync-script
      [root@linux121 bin]$ vim rsync-script
      

      在檔案中撰寫shell代碼

      #!/bin/bash
      
      #1 獲取命令輸入引數的個數,如果個數為0,直接退出命令 paramnum=$# 
      if((paramnum==0)); then 
      echo no params; 
      exit; 
      fi
        
      #2 根據傳入引數獲取檔案名稱 
      p1=$1
      file_name=`basename $p1`
      echo fname=$file_name
        
      #3 獲取輸入引數的絕對路徑
      pdir=`cd -P $(dirname $p1); pwd`
      echo pdir=$pdir
        
      #4 獲取用戶名稱
      user=`whoami`
        
      #5 回圈執行rsync 
      for((host=121; host<124; host++)); do 
      echo ------------------- linux$host -------------- 
      rsync -rvl $pdir/$file_name $user@linux$host:$pdir 
      done
      

      (2)修改腳本 rsync-script 具有執行權限

      [root@linux121 bin]$ chmod 777 rsync-script
      

      (3)呼叫腳本形式:rsync-script 檔案名稱

      [root@linux121 bin]$ rsync-script /home/root/bin
      

      (4)呼叫腳本分發Hadoop安裝目錄到其它節點

      [root@linux121 bin]$ rsync-script /opt/lagou/servers/hadoop-2.9.2
      

1.4.4 啟動集群

注意:如果集群是第一次啟動,需要在Namenode所在節點格式化NameNode,非第一次不用執行格式化Namenode操作!!!

1.4.4.1 單節點啟動

[root@linux121 hadoop-2.9.2]$ hadoop namenode -format

格式化命令執行效果:
在這里插入圖片描述
格式化后創建的檔案:/opt/lagou/servers/hadoop-2.9.2/data/tmp/dfs/name/current
在這里插入圖片描述

  1. 在linux121上啟動NameNode

    [root@linux121 hadoop-2.9.2]$ hadoop-daemon.sh start namenode
    [root@linux121 hadoop-2.9.2]$ jps
    
  2. 在linux121、linux122以及linux123上分別啟動DataNode

    [root@linux121 hadoop-2.9.2]$ hadoop-daemon.sh start datanode
    [root@linux121 hadoop-2.9.2]$ jps
    3461 NameNode
    3608 Jps
    3561 DataNode
    
    [root@linux122 hadoop-2.9.2]$ hadoop-daemon.sh start datanode
    [root@linux122 hadoop-2.9.2]$ jps
    3190 DataNode
    3279 Jps
    
    [root@linux123 hadoop-2.9.2]$ hadoop-daemon.sh start datanode
    [root@linux123 hadoop-2.9.2]$ jps
    3237 Jps
    3163 DataNode
    
  3. web端查看hdfs界面

    http://linux121:50070/dfshealth.html#tab-overview

在這里插入圖片描述

查看HDFS集群正常節點:

在這里插入圖片描述

  1. Yarn集群單節點啟動

    [root@linux123 servers]# yarn-daemon.sh start resourcemanager
    [root@linux123 servers]# jps
    7881 ResourceManager 
    8094 Jps
    
    [root@linux122 servers]# yarn-daemon.sh start nodemanager
    [root@linux122 servers]# jps
    8166 NodeManager
    8223 Jps
    
    [root@linux121 servers]# yarn-daemon.sh start nodemanager
    [root@linux121 servers]# jps
    8166 NodeManager
    8223 Jps
    
  2. 思考:Hadoop集群每次需要一個一個節點的啟動,如果節點數增加到成千上萬個怎么辦?

1.4.4.2 集群群起

  1. 如果已經單節點方式啟動了Hadoop,可以先停止之前的啟動的Namenode與Datanode行程,如果之前Namenode沒有執行格式化,這里需要執行格式化!!!!

    hadoop namenode -format
    
  2. 啟動HDFS

    [root@linux121 hadoop-2.9.2]$ sbin/start-dfs.sh
    [root@linux121 hadoop-2.9.2]$ jps
    4166 NameNode
    4482 Jps
    4263 DataNode
    
    [root@linux122 hadoop-2.9.2]$ jps
    3218 DataNode
    3288 Jps
    
    [root@linux123 hadoop-2.9.2]$ jps
    3221 DataNode
    3283 SecondaryNameNode
    3364 Jps
    
  3. 啟動YARN

    [root@linux123 hadoop-2.9.2]$ sbin/start-yarn.sh
    

? 注意:NameNode和ResourceManger不是在同一臺機器,不能在NameNode上啟動 YARN,應該 在ResouceManager所在的機器上啟動YARN,

1.4.4.3 Hadoop集群啟動停止命令匯總

  1. 各個服務組件逐一啟動/停止

    1. 分別啟動/停止HDFS組件

      hadoop-daemon.sh  start / stop  namenode / datanode / secondarynamenode
      
    2. 啟動/停止YARN

      yarn-daemon.sh  start / stop  resourcemanager / nodemanager
      
  2. 各個模塊分開啟動/停止(配置ssh是前提)常用

    1. 整體啟動/停止HDFS

      start-dfs.sh  /  stop-dfs.sh
      
    2. 整體啟動/停止YARN

      start-yarn.sh  /  stop-yarn.sh
      

1.4.5 集群測驗

  1. HDFS 分布式存盤初體驗

    從linux本地檔案系統上傳下載檔案驗證HDFS集群作業正常

    hdfs dfs -mkdir -p /test/input
    #本地hoome目錄創建一個檔案
    cd /root
    
    vim test.txt
    
    hello hdfs
    
    #上傳linxu檔案到Hdfs
    hdfs dfs -put /root/test.txt  /test/input
    
    #從Hdfs下載檔案到linux本地
    hdfs dfs -get /test/input/test.txt
    
  2. MapReduce 分布式計算初體驗

    • 在HDFS檔案系統根目錄下面創建一個wcinput檔案夾

      [root@linux121 hadoop-2.9.2]$ hdfs dfs -mkdir /wcinput
      
    • 在/root/目錄下創建一個wc.txt檔案(本地檔案系統)

      [root@linux121 hadoop-2.9.2]$ cd /root/
      [root@linux121 wcinput]$ touch wc.txt
      
    • 編輯wc.txt檔案

      [root@linux121 wcinput]$ vi wc.txt
      
    • 在檔案中輸入如下內容

      hadoop mapreduce yarn
      hdfs hadoop mapreduce
      mapreduce yarn lagou
      lagou
      lagou
      
    • 保存退出

      : wq! 
      
    • 上傳wc.txt到Hdfs目錄/wcinput下

      hdfs dfs -put wc.txt /wcinput
      
    • 回到Hadoop目錄/opt/lagou/servers/hadoop-2.9.2

    • 執行程式

      [root@linux121 hadoop-2.9.2]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar wordcount /wcinput /wcoutput
      
    • 查看結果

      [root@linux121 hadoop-2.9.2]$ hdfs dfs -cat /wcoutput/part-r-00000
      
      hadoop 	 	2
      hdfs		1
      lagou 		3
      mapreduce	3
      yarn		2
      

1.4.6 配置歷史服務器

在Yarn中運行的任務產生的日志資料不能查看,為了查看程式的歷史運行情況,需要配置一下歷史日志服務器,具體配置步驟如下:

  1. 配置mapred-site.xml

    [root@linux121 hadoop]$ vi mapred-site.xml
    

    在該檔案里面增加如下配置,

    <!-- 歷史服務器端地址 -->
    <property>
    	<name>mapreduce.jobhistory.address</name>
    	<value>linux121:10020</value>
    </property>
    <!-- 歷史服務器web端地址 -->
    <property>
    	<name>mapreduce.jobhistory.webapp.address</name>
        <value>linux121:19888</value>
    </property>
    
  2. 分發mapred-site.xml到其它節點

    rsync-script mapred-site.xml
    
  3. 啟動歷史服務器

    [root@linux121 hadoop-2.9.2]$ sbin/mr-jobhistory-daemon.sh start historyserver
    
  4. 查看歷史服務器是否啟動

    [root@linux121 hadoop-2.9.2]$ jps
    
  5. 查看JobHistory
    http://linux121:19888/jobhistory

1.4.6.1 配置日志的聚集

日志聚集:應用(Job)運行完成以后,將應用運行日志資訊從各個task匯總上傳到HDFS系統上,

日志聚集功能好處:可以方便的查看到程式運行詳情,方便開發除錯,

注意:開啟日志聚集功能,需要重新啟動NodeManager 、ResourceManager和 HistoryManager,

開啟日志聚集功能具體步驟如下:

  1. 配置yarn-site.xml

    [root@linux121 hadoop]$ vi yarn-site.xml
    

    在該檔案里面增加如下配置,

    <!-- 日志聚集功能開啟 -->
    <property>
    	<name>yarn.log-aggregation-enable</name>
    	<value>true</value>
    </property>
    <!-- 日志保留時間設定7天 -->
    <property>
    	<name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>
    <property>
        <name>yarn.log.server.url</name>
        <value>http://linux121:19888/jobhistory/logs</value>
    </property>
    
  2. 分發yarn-site.xml到集群其它節點

    rsync-script yarn-site.xml
    
  3. 關閉NodeManager 、ResourceManager和HistoryManager

    [root@linux121 hadoop-2.9.2]$ sbin/yarn-daemon.sh stop resourcemanager
    
    [root@linux121 hadoop-2.9.2]$ sbin/yarn-daemon.sh stop nodemanager
    
    [root@linux121 hadoop-2.9.2]$ sbin/mr-jobhistory-daemon.sh stop historyserver
    
  4. 啟動NodeManager 、ResourceManager和HistoryManager

    [root@linux121 hadoop-2.9.2]$ sbin/yarn-daemon.sh start resourcemanager
    
    [root@linux121 hadoop-2.9.2]$ sbin/yarn-daemon.sh start nodemanager
    
    [root@linux121 hadoop-2.9.2]$ sbin/mr-jobhistory-daemon.sh start historyserver
    
  5. 洗掉HDFS上已經存在的輸出檔案

    [root@linux121 hadoop-2.9.2]$ bin/hdfs dfs -rm -R /wcoutput
    
  6. 執行WordCount程式

    [root@linux121 hadoop-2.9.2]$ hadoop jar share/hadoop/mapreduce/hadoop- mapreduce-examples-2.9.2.jar wordcount /wcinput /wcoutput
    
  7. 查看日志,如圖所示

    http://linux121:19888/jobhistory

在這里插入圖片描述在這里插入圖片描述
在這里插入圖片描述

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/539189.html

標籤:大數據

上一篇:1.3 Apache Hadoop的重要組成-hadoop-最全最完整的保姆級的java大資料學習資料

下一篇:DTALK直播預約 | 12月8日開播:后疫情時代,制造企業如何實作數字化轉型?

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:33:24 more
  • MySQL中binlog備份腳本分享

    關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......

    uj5u.com 2023-04-20 08:28:06 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:27:27 more
  • 快取與資料庫雙寫一致性幾種策略分析

    本文將對幾種快取與資料庫保證資料一致性的使用方式進行分析。為保證高并發性能,以下分析場景不考慮執行的原子性及加鎖等強一致性要求的場景,僅追求最終一致性。 ......

    uj5u.com 2023-04-20 08:26:48 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:26:35 more
  • 云時代,MySQL到ClickHouse資料同步產品對比推薦

    ClickHouse 在執行分析查詢時的速度優勢很好的彌補了MySQL的不足,但是對于很多開發者和DBA來說,如何將MySQL穩定、高效、簡單的同步到 ClickHouse 卻很困難。本文對比了 NineData、MaterializeMySQL(ClickHouse自帶)、Bifrost 三款產品... ......

    uj5u.com 2023-04-20 08:26:29 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:25:13 more
  • Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)

    Redis 報錯“OutOfDirectMemoryError(堆外記憶體溢位) ”問題如下: 一、報錯資訊: 使用 Redis 的業務介面 ,產生 OutOfDirectMemoryError(堆外記憶體溢位),如圖: 格式化后的報錯資訊: { "timestamp": "2023-04-17 22: ......

    uj5u.com 2023-04-20 08:24:54 more
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:24:03 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:23:11 more