版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、大數(shù)據(jù)技術(shù)基礎(chǔ)培訓(xùn)12TRANSWARP 2013Hadoop集群管理與維護(hù)hadoop集群管理和維護(hù)3TRANSWARP 2013包括Hadoop集群部署配置、管理和監(jiān)控,以及Hadoop集群的安全保障主要內(nèi)容(1)Hadoop集群優(yōu)化配置和部署(2)Hadoop集群管理和監(jiān)控Hadoop集群數(shù)據(jù)導(dǎo)入Hadoop集群安全保障Hadoop集群生產(chǎn)運(yùn)維最佳實(shí)踐Hadoop集群優(yōu)化配置和部署4TRANSWARP 2013Hadoop集群規(guī)劃Hadoop集群基本配置參數(shù)Hadoop集群高級配置參數(shù)Hadoop集群規(guī)劃規(guī)劃集群需要使用的Hadoop的服務(wù) 服務(wù)包括:ZooKeeper,HDFS,Map
2、Reduce,Inceptor,HBase,Hive等規(guī)劃集群的節(jié)點(diǎn)角色 根據(jù)需要使用的服務(wù)為節(jié)點(diǎn)指定角色,如NameNode、Inceptor Master等規(guī)劃集群的硬件配置 如服務(wù)器數(shù)量,機(jī)架分布,每臺機(jī)器的CPU型號以及磁盤、內(nèi)存的大小規(guī)劃集群的網(wǎng)絡(luò) 包括網(wǎng)絡(luò)拓?fù)?,交換機(jī)型號以及機(jī)器網(wǎng)卡型號5TRANSWARP 2013集群服務(wù)角色規(guī)劃根據(jù)業(yè)務(wù)類型選擇所需服務(wù) 服務(wù)Zookeeper,HDFS,MapReduce,Inceptor一般業(yè)務(wù)都需要 按關(guān)鍵字精確查詢的實(shí)時在線系統(tǒng)需要使用HBase 離線統(tǒng)計(jì)分析系統(tǒng)需要使用Hive 從傳統(tǒng)數(shù)據(jù)庫或者本地文件導(dǎo)入數(shù)據(jù)需要使用Sqoop 采集日
3、志業(yè)務(wù)需要使用Flume集群節(jié)點(diǎn)可分為主節(jié)點(diǎn)和從節(jié)點(diǎn)主節(jié)點(diǎn)角色包括: ZooKeeper,NameNode,Secondary NameNode,Journal Node,JobTracker, HBase Master,Hive Metastore,Hive Server,Inceptor Master從節(jié)點(diǎn)角色包括: DataNode,TaskTracker,HBase RegionServer,Inceptor Worker6TRANSWARP 2013節(jié)點(diǎn)角色規(guī)劃角色描述節(jié)點(diǎn)規(guī)劃內(nèi)存需求ZooKeeper為高可用性提供選舉服務(wù)3個或3個以上的奇數(shù)個節(jié)點(diǎn)4GBNameNodeHDFS的主
4、節(jié)點(diǎn),存儲文件系統(tǒng)目錄結(jié)構(gòu)以及元數(shù)據(jù)信息一個獨(dú)立節(jié)點(diǎn),配置了高可用性時,需要兩個獨(dú)立節(jié)點(diǎn)16GBSecondary NameNode對NameNode做冷備份的節(jié)點(diǎn)非NameNode的一臺主節(jié)點(diǎn),配置了高可用性時,不得配置Secondary NameNode16GBJournal Node配置了高可用性時,HDFS修改日志存儲節(jié)點(diǎn)3個或3個以上奇數(shù)個節(jié)點(diǎn),可與NameNode共享節(jié)點(diǎn)2GBDataNodeHDFS數(shù)據(jù)存儲節(jié)點(diǎn)位于集群中的從節(jié)點(diǎn)2GB7TRANSWARP 2013節(jié)點(diǎn)角色規(guī)劃 contd角色描述節(jié)點(diǎn)規(guī)劃內(nèi)存需求JobTrackerMapReduce的主節(jié)點(diǎn),負(fù)責(zé)調(diào)度任務(wù)和分配資源
5、大規(guī)模集群使用獨(dú)立節(jié)點(diǎn),小規(guī)模集群可以與NameNode共享節(jié)點(diǎn),高可用性需要兩個節(jié)點(diǎn)2GBTaskTrackerMapReduce計(jì)算節(jié)點(diǎn)與DataNode運(yùn)行在相同節(jié)點(diǎn)上2GB,slots所需內(nèi)存為2GB*slot數(shù)HBase MasterHBase主節(jié)點(diǎn),用以管理RegionServer推薦配置三個以上節(jié)點(diǎn),可與其他角色共享節(jié)點(diǎn)2GBHBase RegionServerHBase中用以管理數(shù)據(jù)的進(jìn)程與DataNode運(yùn)行在相同節(jié)點(diǎn)上32GB8TRANSWARP 2013節(jié)點(diǎn)角色規(guī)劃 contd角色描述節(jié)點(diǎn)規(guī)劃內(nèi)存需求Hive Metastore存放Hive元數(shù)據(jù)信息,以及驅(qū)動程序可與其他
6、角色共享主節(jié)點(diǎn),高可用性時部署于多個節(jié)點(diǎn)4GBHive ServerHive的服務(wù)器程序一或多臺主節(jié)點(diǎn),可與其他角色共享節(jié)點(diǎn)8GBInceptor MasterInceptor的主節(jié)點(diǎn),用于調(diào)度任務(wù)和分配資源運(yùn)行與一臺主節(jié)點(diǎn),可與其他角色共享節(jié)點(diǎn)4GBInceptor WorkerInceptor的計(jì)算節(jié)點(diǎn)與DataNode運(yùn)行在相同節(jié)點(diǎn)上2GB,用于計(jì)算的Executor推薦32-64GBManagement Node管理節(jié)點(diǎn)可與其他角色共享一臺主節(jié)點(diǎn)8GB9TRANSWARP 2013集群硬件規(guī)劃服務(wù)器運(yùn)行TDH至少需要英特爾至強(qiáng)處理器,推薦使用雙路4核英特爾處理器。集群網(wǎng)絡(luò)配置推薦使用千
7、兆交換機(jī),每臺機(jī)器配置多塊網(wǎng)卡,并對這些網(wǎng)卡做模式6的多網(wǎng)卡綁定服務(wù)器運(yùn)行TDH的推薦配置64G以上內(nèi)存,可根據(jù)節(jié)點(diǎn)角色來計(jì)算具體內(nèi)存。 比如一個服務(wù)器計(jì)劃配置以下角色:DataNode, Inceptor Worker 和 HBase Region Server, 同時計(jì)劃Inceptor Worker的Executor使用64G內(nèi)存。這樣,對于這個服務(wù)器的推薦內(nèi)存為: 2GB + 4GB + 64G + 32GB = 102GB.10TRANSWARP 2013集群硬件規(guī)劃 contd通常多個小容量硬盤 比少數(shù)大容量硬盤性能要好 如8 * 1.5TB的硬盤比6*2TB的硬盤I/O性能好推薦
8、使用轉(zhuǎn)速為7200 RPM的SATA盤 沒有必要使用轉(zhuǎn)速為15000 RPM的硬盤物理硬盤不要使用RAID。 若RAID無法被移除的情況下,每塊盤可以被設(shè)為一個單獨(dú)的RAID 0.物理硬盤的需要預(yù)估集群數(shù)據(jù)規(guī)模 假設(shè)數(shù)據(jù)量預(yù)估為 n (TB),則需要硬盤大小為 n*1.2*(3+1) / 3 (TB). 系數(shù)1.2表示對數(shù)據(jù)建立索引的大小,3+1中的3表示復(fù)制份數(shù),1表示預(yù)留空間, 除以的3表示使用Snappy壓縮比。11TRANSWARP 2013Hadoop集群優(yōu)化配置和部署12TRANSWARP 2013Hadoop集群規(guī)劃Hadoop集群基本配置參數(shù)Hadoop集群高級配置參數(shù)13TR
9、ANSWARP 2013Hadoop集群基本配置參數(shù) 每臺機(jī)器都有自己的一組配置文件 根據(jù)機(jī)器角色和硬件差異而不同 每個服務(wù)都有自己的配置文件目錄 例如服務(wù)hdfs1的配置文件在/etc/hdfs1/conf文件夾中 主要的配置文件是XML格式 核心參數(shù):core-site.xml HDFS參數(shù):hdfs-site.xml MapReduce參數(shù):mapred-site.xml hadoop-env.sh設(shè)置了Hadoop所要使用到的環(huán)境變量 如各個進(jìn)程所使用的最大堆內(nèi)存 Hadoop的配置目錄,日志目錄等等14TRANSWARP 2013配置文件示例 配置文件示例(mapred-site.x
10、ml) mapred.job.tracker transwarp03:54311 Hadoop集群配置參數(shù)Hadoop是一個年輕的系統(tǒng) “最佳實(shí)踐”和可選的參數(shù)配置根據(jù)系統(tǒng)的需求和業(yè)務(wù)類型而不同 有大量參數(shù)需要配置和調(diào)優(yōu)默認(rèn)的參數(shù)值可參考Hadoop文檔,如core-site.xml的默認(rèn)配置: http:/docs/current/hadoop-project-dist/hadoop-common/core-default.xml下面將關(guān)鍵參數(shù)進(jìn)行闡述,并給出推薦配置 基于hadoop 2.0版本,與之前版本的參數(shù)名有所差異。15TRANSWARP 2013core-site.xml配置參數(shù)
11、fs.defaultFS 默認(rèn)文件系統(tǒng)的URI,如hdfs:/namenode01:8020, 決定了Hadoop底層所使用的文件系統(tǒng)、 主機(jī)名和端口,若換用別的文件系統(tǒng),需要指定文件系統(tǒng)的實(shí)現(xiàn)類(參數(shù)fs.SCHEME.impl)io.file.buffer.size 序列文件在讀寫中可以使用的緩沖區(qū)大小,應(yīng)該是操作系統(tǒng)分頁大小的整數(shù)倍, 推薦大小:65536 131072ha.zookeeper.quorum 配置了高可用性時,用于自動失效轉(zhuǎn)移的控制進(jìn)程所使用的zookeeper服務(wù)器地址。hadoop.security.authentication 安裝認(rèn)證機(jī)制,有simple和kerb
12、eros兩種模式,simple表示使用系統(tǒng)的用戶和組來進(jìn)行 身份認(rèn)證,kerberos表示使用基于Kerberos認(rèn)證協(xié)議的身份認(rèn)證機(jī)制16TRANSWARP 2013hdfs-site.xml基本配置參數(shù).dir NameNode存放元數(shù)據(jù)信息的本地目錄,推薦使用位于不同磁盤上的多個目錄dfs.datanode.data.dir DataNode存放數(shù)據(jù)塊的本地目錄,推薦配置多塊磁盤上的目錄,需要注意的是該數(shù)據(jù)目錄 不能放在根分區(qū)node.rpc-address NameNode rpc服務(wù)器的地址和端口dfs.replication 數(shù)據(jù)塊備份數(shù)量,默認(rèn)為3dfs.blocksize HD
13、FS中DataNode存儲的數(shù)據(jù)塊大小,默認(rèn)是64MB,Mapreduce默認(rèn)按照該參數(shù)的值劃對 目標(biāo)文件切片,設(shè)置太大會導(dǎo)致同時計(jì)算的map任務(wù)數(shù)較少,如果設(shè)置太小,每個map處理 的數(shù)據(jù)量太小,浪費(fèi)map資源17TRANSWARP 2013hdfs-site.xml高級配置參數(shù) node.handler.count NameNode處理DataNode RPC請求的線程數(shù),默認(rèn)值為10,推薦為DataNode節(jié)點(diǎn)數(shù)的10%dfs.datanode.failed.volumes.tolerated DataNode能夠容忍的硬盤故障個數(shù),默認(rèn)值為0,在有硬盤監(jiān)控報(bào)警的情況下可以調(diào)大該值dfs
14、.datanode.du.reserved 每塊磁盤不供DataNode存儲數(shù)據(jù)的大小,默認(rèn)值為0,推薦設(shè)置10Gdfs.client.read.shortcircuit 當(dāng)數(shù)據(jù)在客戶端本地時,直接從本地磁盤讀取數(shù)據(jù)塊而不是走網(wǎng)絡(luò)dfs.domain.socket.path 開啟shortcircuit時,使用了UNIX domain socket來進(jìn)行數(shù)據(jù)塊的讀寫,該參數(shù)配置socket 文件的路徑18TRANSWARP 2013mapred-site.xml基本配置參數(shù)mapred.job.tracker jobtracker的主機(jī)名和端口,如transwarp-node1:54311 m
15、apred.local.dir 存放mapreduce中間結(jié)果的本地目錄,推薦配置不同磁盤上的多個目錄,以逗號分隔mapred.child.java.opts 啟動TaskTracker子進(jìn)程的Java參數(shù),默認(rèn)值是-Xmx200m,可根據(jù)集群配置調(diào)整該參數(shù), 推薦使用1G或2Gmapred.jobtracker.taskScheduler MapReduce任務(wù)的調(diào)度算法,推薦使用公平調(diào)度算法FairSchedulermapred.tasktracker.map.tasks.maximum TaskTracker的map任務(wù)槽最大數(shù)目,推薦與CPU核數(shù)相等mapred.tasktracker
16、.reduce.tasks.maximum TaskTracker的reduce任務(wù)槽最大數(shù)目,推薦為CPU核數(shù)的一半19TRANSWARP 2013MapReduce高級配置參數(shù)mapred.job.tracker.handler.count JobTracker處理TaskTracker的心跳所使用的線程數(shù),默認(rèn)是10,推薦設(shè)置為TaskTracker節(jié)點(diǎn) 數(shù)目的4%,下限為10.mapred.reduce.parallel.copies Reduce拷貝數(shù)據(jù)的線程數(shù)量,默認(rèn)為5,推薦配置為節(jié)點(diǎn)數(shù)的平方根,下限為10pleted.maps Map任務(wù)完成百分比到多少時,啟動reduce,默
17、認(rèn)值為0.05f,當(dāng)map比reduce的執(zhí)行時間遠(yuǎn) 大于reduce執(zhí)行時間時,可調(diào)大該值press.map.output 是否對Map輸出壓縮,默認(rèn)為false,推薦為true,用CPU換IO,減少磁盤和網(wǎng)絡(luò)I/Opression.codec Map輸出壓縮算法,默認(rèn)為DefaultCodec,推薦使用Snappy壓縮20TRANSWARP 2013hadoop-env.sh參數(shù)設(shè)置hadoop相關(guān)進(jìn)程環(huán)境變量的配置文件比較常用環(huán)境變量有: HADOOP_NAMENODE_OPTS,可設(shè)置NameNode最大內(nèi)存大小,如: export HADOOP_NAMENODE_OPTS=“-Xmx
18、16g” HADOOP_SECONDARYNAMENODE_OPTS: Secondary NameNode的JVM參數(shù) HADOOP_DATANODE_OPTS:DataNode的JVM參數(shù) HADOOP_JOBTRACKER_OPTS:JobTracker的JVM參數(shù) HADOOP_TASKTRACKER_OPTS:TaskTracker的JVM參數(shù) HADOOP_LOG_DIR:Hadoop的日志目錄 HADOOP_CONF_DIR:Hadoop配置文件目錄21TRANSWARP 2013使用管理界面修改配置參數(shù)22TRANSWARP 2013可以對配置進(jìn)行編輯,添加,刪除,重置,然后按
19、存儲保存可以通過關(guān)鍵字過濾找到你想要的關(guān)鍵信息Hadoop集群管理和監(jiān)控23TRANSWARP 2013如何管理Hadoop日志文件使用Ganglia對集群進(jìn)行監(jiān)控Hadoop集群問題定位最佳實(shí)踐Hadoop集群基準(zhǔn)測試Hadoop日志基本知識Hadoop日志目錄可以在hadoop-env.sh中配置HADOOP_LOG_DIR環(huán)境變量進(jìn)行修改 TDH通常設(shè)置為/var/log/service_name,如hdfs1服務(wù)的日志位于目錄/var/log/hdfs1每個Hadoop進(jìn)程寫入兩個日志文件 *.log文件是使用log4j寫入的 標(biāo)準(zhǔn)log4j每天輪轉(zhuǎn)日志文件 舊的日志文件默認(rèn)不會被刪除
20、 *.out文件 進(jìn)程啟動時的標(biāo)準(zhǔn)輸出和錯誤輸出 日志內(nèi)容通常較少 進(jìn)程啟動的時候輪轉(zhuǎn)日志文件,保留五個日志文件24TRANSWARP 2013Hadoop日志基本知識日志文件名: hadoop-.log|out 例如:hadoop-hdfs-datanode-transwarp-node1.loglog4j的配置文件為perties 參數(shù)hadoop.root.logger可配置日志級別 日志級別包括FATAL,ERROR,WARN,INFO,DEBUG,TRACE日志文件增長: 集群空閑是增長速度慢 有作業(yè)在執(zhí)行時增長速度很快 需要定期監(jiān)控日志目錄大小,防止日志太大,占用太多磁盤空間25T
21、RANSWARP 2013任務(wù)日志:由Hadoop創(chuàng)建當(dāng)作業(yè)運(yùn)行時,以下日志文件被創(chuàng)建: XML格式的任務(wù)配置文件:包括提交者對作業(yè)的參數(shù)配置 位于/var/log/mapreduce1/history下 例如job_201310201346_0001_conf.xml 作業(yè)運(yùn)行狀態(tài)文件 任務(wù)在運(yùn)行時不斷被更新 包括計(jì)數(shù)器,任務(wù)狀態(tài)信息等 位于/var/log/mapreduce1/history下 例如job_201310201346_0001_1382971163474_root_PiEstimator26TRANSWARP 2013使用界面管理Hadoop日志節(jié)點(diǎn)日志界面包含7個檢索條件
22、:節(jié)點(diǎn) 從節(jié)點(diǎn)下拉菜單中選擇一個節(jié)點(diǎn)。角色 從角色下拉菜單中選擇一個角色。日志級別 從日志級別下拉菜單中選擇一個級別上限。搜索范圍 從搜索范圍下拉菜單中選擇一個范圍大小。起始時間 在展開的日歷中選擇一個日期或者直接鍵入一個日期。結(jié)束日期 在展開的日歷中選擇一個日期或者直接鍵入一個日期。關(guān)鍵字過濾 在關(guān)鍵字輸入框內(nèi)輸入日志所包含的關(guān)鍵字。27TRANSWARP 2013Hadoop集群管理和監(jiān)控28TRANSWARP 2013如何管理Hadoop日志文件使用Ganglia對集群進(jìn)行監(jiān)控Hadoop集群問題定位最佳實(shí)踐Hadoop集群基準(zhǔn)測試Hadoop Metrics定義了多種hadoop運(yùn)行時
23、指標(biāo),定期收集和發(fā)送這些指標(biāo) 通過對指標(biāo)數(shù)據(jù)的分析,可監(jiān)控hadoop集群運(yùn)行狀況和性能狀況,比如通過JVM數(shù)據(jù)我們 可以優(yōu)化系統(tǒng)GC策略這些指標(biāo)數(shù)據(jù)有兩種處理方式 存儲為本地文件 將數(shù)據(jù)發(fā)送到Ganglia,Ganglia收集匯總數(shù)據(jù),并繪制圖表在網(wǎng)頁上呈現(xiàn)出來Hadoop Metrics根據(jù)上下文可分為以下幾組: jvm: JVM統(tǒng)計(jì)數(shù)據(jù),包括內(nèi)存使用、線程數(shù)、垃圾收集信息 dfs: NameNode容量,文件數(shù)目,正在被復(fù)制的數(shù)據(jù)塊 mapred:JobTracker信息,與JobTracker的Web狀態(tài)頁面類似 rpc: 遠(yuǎn)程過程調(diào)用信息29TRANSWARP 2013Hadoop
24、Metrics (contd) 配置文件為perties配置文件示例:30TRANSWARP 2013# Below are for sending metrics to Ganglia# for Ganglia 3.1 support*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31*.sink.ganglia.period=10*.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both,_complet
25、ed=positive,_failed=positive,_killed=positive,_submitted=positive,mapred.jobtracker.maps_completed=positive,mapred.jobtracker.maps_failed=positive,mapred.jobtracker.maps_killed=positive,mapred.jobtracker.maps_launched=positive,mapred.jobtracker.reduces_completed=positive,mapred.jobtracker.reduces_fa
26、iled=positive,mapred.jobtracker.reduces_killed=positive,mapred.jobtracker.reduces_launched=positive,mapred.Q_completed=positive,dfs.datanode.replaceBlockOp_num_ops=positive,dfs.datanode.writeBlockOp_num_ops=positive,node.blockReport_num_ops=positive,node.Syncs_num_ops=positive,node.Transactions_num_
27、ops=positive,rpcdetailed.rpcdetailed.addBlock_num_ops=positive,rpcdetailed.rpcdetailed.blockReceived_num_ops=positive,rpcdetailed.rpcdetailed.blockReport_num_ops=positiveHadoop指標(biāo) (contd) 31TRANSWARP 2013*.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40namenode.sink.gangli
28、a.servers=6:8649datanode.sink.ganglia.servers=6:8649jobtracker.sink.ganglia.servers=6:8649tasktracker.sink.ganglia.servers=6:8649maptask.sink.ganglia.servers=6:8649reducetask.sink.ganglia.servers=6:8649Ganglia架構(gòu)圖Ganglia是一個為高性能計(jì)算系統(tǒng)而設(shè)計(jì)的開源、可擴(kuò)展的分布式監(jiān)控系統(tǒng)Ganglia收集、聚合并提供指標(biāo)的時序圖能夠與Hadoop指標(biāo)收集系統(tǒng)相整合由gmetad,gmond
29、,webserver組成32TRANSWARP 2013使用Ganglia監(jiān)控集群指標(biāo)ClientgmondClientgmondClientgmondgmetadrrdtoolwebserver33TRANSWARP 2013Ganglia Web頁面示例Hadoop集群管理和監(jiān)控34TRANSWARP 2013如何管理Hadoop日志文件使用Ganglia對集群進(jìn)行監(jiān)控Hadoop集群問題定位最佳實(shí)踐Hadoop集群基準(zhǔn)測試hadoop集群問題定位最佳實(shí)踐主要問題定位手段: 命令執(zhí)行錯誤:根據(jù)執(zhí)行命令的錯誤輸出定位問題 進(jìn)程狀態(tài)錯誤:查看日志,分析異常和錯誤 性能問題: 通過Ganglia
30、頁面,監(jiān)控集群運(yùn)行狀況 查看GC日志,分析java垃圾回收狀態(tài) 網(wǎng)絡(luò)問題:ethtool, ifconfig, ping35TRANSWARP 2013hadoop集群問題定位示例通過錯誤輸出發(fā)現(xiàn)Hive連接不上MetaStore檢查MetaStore進(jìn)程狀態(tài)查看metastore日志:/var/log/hive1/hive-metastore.log,發(fā)現(xiàn)異常查看hive元數(shù)據(jù)信息存儲的mysqld進(jìn)程狀態(tài)36TRANSWARP 2013hive show tables;FAILED: Error in metadata: MetaException(message:Could not co
31、nnect to meta store using any of the URIs provided)FAILED: Execution Error, return code 1hive quit;roottranswarp03 # service hive-metastore-hive1 statusChecking for service : metastore is dead and pid file existFAILEDjavax.jdo.JDOFatalDataStoreException: Communications link failureroottranswarp03 #
32、service mysqld statusmysqld is stoppedhadoop集群問題定位示例5. 啟動mysqld和hive metastore服務(wù)6. 執(zhí)行hive命令,成功查看所有表37TRANSWARP 2013roottranswarp03 # service mysqld startStarting mysqld: OK roottranswarp03 # service hive-metastore-hive1 startStarting (hive-metastore): OK roottranswarp03 # hiveLogging initialized usi
33、ng configuration in file:/etc/hive1/conf/pertiesHive history file=/tmp/root/hive_job_log_root_201310290752_930896530.txthive show tables;OKfruittestTime taken: 1.322 secondsHadoop集群管理和監(jiān)控38TRANSWARP 2013如何管理Hadoop日志文件使用Ganglia對集群進(jìn)行監(jiān)控Hadoop集群問題定位最佳實(shí)踐Hadoop集群基準(zhǔn)測試Hadoop基準(zhǔn)測試搭建完Hadoop集群后或者向集群中添加節(jié)點(diǎn)后,一個常見的問
34、題是 這個Hadoop集群現(xiàn)在跑的有多快對集群進(jìn)行基準(zhǔn)測試的結(jié)果不具有普遍性 性能與所運(yùn)行作業(yè)的類型有很大關(guān)系標(biāo)準(zhǔn)的基準(zhǔn)測試Terasort 例如:生成10,000,000行數(shù)據(jù),每一行包含100個字節(jié),并對這個文件排序這個基準(zhǔn)測試主要測試網(wǎng)絡(luò)和磁盤I/O性能39TRANSWARP 2013hadoop jar /usr/lib/mr1/mr1-examples-*.jar teragen 10000000 input_dirhadoop jar /usr/lib/mr1/mr1-examples-*.jar terasort input_dir output_dir常用的基準(zhǔn)測試TPC-H
35、模擬真實(shí)商業(yè)的應(yīng)用環(huán)境,評價(jià)特定查詢的決策支持能力,包括8張表和22個SQL查詢語句,度量 指標(biāo)包括裝載數(shù)據(jù)時間和每個查詢執(zhí)行時間,可通過Hive運(yùn)行TPC-H查詢語句來對整個Hadoop集 群進(jìn)行基準(zhǔn)測試HiBench 包括:WordCount、TeraSort,HDFS文件系統(tǒng)I/O吞吐性能基準(zhǔn)測試, Nutch索引建立,PageRank、貝葉斯分類、K-means聚類和Hive查詢基準(zhǔn)測試40TRANSWARP 2013Hadoop集群數(shù)據(jù)導(dǎo)入41TRANSWARP 2013Flume概述Sqoop概述導(dǎo)入數(shù)據(jù)最佳實(shí)踐Flume概述什么是Flume Flume是一個分布式、可靠、和高可用
36、的海量日志聚合的系統(tǒng),支持在系統(tǒng)中定制各類數(shù)據(jù)發(fā) 送方,用于收集數(shù)據(jù);同時,F(xiàn)lume提供對數(shù)據(jù)進(jìn)行簡單處理,并寫到各種數(shù)據(jù)接受方(可定 制)的能力。Flume基本特點(diǎn) 高可靠性和容錯性:提供容錯手段保證數(shù)據(jù)的收集和發(fā)送 可伸縮性:主要組件均可以水平擴(kuò)充,可動態(tài)提高容量 易用性:缺省豐富的Source和Sink組件實(shí)現(xiàn) 可擴(kuò)展性:插件框架通過API接口可以擴(kuò)展新的數(shù)據(jù)來源以及數(shù)據(jù)處理邏輯 42TRANSWARP 2013Flume系統(tǒng)結(jié)構(gòu)圖43TRANSWARP 2013Flume組件44TRANSWARP 2013組件功能介紹EventFlume處理數(shù)據(jù)元,可能是一條日志、一個Avro對象等
37、,通常約4KB大小AgentFlume運(yùn)行實(shí)體,每臺機(jī)器一份,可能包括多個Source或者SinkClient產(chǎn)生Event,在單獨(dú)線程中運(yùn)行Source接收Event,并送入Channel,在單獨(dú)線程中運(yùn)行并監(jiān)控Channel連接Source與Sink,功能類似隊(duì)列,有可靠性實(shí)現(xiàn)Sink從Channel接收Event,可能進(jìn)行下一步轉(zhuǎn)發(fā)(如連與另外某Source通訊),在單獨(dú)線程中運(yùn)行并監(jiān)控Flume安裝和配置Flume安裝 yum install flume-node單配置文件(Java property文檔格式) 位于/etc/flume/conf/perties每行對應(yīng)一個屬性/值隊(duì):
38、.type.subtype.parameter.config=value identifier是Flume agent的標(biāo)識名,以下面為例: 值為 syslog-agent type 值為 sources, sinks, channels subtype 值為 Syslog, HDFS-LAB,MemoryChannel-1 parameter 值為 type, port, channels, channel, hdfs config 值為 path, file.Prefix,file.Type45TRANSWARP 2013配置文件示例syslog-agent.sources=Syslogs
39、yslog-agent.channels=MemoryChannel-1syslog-agent.sinks=HDFS-LABsyslog-agent.sources.Syslog.type=syslogTcpsyslog-agent.sources.Syslog.port=5140syslog-agent.sources.Syslog.channels=MemoryChannel-1syslog-agent.sinks.HDFS-LAB.channel=MemoryChannel-1syslog-agent.sinks.HDFS-LAB.type=hdfssyslog-agent.sinks
40、.HDFS-LAB.hdfs.path=hdfs:/NN.URI:PORT/flumetest/%hostsyslog-agent.sinks.HDFS-LAB.hdfs.file.Prefix=syslogfilessyslog-agent.sinks.HDFS-LAB.hdfs.file.Type=SequenceFile46TRANSWARP 2013配置文件示例syslog-agent.sources=Syslogsyslog-agent.channels=MemoryChannel-1syslog-agent.sinks=HDFS-LABsyslog-agent.sources.Sy
41、slog.type=syslogTcpsyslog-agent.sources.Syslog.port=5140syslog-agent.sources.Syslog.channels=MemoryChannel-1syslog-agent.sinks.HDFS-LAB.channel=MemoryChannel-1syslog-agent.sinks.HDFS-LAB.type=hdfssyslog-agent.sinks.HDFS-LAB.hdfs.path=hdfs:/NN.URI:PORT/flumetest/%hostsyslog-agent.sinks.HDFS-LAB.hdfs.
42、file.Prefix=syslogfilessyslog-agent.sinks.HDFS-LAB.hdfs.file.Type=SequenceFile47TRANSWARP 2013Hadoop集群數(shù)據(jù)導(dǎo)入48TRANSWARP 2013Flume概述Sqoop概述導(dǎo)入數(shù)據(jù)最佳實(shí)踐Sqoop概述Sqoop是關(guān)系型數(shù)據(jù)庫和hadoop之間的導(dǎo)入導(dǎo)出工具 支持從關(guān)系型數(shù)據(jù)庫直接導(dǎo)入到HDFS、HBase以及Hive 支持Hadoop、Hive中的數(shù)據(jù)直接導(dǎo)入到關(guān)系型數(shù)據(jù)庫 使用JDBC連接關(guān)系型數(shù)據(jù)庫49TRANSWARP 2013Sqoop概述Sqoop特性 導(dǎo)入數(shù)據(jù)庫中的單個表或所有表
43、可以選擇要導(dǎo)入的行,使用WHERE子句 可以提供任意的SELECT語句 導(dǎo)入Hive是能夠自動建表 支持?jǐn)?shù)據(jù)增量導(dǎo)入 能夠?qū)際DFS上的數(shù)據(jù)到關(guān)系型數(shù)據(jù)庫的表中50TRANSWARP 2013Sqoop導(dǎo)入示例顯示數(shù)據(jù)庫testdb中的所有表 sqoop list-tables username transwarp password datahub -connect jdbc:mysql:/testdb將testdb中的所有表導(dǎo)入到HDFS中 sqoop import-all-tables username transwarp password datahub -connect jdbc:m
44、ysql:/testdb -target-dir hdfs:/6:8020使用SELECT和WHERE語句 sqoop import -query SELECT a.*, b.* FROM a JOIN b on (a.id = b.id) WHERE $CONDITIONS -connect jdbc:mysql:/testdb -target-dir /user/foo/joinresults m 151TRANSWARP 2013Hadoop集群數(shù)據(jù)導(dǎo)入52TRANSWARP 2013Flume概述Sqoop概述導(dǎo)入數(shù)據(jù)最佳實(shí)踐數(shù)據(jù)導(dǎo)入最佳實(shí)踐最佳實(shí)踐是導(dǎo)入數(shù)據(jù)到一個臨時目錄當(dāng)數(shù)據(jù)完全導(dǎo)
45、入,把數(shù)據(jù)移動到目標(biāo)文件夾 這是一個原子操作 這步操作執(zhí)行很快,因?yàn)樗恍枰薷腘ameNode的元數(shù)據(jù)信息從生產(chǎn)庫導(dǎo)入到Hadoop中時,需要控制好導(dǎo)入的并發(fā)數(shù) 防止對生產(chǎn)庫造成壓力過大 可先用較小的并發(fā)數(shù)試驗(yàn),逐漸增大并發(fā)數(shù),并觀察生產(chǎn)庫壓力情況使用關(guān)系型數(shù)據(jù)庫的hint加速導(dǎo)入速度 當(dāng)使用SELECT語句從關(guān)系型數(shù)據(jù)庫(如Oracle)向Hadoop中導(dǎo)入數(shù)據(jù)時,使用Oracle上 的相關(guān)hint(例如parallel)能夠加速導(dǎo)入速度 53TRANSWARP 2013Hadoop集群安全保障54TRANSWARP 2013Hadoop集群安全體系的基本構(gòu)成Kerberos的介紹Kerb
46、eros的配置Kerberos與Hadoop集群集合實(shí)踐Hadoop集群安全體系的基本構(gòu)成認(rèn)證 (Authentication) 判斷用戶的身份 Hadoop從0.20集成了基于Kerberos的身份認(rèn)證機(jī)制 需要先向Kerberos服務(wù)器進(jìn)行身份認(rèn)證,然后使用Token進(jìn)行通信 不具有合法Token的身份不能夠進(jìn)行HDFS讀寫、提交MapReduce任務(wù),查詢HBase等操作 Hadoop進(jìn)程直接相互通信時需要進(jìn)行身份認(rèn)證,否則通信失敗,如沒有經(jīng)過Kerberos認(rèn)證的 DataNode無法與NameNode進(jìn)行通信授權(quán) (Authorization) 決定用戶的權(quán)限 HDFS從0.16版本
47、開始有用戶、組和權(quán)限,與Linux系統(tǒng)類似 可設(shè)置禁止提交任務(wù)到MapReduce的用戶 可對HBase的表、列簇、列進(jìn)行權(quán)限設(shè)置55TRANSWARP 2013Kerberos的介紹什么是Kerberos Kerberos 是一種網(wǎng)絡(luò)認(rèn)證協(xié)議,其設(shè)計(jì)目標(biāo)是通過密鑰系統(tǒng)為客戶端/服務(wù)器的應(yīng)用程序提供 強(qiáng)大的認(rèn)證服務(wù)。 由三個部分組成: KDC(Kerberos密鑰分發(fā)中心) 客戶端(用戶/主機(jī)) 服務(wù)器(提供客戶端請求的服務(wù),與客戶端建立會話) 部署的范圍:Kerberos領(lǐng)域(Realm) KDC提供: AS(身份認(rèn)證服務(wù)器) TGS(票證生成服務(wù))56TRANSWARP 2013Kerbe
48、ros基本概念KDC(密鑰分發(fā)中心)TGT(票證授予票證) 要獲取特定服務(wù)的票證,需要TGT,TGT類似于護(hù)照,可標(biāo)識用戶身份并允許用戶獲取多個 “簽證”,此處的“簽證”喻指特定服務(wù)的票證Keytab 密鑰表文件,包含一個或多個“用戶/主機(jī)”格式的Kerberos主體和對應(yīng)的密鑰Principal(Kerberos主體) 由三部分組成:主名稱/實(shí)例領(lǐng)域 主名稱: 可以是用戶名或服務(wù),表示用于提供各種網(wǎng)絡(luò)服務(wù)的服務(wù)主體或者用戶主體 實(shí)例: 對于用戶主體,實(shí)例是可選的;但是對于服務(wù)主體,實(shí)例則是必須的。如joe和 joe/admin是兩個完全不同的主體 領(lǐng)域:屬于同一主KDC的一組系統(tǒng)的邏輯網(wǎng)絡(luò)
49、57TRANSWARP 2013Kerberos認(rèn)證流程58TRANSWARP 2013Client向KDC請求TGT,開始會話KDC創(chuàng)建TGT,并對其加密返回Client使用密鑰對其解密獲取TGTClient使用TGT向KDC請求特定服務(wù)KDC驗(yàn)證TGT,將該特定服務(wù)的票證發(fā)送到ClientClient將票據(jù)發(fā)送到應(yīng)用服務(wù)器服務(wù)器允許客戶機(jī)進(jìn)行訪問Kerberos服務(wù)器配置59TRANSWARP 2013配置文件:/var/kerberos/krb5kdc/kdc.confdefault_realm = TDHkdcdefaults v4_mode = nopreauth kdc_ports
50、 = 0realms TDH = kdc_ports = 88 admin_keytab = /etc/kadm5.keytab database_name = /var/kerberos/krb5kdc/principal acl_file = /var/kerberos/krb5kdc/kadm5.acl key_stash_file = /var/kerberos/krb5kdc/stash max_life = 10h 0m 0s max_renewable_life = 7d 0h 0m 0s master_key_type = des3-hmac-sha1 supported_en
51、ctypes = arcfour-hmac:normal des3-hmac-sha1:normal descbc-crc:normal des:normal default_principal_flags = +preauth Kerberos客戶端配置配置文件:/etc/krb5.conflibdefaults default_realm = TDH dns_lookup_realm = false dns_lookup_kdc = false forwardable = true default_tkt_enctypes = des-cbc-md5 des-cbc-crc des3-cb
52、c-sha1 default_tgs_enctypes = des-cbc-md5 des-cbc-crc des3-cbc-sha1 permitted_enctypes = des-cbc-md5 des-cbc-crc des3-cbc-sha1 allow_weak_crypto = truerealms TDH = kdc = transwarp03:88 admin_server = transwarp05:749 logging kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmin.log default = FILE:/var/log/krb5lib.lo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年超市吊燈項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年收音機(jī)套件項(xiàng)目投資價(jià)值分析報(bào)告
- 別墅租賃合同
- 產(chǎn)品銷售代理合同范本簡單版3
- 二零二五年度私人租地養(yǎng)殖項(xiàng)目知識產(chǎn)權(quán)保護(hù)合同
- 2025年度智慧城市建設(shè)農(nóng)民工雇傭管理合同
- 2025年度城市綜合體車位租賃與增值服務(wù)合同
- 二零二五年度版權(quán)侵權(quán)賠償與和解合同
- 二零二五年度定制門窗品牌授權(quán)與推廣合同4篇
- 2025年度環(huán)境保護(hù)法律風(fēng)險(xiǎn)評估顧問合同
- 寒潮雨雪應(yīng)急預(yù)案范文(2篇)
- 垃圾車駕駛員聘用合同
- 變壓器搬遷施工方案
- 單位轉(zhuǎn)賬個人合同模板
- 八年級語文下冊 成語故事 第十五課 諱疾忌醫(yī) 第六課時 口語交際教案 新教版(漢語)
- 2024年1月高考適應(yīng)性測試“九省聯(lián)考”數(shù)學(xué) 試題(學(xué)生版+解析版)
- EPC項(xiàng)目采購階段質(zhì)量保證措施
- T-NAHIEM 101-2023 急診科建設(shè)與設(shè)備配置標(biāo)準(zhǔn)
- 四川2024年專業(yè)技術(shù)人員公需科目“數(shù)字經(jīng)濟(jì)與驅(qū)動發(fā)展”參考答案(通用版)
- 煤炭裝卸服務(wù)合同
- 廣東省佛山市順德區(qū)2023學(xué)年中考一模物理試題(含答案解析)
評論
0/150
提交評論