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 ...
随机推荐
- spring-boot的三种启动方式
spring-boot的启动方式主要有三种: 1. 运行带有main方法类 2. 通过命令行 java -jar 的方式 3. 通过spring-boot-plugin的方式 一.执行带有main方法 ...
- 【原创】时隔十年,再度审视Performance Testing,性能测试,Load Runner,和企业级性能测试解决方案
软件测试入行是2006年,最先学习的测试工具囊括了QTP,Test Director,Load Runner,Rational Robot,Rational Performance: 那时的操作系统是 ...
- Android中的“再按一次返回键退出程序”代码实现
1 用户在退出应用前给出一个提示是很有必要的,因为可能是用户并不真的想退出,而只是一不小心按下了返回键,大部分应用也是这么做的,但也有些应用的做法是在应用退出去前给出一个Dialog,我觉得这样不太友 ...
- 阿里云OSS细粒度权限控制
做下工作记录: 自定义安全策略,然后授权即可 { ", "Statement": [ { "Effect": "Allow", & ...
- 代码审计之seacms v6.54 前台Getshell 复现分析
1.环境: php5.5.38+apache+seacms v6.54 上一篇文章针对seacms v6.45 进行了分析,官方给出针对修复前台geishell提供的方法为增加: $order = ( ...
- Java-AESUtil
在线版 http://tool.chacuo.net/cryptaes 要使用 AES/CBC/PKCS7Padding 模式需要添加依赖 <!--AES/CBC/PKCS7Padding--& ...
- JScript 程序流程控制
Jscript 脚本中的语句一般是按照写的顺序来运行的.这种运行称为顺序运行,是程序流的默认方向. 与顺序运行不同,另一种运行将程序流转换到脚本的另外的部分.也就是,不按顺序运行下一条语句,而是运行另 ...
- Jeecg页面标签规则
1.表单字段重复校验方法 <input name="departname" class="inputxt" value="${depart.de ...
- C# lock 为什么要设置成只读
首先给出MSDN的定义: lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断.这是通过在代码块运行期间为给定对象获取互斥锁来实现的. 先来看看执行过程,代码示例如下: 假设线程A先执行, ...
- phpstrom--------config php interpreter
phpstrom是一款比较好用的php代码编辑器,使用phpstrom进行代码编辑时我可能会需要看一下在网页上的实际效果,但是PHPstrom本身只是一款编辑器,不具备运行功能,我们需要自己安装一个服 ...