没有合适的资源?快使用搜索试试~ 我知道了~
首页Hadoop集群优化手册
Hadoop集群优化手册
需积分: 10 118 浏览量
更新于2023-05-27
评论 1
收藏 38KB DOCX 举报
请在测试环境使用本文档对集群参数调优,测试环境无不良情况可根据具体生产情况调整。
资源详情
资源评论
资源推荐

1.系统参数调整
中文名称 英文
名称
默
认
值
推荐
值或
推荐
策略
修改命令 作用
socket 的监听队列最大值
net.co
re.so
maxc
onn
12
8
102
4 或
更大
echo 1024
>/proc/sys/
net/core/so
maxconn
增大打开文件数据和网络连接上限,调整内核参数
net.core.somaxconn,提高读写速度和网络带宽使用率
读取不更新文件 atime 属
性
noati
me
noati
me
vi /etc/fstab
#/dev/data1
/ ext4
defaults,no
atime 0 0
mount -o
remount
/dev/data1
当以 noatime 选项加载(mount)文件系统时,对文件的读取
不会更新文件属性中的 atime 信息。设置 noatime 的重要性是
消除了文件系统对文件的写操作,文件只是简单地被系统读
取。
磁盘预读缓存区大小
block
dev --
getra /
dev/s
da
25
6
204
8 或
更大
blockdev --
setra
2048
/dev/sda
预读可以减少磁盘寻道次数和 I/O 等待时间
系统 IO 调度器
IO
Sched
uler
cfq dea
dline
echo
deadline
>
/sys/block/s
da/queue/s
cheduler
DEADLINE 在 CFQ 的基础上,解决了 IO 请求饿死的极端情
况。除了 CFQ 本身具有的 IO 排序队列之外,DEADLINE 额外
分别为读 IO 和写 IO 提供了 FIFO 队列。读 FIFO 队列的最大等
待时间为 500ms,写 FIFO 队列的最大等待时间为 5s。FIFO 队
列内的 IO 请求优先级要比 CFQ 队列中的高,,而读 FIFO 队
列的优先级又比写 FIFO 队列的优先级高。优先级可以表示如
下:
FIFO(Read) > FIFO(Write) > CFQ
epoll 文件描述符上限
fs.epo
ll.max
_user
_watc
hes
27
05
47
14
270
547
140
echo
/proc/sys/fs/
epoll/max_
user_watch
es
单个用户使用 epoll 进行 watch 的文件描述符上限。
note(dirlt):对于服务器应该特别有用,可以限制内存使用量

设置 openfile
ulimit
-a |
grep
'open
files'
10
24
655
35
或更
大
即时生效:
ulimit -n
65535
永久生效:
在/etc/secur
ity/limits.co
nf 中添加
* - nofile
65535
* - nproc
65535
打开文件描述上限太小,会出现打不开文件的问题
系统交换分区
swap
开
启
关闭
swapoff -a
如果进程内存不足,系统会将内存中的部分数据暂时写入磁
盘,当需要时再将磁盘上的数据动态换置到内存中,这样会降
低进程执行效率
2.hdfs 的参数
数据块的副本数
dfs.replic
ation
3 2
页面修改 减少副本块可以节约存储空间
SequenceFile I/O 缓存区大
小
io.file.buf
fer.size
131072(可
以更大)
core-site.xml
的群集范围高
级配置代码段
(安全阀)
hadoop 访问文件的 IO 操作都需要通过代码库,在很多情况下
io.file.buffer.size 都被用来设置缓存的大小。不论是对硬盘或者
是网络操作来讲,较大的缓存都可以提供更高的数据传输,但这
也就意味着更大的内存消耗和延迟。这个参数要设置为系统页面
大小的倍数,以 byte 为单位。
.Trash 目录下文件被永久删除
前保留的时间
fs.trash.i
nterval
1440(24
小时)
core-site.xml
的群集范围高
级配置代码段
(安全阀)
垃圾回收的检查间隔
fs.trash.c
heckpoin
t.interval
1440 core-site.xml
的群集范围高
级配置代码段
(安全阀)
是否启动 Hadoop 的本地库
io.native.l
ib.availab
le
true core-site.xml
的群集范围高
级配置代码段
(安全阀)
本地库可以加快基本操作,例如 IO,压缩等。
NameNode 处理程序计数
dfs.name
node.han
40 60
页面修改 设定 namenode server threads 的数量,这些
RPC 跟其他的 datanodes 沟通。当 datanodes

dler.coun
t
現很容易出現 RPC timeout,解決方法是提升网络速度或提高这
个值,但要注意的是 thread 数量多也表示 namenode
存也随着增加。
NameNode 服务处理程序计
数
dfs.name
node.ser
vice.han
dler.coun
t
100
页面修改
NameNode 的 java 堆栈大小
NameNo
de Java
heap
size
90G
页面修改
DataNode 的 java 堆栈大小
DataNod
e
maximu
m Java
heap
size
16G
页面修改
DataNode 处理程序计数
dfs.datan
ode.hand
ler.count
3 50
提前读取的字节数
dfs.datan
ode.read
ahead.by
tes
4
M
64M
页面修改 读取块文件时,DataNode 可以使用 posix_fadvise
数据显式放入操作系统缓冲区缓存中当前读取器位置之前。这样
可以提高性能,尤其是在磁盘高度占用的情况下。该配置指定
DataNode 尝试提前读取的位置比当前读取位置提前的字节数。
ipc 服务监听队列长度
ipc.serve
r.listen.q
ueue.siz
e
10
24
与系统参数
net.core.so
maxconn 保
持一致
core-site.xml
的群集范围高
级配置代码段
(安全阀)
增大打开文件数据和网络连接上限,提高 hadoop
和网络带宽使用率
最大传输线程数
dfs.datan
ode.max.
xcievers
40
96
8192
页面修改
3.yarn 的参数
日志聚合保留期
yarn.log
-
7 2
页面修改 删除聚合日志前要保留它们多久
剩余10页未读,继续阅读


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0