1、优化文件系统,修改/etc/fstab 在defaults后面添加noatime,表示不记录文件的访问时间。

修改为:

如果不想重新启动操作系统使配置生效,那么应该执行:

# mount -o remount /dev/mapper/centos-root
# mount -o remount /dev/mapper/centos-home  

当然,如果有其他的磁盘,同样可以这样操作,我这里测试就两个逻辑卷

2、预读缓冲

预读技术可以有效的减少磁盘寻道次数和应用的I/O等待时间,增加Linux文件系统预读缓冲区的大小(默认为256 sectors,128KB),可以明显提高顺序文件的读性能,建议调整到1024或2048 sectors。预读缓冲区的设置可以通过blockdev命令来完成。

blockdev 工具允许从命令行调用区块设备控制程序,常用参数如下:

  --getra 读取预读值
  --getfra 读取文件系统预读
  --setfra FSREADAHEAD 设置文件系统预读
  --setra READAHEAD 设置设备预读
  --getra 读取设备的预读值
  --setbsz BLOCKSIZE 在文件描述符打开块设备的时候设置块大小
  --getioopt 读取设备优化IO大小
  --getiomin 读取设备最小IO大小
  -–setro 设置设备为只读
  -–getro 读取设备是否为只读(成功为1,0则为可读写)
  -–setrw 设置设别为可读写
  -–getss 打印设备的扇区大小也叫逻辑块大小,通常是512
  --getpbsz 读取设备物理块大小,通常是4096
  --getbsz 读取设备块大小,通常是4096
  -–getsize(-getsz) 打印设备的容量,按照一个扇区512个字节计算
  --getsize64 打印设备的容量,以字节为单位显示
  -–setra N 设置预读扇区(512字节)为N个.Set readahead to N -byte sectors.
  -–getra 打印readahead(预读扇区)
  -–flushbufs 刷新缓冲
  -–rereadpt 重读分区表。

我们可以将默认的预读值(256 sectors,128k)调大,具体的操作如下:

[root@test pam.d]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 60G 14G 47G % /
devtmpfs 474M 474M % /dev
tmpfs 489M 489M % /dev/shm
tmpfs 489M 14M 476M % /run
tmpfs 489M 489M % /sys/fs/cgroup
/dev/sda1 197M 143M 55M % /boot
/dev/mapper/centos-home 16G 37M 16G % /home
tmpfs 98M 98M % /run/user/
[root@test pam.d]# blockdev --getra /dev/sda1 [root@test pam.d]# blockdev --setra /dev/sda1
[root@test pam.d]# blockdev --getra /dev/sda1

3、虚拟内存调优:

https://www.cnblogs.com/yinzhengjie/p/9994207.html

4、网卡调优:

https://www.cnblogs.com/yinzhengjie/p/9995756.html

Hadoop优化 操作系统优化的更多相关文章

  1. Linux操作系统优化

    figure:first-child { margin-top: -20px; } #write ol, #write ul { position: relative; } img { max-wid ...

  2. 实训任务02:Hadoop基础操作

    实训任务02:Hadoop基础操作 班级            学号               姓名 实训1:创建测试文件上传HDFS,并显示内容 需求说明: 在本地计算机上创建测试文件helloH ...

  3. 指导手册03:Hadoop基础操作

    指导手册03:Hadoop基础操作 Part 1:查看Hadoop集群的基本信息1.查询存储系统信息(1)在WEB浏览器的地址栏输入http://master:50070/ 请查看自己的Hadoop集 ...

  4. 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作

    马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作 马士兵hadoop第三课:java开发hdfs 马士兵hadoop第 ...

  5. Hadoop+Hive 操作mongodb数据

    Hadoop+Hive 操作mongodb数据 1.版本概述 hadoop-2.7.3.hive-2.2 下载响应的jar包:http://mvnrepository.com/,直接搜索想要的jar包 ...

  6. Hadoop常用操作

    Hadoop常用操作 1.Hadoop安装 略 2.Hadoop配置 略 3.Hadoop多目录配置 namenode和datanode节点下都可以进行多个目录的配置,但是意义不同.namenode的 ...

  7. 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作(转)

    马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作 马士兵hadoop第三课:java开发hdfs 马士兵hadoop第 ...

  8. Hadoop Shell 操作

    此随笔仅记录一下常用的Hadoop shell 操作的命令 参考官方文档    http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html FS S ...

  9. 学习笔记:Twitter核心数据类库团队的Hadoop优化经验

    一.来源 Streaming Hadoop Performance Optimization at Scale, Lessons Learned at Twitter (Data platform @ ...

随机推荐

  1. pinfinder

    pinfinder https://pinfinder.net https://github.com/gwatts/pinfinder 关于 Pinfinder是一个小型免费程序,可以使用iPhone ...

  2. 基于re模块的计算器

    最终计算器需求: 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - ...

  3. 时间都去哪儿了?开源一个统计iPhone上App运行时间和打开次数的小工具【iOS8已失效】

    如今,大家每天都有大量时间花在手机上,但是,大家有没有想过自己的时间都花在哪些App上了呢?相信很多人都有这样的需求,不过iOS系统本身并不能显示每个App的运行时间和次数,因此,本人写了这样一个小工 ...

  4. [LeetCode] 1029. 两地调度 ☆(贪心)

    官方题解 作差排序 描述 公司计划面试 2N 人.第 i 人飞往 A 市的费用为 costs[i][0],飞往 B 市的费用为 costs[i][1]. 返回将每个人都飞到某座城市的最低费用,要求每个 ...

  5. 第三篇:Python基本数据类型

    在了解基本数据类型的时候,我们需要了解基本数据类型有哪些?数字int.布尔值bool.字符串str.列表list.元组tuple.字典dict等,其中包括他们的基本用法和其常用的方法,这里会一一列举出 ...

  6. CentOS7.x安装nginx

    1.安装先决条件 yum install yum-utils 2.设置yum存储库和创建/etc/yum.repos.d/nginx.repo 使用以下内容命名的文件 :稳定版 [nginx-stab ...

  7. vsftpd设置虚拟用户

    centos6.5环境 软件安装: yum install vsftpd db4-utils 1. 添加虚拟用户口令文件 #添加一个虚拟用户testvim /etc/vsftpd/vftp_vuser ...

  8. Nginx.conf配置文件默认配置块略解

    #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #erro ...

  9. Windows 10安装

    使用U盘安装操作系统教程 本教程介绍如何使用U盘安装操作系统,以安装Windows 10过程作为举例. 1 获取操作系统iso镜像文件 获取操作系统ISO镜像文件有很多途径,此处介绍从微软官网下载wi ...

  10. 永远不会执行的cron表达式

    场景是这样的,在服务里利用sprint boot的@Scheduled(cron = "${xx.run.schedule}")定义了一个定时服务,xx.run.schedule变 ...