溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

優(yōu)化cdh集群性能-可在安裝集群前操作(MapReduce配置的最佳實(shí)踐)002

發(fā)布時間:2020-03-31 04:25:10 來源:網(wǎng)絡(luò) 閱讀:614 作者:馬吉輝 欄目:大數(shù)據(jù)

優(yōu)化cdh集群性能-可在安裝集群前操作002
//讀完cdh官方文檔后,可知的優(yōu)化操作
可在《03搭建cdh 生產(chǎn)環(huán)境前的Linux 優(yōu)化(涉及到Linux內(nèi)存參數(shù)優(yōu)化)》
https://blog.51cto.com/12445535/2365948 這步同時操作

講解了:
提供了一些性能問題的解決方案,并介紹了配置最佳實(shí)踐。

1、禁止tuned 服務(wù) //是內(nèi)存分配管理
//關(guān)于tuned服務(wù)是什么?
RHEL/CentOS 在 6.3 版本以后引入了一套新的系統(tǒng)調(diào)優(yōu)工具 tuned/tuned-adm,其中 tuned 是服務(wù)端程序,用來監(jiān)控和收集系統(tǒng)各個組件的數(shù)據(jù),并依據(jù)數(shù)據(jù)提供的信息動態(tài)調(diào)整系統(tǒng)設(shè)置,達(dá)到動態(tài)優(yōu)化系統(tǒng)的目的;tuned-adm 是客戶端程序,用來和 tuned 打交道,用命令行的方式管理和配置 tuned,tuned-adm 提供了一些預(yù)先配置的優(yōu)化方案可供直接使用
//動態(tài)調(diào)優(yōu)方案,用戶可以在不同的時間段內(nèi)采用不同的調(diào)優(yōu)方案。由于以服務(wù)進(jìn)程形式存在,就可以很方便的和crontab結(jié)合!Tuned 是監(jiān)控并收集各個系統(tǒng)組件用量數(shù)據(jù)的守護(hù)進(jìn)程,并可使用那些信息根據(jù)需要動態(tài)調(diào)整系統(tǒng)設(shè)置。它可以對 CPU 和網(wǎng)絡(luò)使用的更改作出反應(yīng),并調(diào)整設(shè)置以提高活動設(shè)備的性能或者降低不活躍設(shè)備的電源消耗。

見圖:
優(yōu)化cdh集群性能-可在安裝集群前操作(MapReduce配置的最佳實(shí)踐)002

具體細(xì)節(jié)
[root@NewCDH-0--141 ~]# cat /etc/redhat-release 
CentOS Linux release 7.1.1503 (Core) 
[root@NewCDH-0--141 ~]# systemctl status tuned
● tuned.service - Dynamic System Tuning Daemon
   Loaded: loaded (/usr/lib/systemd/system/tuned.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-01-23 10:47:06 CST; 2 months 0 days ago
 Main PID: 897 (tuned)
   CGroup: /system.slice/tuned.service
           └─897 /usr/bin/python -Es /usr/sbin/tuned -l -P

Jan 23 10:47:02 NewCDH-0--141 systemd[1]: Starting Dynamic System Tuning Daemon...
Jan 23 10:47:06 NewCDH-0--141 systemd[1]: Started Dynamic System Tuning Daemon.

[root@NewCDH-0--141 ~]# tuned-adm list
Available profiles:
- balanced
- desktop
- latency-performance
- network-latency
- network-throughput
- powersave
- throughput-performance
- virtual-guest
- virtual-host
Current active profile: virtual-guest
[root@NewCDH-0--141 ~]# tuned-adm off  //關(guān)閉調(diào)優(yōu)服務(wù)
[root@NewCDH-0--141 ~]# tuned-adm list
Available profiles:
- balanced
- desktop
- latency-performance
- network-latency
- network-throughput
- powersave
- throughput-performance
- virtual-guest
- virtual-host
No current active profile.
[root@NewCDH-0--141 ~]# systemctl stop tuned
[root@NewCDH-0--141 ~]# systemctl disable tuned

2、關(guān)閉禁用透明重復(fù)頁面(THP) //前面博客有講到,這里就不累贅了
具體見:Linux 初始化腳本 (centos6 centos7 通用) https://blog.51cto.com/12445535/2362407 第14
3、swap分區(qū)優(yōu)化:減少使用交換分區(qū)使用百分比 同上

4、
提高隨機(jī)處理程序和IFile閱讀器的性能
MapReduce shuffle處理程序和IFile閱讀器在安裝了Hadoop本機(jī)庫的Linux系統(tǒng)上使用本機(jī)Linux調(diào)用(posix_fadvise(2)和sync_data_range)。
隨機(jī)處理程序
您可以通過啟用shuffle readahead來改善MapReduce shuffle處理程序的性能。這會導(dǎo)致TaskTracker或節(jié)點(diǎn)管理器在通過套接字將其發(fā)送到reducer之前預(yù)取地圖輸出。

要為YARN啟用此功能,請將mapreduce.shuffle.manage.os.cache設(shè)置為true(默認(rèn)值)。要進(jìn)一步調(diào)整性能,請調(diào)整mapreduce.shuffle.readahead.bytes的值。默認(rèn)值為4 MB。
要為MapReduce啟用此功能,請將mapred.tasktracker.shuffle.fadvise設(shè)置為true(默認(rèn)值)。要進(jìn)一步調(diào)整性能,請調(diào)整mapred.tasktracker.shuffle.readahead.bytes的值。默認(rèn)值為4 MB。

IFile讀者
啟用IFile預(yù)讀可提高合并操作的性能。要為MRv1或YARN啟用此功能,請將mapreduce.ifile.readahead設(shè)置為true(默認(rèn)值)。要進(jìn)一步調(diào)整性能,請調(diào)整mapreduce.ifile.readahead.bytes的值。默認(rèn)值為4MB。

5、MapReduce配置的最佳實(shí)踐
下面描述的配置設(shè)置可以減少M(fèi)apReduce執(zhí)行中的固有延遲。您可以在mapred-site.xml中設(shè)置這些值。
(1)
任務(wù)完成后立即發(fā)送心跳
將mapreduce.tasktracker.outofband.heartbeat設(shè)置為true,以便TaskTracker在任務(wù)完成時發(fā)送帶外心跳以減少延遲。默認(rèn)值為false:

<property>
<name>mapreduce.tasktracker.outofband.heartbeat</name>
<value>true</value>
</property>

(2)
減少單節(jié)點(diǎn)系統(tǒng)上JobClient狀態(tài)報告的間隔
jobclient.progress.monitor.poll.interval屬性定義JobClient向控制臺報告狀態(tài)并檢查作業(yè)完成的時間間隔(以毫秒為單位)。默認(rèn)值為1000毫秒;您可能希望將此值設(shè)置為較低的值,以使測試在單節(jié)點(diǎn)群集上運(yùn)行得更快。在大型生產(chǎn)群集上調(diào)整此值可能會導(dǎo)致不必要的客戶端 - 服務(wù)器流量。

<property>
<name>jobclient.progress.monitor.poll.interval</name>
<value>10</value>
</property>

(3)
調(diào)整JobTracker心跳間隔
將TaskTracker-to-JobTracker心跳的最小間隔調(diào)整為較小的值可以提高小群集上的MapReduce性能。

<property>
<name>mapreduce.jobtracker.heartbeat.interval.min</name>
<value>10</value>
</property>

(4)
立即啟動MapReduce JVM
mapred.reduce.slowstart.completed.maps屬性指定在安排任何Reduce任務(wù)之前必須完成的作業(yè)中Map任務(wù)的比例。對于需要快速周轉(zhuǎn)的小型作業(yè),將此值設(shè)置為0可以提高性能;較大的值(高達(dá)50%)可能適合較大的工作。

<property>
<name>mapred.reduce.slowstart.completed.maps</name>
<value>0</value>
</property>

優(yōu)化cdh集群性能-可在安裝集群前操作(MapReduce配置的最佳實(shí)踐)002

參考鏈接
Optimizing Performance in CDH https://www.cloudera.com/documentation/enterprise/5-13-x/topics/cdh_admin_performance.html
linux服務(wù)之tuned http://www.cnblogs.com/createyuan/p/5701650.html
淺談linux性能調(diào)優(yōu)之十二:紅帽優(yōu)化策略Tuned https://blog.csdn.net/u013870094/article/details/51055483

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI