CDH安装前系统优化准备
参考:
https://www.cnblogs.com/yinzhengjie/p/10367447.html
https://www.sysit.cn/blog/post/sysit/CDH6.2.0%E7%B3%BB%E7%BB%9F%E9%83%A8%E7%BD%B2%E6%89%8B%E5%86%8C
在云上centos7的基础优化如关闭防火墙等可以不做, 第8步的ipv6禁用也可以不用.
基础优化:
1/ 配置SSH:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
手动拷贝id_rsa.pub的内容到其他机器.
或者用 ssh-copy,但你得知道对方root密码
ssh-copy-id 192.189.142.83
yum install ansible -y
ln -s /usr/local/python/bin/ansible-playbook /usr/local/bin/
ln -s /usr/local/python/bin/ansible /usr/local/bin/
cd /etc/ansible
mkdir playbook
#机器多的话可用ansible, 需要手动输入密码.
cat 1_ssh-copy-id.yml
---
- hosts: all
tasks:
- name: deliver id_rsa.pub to client
authorized_key:
user: "root"
key: "{{ lookup('file', '/root/.ssh/id_rsa.pub') }}"
state: present
exclusive: no
1/ 每台的/etc/hosts
[root@fengfeng-temp-2 ~]# cat /etc/hosts
195.189.142.89 fengfeng-temp-1.novalocal
195.189.142.83 fengfeng-temp-2.novalocal
195.189.142.86 fengfeng-temp-3.novalocal
195.189.142.88 fengfeng-temp-4.novalocal
可用ansible-playbook 3_copy.yml
---
- hosts: client
tasks:
- name: copy /etc/hosts to client hosts
copy:
src: "/etc/hosts"
dest: "/etc/hosts"
force: yes
backup: yes
2/ 显示优化
编辑/etc/bashrc
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\] \[\e[31;1m\]\w\[\e[0m\]]\\$ "
3/ systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
4/关闭DNS PTR反向查询
ansible cdh -m shell -a "grep UseDNS /etc/ssh/sshd_config"
[root@node100.fengfeng.org.cn ~]# grep UseDNS /etc/ssh/sshd_config
#UseDNS yes
[root@node100.fengfeng.org.cn ~]# sed -i 's@#UseDNS yes@UseDNS no@g' /etc/ssh/sshd_config
[root@node100.fengfeng.org.cn ~]# grep UseDNS /etc/ssh/sshd_config
UseDNS no
5/关闭GSSAPI身份验证(ssh服务优化)
[root@node100.fengfeng.org.cn ~]# grep GSSAPIAuthentication /etc/ssh/sshd_config
GSSAPIAuthentication yes
[root@node100.fengfeng.org.cn ~]# sed -i 's@^GSSAPIAuthentication yes@GSSAPIAuthentication no@g' /etc/ssh/sshd_config
[root@node100.fengfeng.org.cn ~]#
[root@node100.fengfeng.org.cn ~]# grep GSSAPIAuthentication /etc/ssh/sshd_config
GSSAPIAuthentication no
6/检查DNS配置
[root@node100.fengfeng.org.cn ~]# hostname --fqdn
node100.fengfeng.org.cn
7/ 关闭透明大页
[root@node100.fengfeng.org.cn ~]# vi /etc/rc.d/rc.local
[root@node100.fengfeng.org.cn ~]# tail -8 /etc/rc.d/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
[root@node100.fengfeng.org.cn ~]# chmod +x /etc/rc.d/rc.local
ansible-playbook 3_copy.yml
---
- hosts: client
tasks:
- name: copy rc.local to client hosts
copy:
src: "/etc/rc.d/rc.local"
dest: "/etc/rc.d/rc.local"
force: yes
backup: yes
8/修改Linux内核参数,禁用ipv6
[root@node100.fengfeng.org.cn ~]# tail -8 /etc/sysctl.conf #编辑内核参数文件,对Linux内核参数的修改如下
#Add by fengfeng
fs.aio-max-nr=1048576
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.ipv4.tcp_rmem=4096 262144 16777216
net.ipv4.tcp_wmem=4096 262144 16777216
net.ipv6.conf.all.disable_ipv6 = 1
vm.swappiness = 10
swap设置解释:
只要确定不会OOM,就把swap关掉。如果datanode是32G,最好128G,可以不关
默认是30%,上面是调到10,就是系统占用90%时才使用swap
[root@fengfeng-temp-1 ~]# sysctl -q vm.swappiness
vm.swappiness = 30
#表示物理内存剩30%时,开始用swap
swapon -a是开启
swapon -s 是关闭
[root@node100.fengfeng.org.cn ~]# sysctl -p #我们使用该命令就可以让"/etc/sysctl.conf"中的配置生效
ansible-playbook 3_copy.yml
---
- hosts: client
tasks:
- name: copy /etc/hosts to client hosts
copy:
src: "/etc/sysctl.conf"
dest: "/etc/sysctl.conf"
force: yes
backup: yes
上面参数解释:
fs.aio-max-nr = 1048576 #最大并发I/O请求数
net.core.rmem_default = 262144 #操作系统接收缓冲区的默认大小
net.core.wmem_default = 262144 #操作系统发送缓冲区的默认大小
net.core.rmem_max = 16777216 #操作系统接收缓冲区最大值
net.core.wmem_max = 16777216 #操作系统发送缓冲区最大值
net.ipv4.tcp_rmem = 4096 262144 16777216 #接收窗口尺寸的最小,默认,最大值
net.ipv4.tcp_wmem = 4096 262144 16777216 #发送窗口尺寸的最小,默认,最大值
9/增加文件限制
[root@node100.fengfeng.org.cn ~]# ulimit -n #软限制
1024
[root@node100.fengfeng.org.cn ~]#
[root@node100.fengfeng.org.cn ~]# ulimit -Hn #硬限制,很显然,在大数据集群环境中,我们不应该使用默认配置,Hortonworks推荐10000或者更多。
4096
通过对limits的设置来优化系统性能
[root@node100.fengfeng.org.cn ~]# tail -7 /etc/security/limits.conf
#ADD BY fengfeng
* soft nofile 1048576
* hard nofile 1048576
* soft nproc 1048576
* hard nproc 1048576
* soft memlock unlimited
* hard memlock unlimited
[root@node100.fengfeng.org.cn ~]# tail -3 /etc/security/limits.d/20-nproc.conf
#ADD BY fengfeng
* soft nproc 1048576
root soft nproc unlimited
#(可选)临时生效
ulimit -c unlimited
ulimit -n 65535 #打开文件数
ulimit -s 64000 #stack size的大小,默认是10M
ulimit -u 10000 #不用调,用户的最大进程数,云主机上已调.
10/测试磁盘速度
yum -y install hdparm
[root@node100.fengfeng.org.cn ~]# hdparm -t /dev/sdb1
/dev/sdb1:
Timing buffered disk reads: 2502 MB in 3.01 seconds = 832.18 MB/sec #如果你没有看到70MB以上的速度
测试写速度:
dd bs=8k count=8k if=/dev/zero of=test.log conv=fdatasync #ucloud可到400MB/s
CDH安装前系统优化准备的更多相关文章
- CM+CDH安装教程(CentOS)
一.简单介绍 CM:Cloudera Manager,Cloudera公司编写的一个CDH的管理后台,类似各CMS的管理后台. CDH:Cloudera’s distribution,includin ...
- Cloudera Manager安装之Cloudera Manager安装前准备(CentOS6.5)(一)
Cloudera Manager安装前准备 (一)机器准备 192.168.80.148 clouderamanager01 (部署ClouderaManager-server和Mirror se ...
- Cloudera Manager安装之Cloudera Manager安装前准备(Ubuntu14.04)(一)
其实,基本思路跟如下差不多,我就不多详细说了,贴出主要图. 博主,我是直接借鉴下面这位博主,来进行安装的!(灰常感谢他们!) 在线和离线安装Cloudera CDH 5.6.0 Cloudera M ...
- 【Oracle 集群】11G RAC 知识图文详细教程之RAC在LINUX上使用NFS安装前准备(六)
RAC在LINUX上使用NFS安装前准备(六) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇 ...
- EBS R12.2快速安装前没有配置Global Inventory报错
EBS R12.2快速安装前没有配置Global Inventory,导致验证时"file systems"这一项没有通过,被标记了"X": (本图其它两个验证 ...
- Inno Setup 安装前卸载原程序
Inno Setup 安装前卸载原程序 分类: Install Setup 2013-02-02 15:53 2315人阅读 评论(0) 收藏 举报 很多時候我們需要在安裝文件之前卸載原有的程序而不是 ...
- cdh 安装记录
安装文件准备 CDH 下载地址:http://archive.cloudera.com/cdh5/parcels/latest/ 下载操作系统对应的版本: 1.CDH-5.3.0-1.cdh5.3.0 ...
- Ambari安装之Ambari安装前准备(CentOS6.5)(一)
优秀博客 <Ambari--大数据平台的搭建利器> Ambari安装前准备 (一)机器准备 192.168.80.144 ambari01 (部署Ambari-server和Mirro ...
- CDH 安装
CDH 安装 市场上免费大数据框架主要有三个版本,原生的 Apache 版本,Cloudera(https://www.cloudera.com/) 公司研发的(Cloudera Distributi ...
随机推荐
- js中声明函数的区别
在JS中有两种定义函数的方式, 1是var aaa=function(){...} 2是function aaa(){...} var 方式定义的函数,不能先调用函数,后声明,只能先声明函数,然后调用 ...
- 基于c++回顾
c++类 特别的构造函数 默认参数: 几乎所有函数都可以使用默认参数,但在构造函数中最为普遍 初始化列表 用来直接初始化数据成员;与列表顺序无关,与成员申明顺序有关;如果一个成员是const的,那么, ...
- Linux用户以及组的添加与删除
查看centos中的用户和用户组 1.用户列表文件:/etc/passwd/ 2.用户组列表文件:/etc/group 3.查看系统中有哪些用户: cut -d : -f 1 /etc/passwd ...
- JavaScript 高级系列之节流 [throttle] 与防抖 [debounce]
一.概念 这两个东西都是为了项目优化而出现的,官方是没有具体定义的,他们的出现主要是为了解决一些短时间内连续执行的事件带来性能上的不佳和内存的消耗巨大等问题:像这类事件一般像 scroll keyup ...
- 20191114-4 Beta发布用户使用报告
20191114-4 Beta发布用户使用报告 此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/10007 组名:胜利点 组 ...
- linux下无root源码安装软件
先进入源码文件夹下指定安装路径 ./configure --prefix=/public/home/ztu/usr/samtools 编译 make 安装 make install 写入环境变量 vi ...
- vscode如何使用命令面板
vscode如何使用命令面板 方法/步骤 首先找到vscode. 进入,打开页面. 找到查看. 打开找到命令面板. 选择打开,可以看到命令. 下拉还有多个,以及快捷键. ...
- 安装指定版本的Ionic或Cordova
安装ionic 及 cordova npm install -g cordova ionic更新命令 npm update -g cordova ionic安装特定版本 npm install -g ...
- linux 禁ping
今天用nmap扫描了局域网的主机,发现几个主机开着好多危险端口,做linux的,对这些安全知识有一点了解.遂用nmap扫描了自己的主机是否存在可利用端口.发现每次nmap都能成功的检测我的主机是ali ...
- TensorFlow 学习(3)——MNIST机器学习入门
通过对MNIST的学习,对TensorFlow和机器学习快速上手. MNIST:手写数字识别数据集 MNIST数据集 60000行的训练数据集 和 10000行测试集 每张图片是一个28*28的像素图 ...