部署CDH集群环境准备
一、系统centOS7以上,至少三台主机
添加ip 主机名映射关系:(每台主机都要做)
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.8.107 master
10.0.8.108 node1
10.0.8.114 node2
二、配置免密登陆
Hadoop运行过程中需要管理远端Hadoop守护进程,在Hadoop启动以后,NameNode是通过SSH(Secure Shell)来启动和停止各个DataNode上的各种守护进程的。这就必须在节点之间执行指令的时候是不需要输入密码的形式,所以我们需要配置SSH运用无密码公钥认证的形式,这样NameNode使用SSH无密码登录并启动DataName进程,同样原理,DataNode上也能使用SSH无密码登录到NameNode。
生成公钥私钥:
ssh-keygen -t rsa #三次确认

将公钥copy到需要免密登陆的服务器上
ssh-copy-id master
ssh-copy-id node1
ssh-copy-id node2
三、ntp时钟同步
CDH集群高度依赖时钟同步,所以需要所有节点的服务器时间都一样,这时候可以自己搭一套ntp同步server;也可以用公共的时钟同步服务器;
ntpdate ntp1.aliyun.com #阿里云时钟同步服务器
创建时钟同步计划任务:
crontab -e #创建计划任务
*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1 #表示每5min同步一次时间
[root@master ~]# crontab -l #查看计划任务 (每台设备都要做)
*/5 * * * * /usr/sbin/ntpdate ntp.sinocache.net > /dev/null 2>&1
四、系统调优
1、关闭防火墙和selinux;
2、关闭dns反向查寻,优化登陆时间,如果不关登陆会很慢,会有一个dns反向查寻的时间;
sed -i 's@#UseDNS yes@UseDNS no@g' /etc/ssh/sshd_config
3、关闭GSSAPI身份验证
sed -i 's@^GSSAPIAuthentication yes@GSSAPIAuthentication no@g' /etc/ssh/sshd_config
GSSAPIAuthentication 当这个参数开启( GSSAPIAuthentication yes )的时候,通过SSH登陆服务器时候会有些会很慢!这是由于服务器端启用了GSSAPI。登陆的时候客户端需要对服务器端的IP地 址进行反解析,如果服务器的IP地址没有配置PTR记录,那么就容易在这里卡住了。
4、关闭透明大页
(vir-3.5.2) [root@master ~]# uname -r #查看内核版本
3.10.0-862.el7.x86_64
(vir-3.5.2) [root@master ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never #查看透明大页状态,打开状态
(vir-3.5.2) [root@master ~]# cat /etc/default/grub | grep GRUB_CMDLINE_LINUX
GRUB_CMDLINE_LINUX="crashkernel=auto console=ttyS0 console=tty0 panic=5 net.ifnames=0 biosdevname=0"
(vir-3.5.2) [root@master ~]# vim /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL="serial console"
GRUB_TERMINAL_OUTPUT="serial console"
GRUB_CMDLINE_LINUX="crashkernel=auto console=ttyS0 console=tty0 panic=5 net.ifnames=0 biosdevname=0 transparent_hugepage=never" #加上标红的配置
GRUB_DISABLE_RECOVERY="true"
GRUB_SERIAL_COMMAND="serial --speed=9600 --unit=0 --word=8 --parity=no --stop=1"
(vir-3.5.2) [root@master ~]# grub2-mkconfig -o /boot/grub2/grub.cfg #加载配置文件
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-862.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-862.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-c28d40cbc8e3adcb4e32d9779a77b39e
Found initrd image: /boot/initramfs-0-rescue-c28d40cbc8e3adcb4e32d9779a77b39e.img
done
(vir-3.5.2) [root@master ~]# reboot #重启配置才能生效;
(vir-3.5.2) [root@master ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never] #重启后查看状态为关闭状态
5、关闭碎片整理
THP压缩会降低Hadoop的性能。所以,禁用碎片整理是一个很好的做法。
(vir-3.5.2) [root@master ~]# vim /etc/rc.d/rc.local
#!/bin/bash
touch /var/lock/subsys/local
/usr/local/qcloud/irq/net_smp_affinity.sh >/tmp/net_affinity.log 2>&1
/usr/local/qcloud/rps/set_rps.sh >/tmp/setRps.log 2>&1
/usr/local/qcloud/gpu/nv_gpu_conf.sh >/tmp/nv_gpu_conf.log 2>&1
#在该文件加上该配置即可
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
(vir-3.5.2) [root@master ~]# ll /etc/rc.d/rc.local #查看该文件是否有执行权限,如果没有需要加执行权限;
chmod +x /etc/rc.d/rc.local
-rwxr-xr-x 1 root root 943 Jun 30 00:59 /etc/rc.d/rc.local
6、修改Linux内核参数
(vir-3.5.2) [root@master ~]# vim /etc/sysctl.conf ##编辑该文件,并加入一下配置;
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
(vir-3.5.2) [root@master ~]# sysctl -p #加载配置文件使其生效
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 ##发送窗口尺寸的最小,默认,最大值
7、增加文件限制
(vir-3.5.2) [root@master ~]# ulimit -Sn #软限制(由于我这是云主机,应该是腾讯云已经做了优化的,标准原生镜像应该是1024)
100001
(vir-3.5.2) [root@master ~]# ulimit -Hn #硬限制 (原生镜像应该是4096)
100002
如果其他人不是我这样的配置就得手动自己改了,方法如下:
vim /etc/security/limits.conf
(vir-3.5.2) [root@master ~]# tail -8 /etc/security/limits.conf
* soft nofile 1048576 ##表示用户和组,如果是"*",则表示所有用户或组进行限制。
* hard nofile 1048576 ##表示软限制还是硬限制,当进程使用的资源超过软限制时系统日志会有警告产生,当进程使用的资源达到硬限制时,则无法继续使用更多的限制,甚至有的程序会直接抛出异常,比如MySQL程序。
* soft nproc 1048576 ##表示限制的资源类型
* hard nproc 1048576 ##如nofile表示打开文件描述符的最大数目,memlock表示最大锁定内存地址空间(KB),nporc表示最大数量的进程,as表示地址空间的限制(KB),cpu表示最大CPU时间(分钟)等等。
* soft memlock unlimited ##表示限制的最大值,也就是我们针对某个参数配置的具体数值。比如"* soft nofile 1048576",表示任何用户对于文件句柄数的软限制最大打开文件描述符是1048576。
* hard memlock unlimited
(vir-3.5.2) [root@master ~]# tail -2 /etc/security/limits.d/20-nproc.conf
* soft nproc 1048576
root soft nproc unlimited
##"/etc/security/limits.conf" 配置文件可限制文件打开数,系统进程等资源,在该文件配置中写的最大用户进程数是受"/etc/security/limits.d/90-nproc.conf"配置上限影响的。
一般系统普通用户进程数满了都是修改/etc/security/limits.d/90-nproc.conf文件。
8、禁用swap
swapon -s #查看swap状态
swapoff -a #关闭swap
swapon -s #打开swap
free -h #确认swap是否为0
部署CDH集群环境准备的更多相关文章
- 批量部署Hadoop集群环境(1)
批量部署Hadoop集群环境(1) 1. 项目简介: 前言:云火的一塌糊涂,加上自大二就跟随一位教授做大数据项目,所以很早就产生了兴趣,随着知识的积累,虚拟机已经不能满足了,这次在服务器上以生产环境来 ...
- troubleshooting-windows 在 CDH集群环境读取 Hive 表 KrbException: Cannot locate default realm
KrbException: Cannot locate default realm 解决办法 1)拷贝需要组件的配置文件到项目中的 /resources/目录.如hadoop,目录/etc/hadoo ...
- CDH集群搭建部署
1. 硬件准备 使用了五台机器,其中两台8c16g,三台4c8g.一台4c8g用于搭建cmServer和NFS服务端,另外4台作为cloudera-manager agent部署CDH集群. ...
- Linux环境快速部署Zookeeper集群
一.部署前准备: 1.下载ZooKeeper的安装包: http://zookeeper.apache.org/releases.html 我下载的版本是zookeeper-3.4.9. 2.将下载的 ...
- Centos7下ELK+Redis日志分析平台的集群环境部署记录
之前的文档介绍了ELK架构的基础知识,日志集中分析系统的实施方案:- ELK+Redis- ELK+Filebeat - ELK+Filebeat+Redis- ELK+Filebeat+Kafka+ ...
- CDH集群部署hive建表中文乱码
背景:部署CDH集群的 hive 服务,选用 mysql 作为 hive 元数据的存储数据库,通过 hive cli 建表时发现中文注释均乱码. 现象:hive端建表中文注释乱码. 定位: 已经确认过 ...
- 深入探讨在集群环境中使用 EhCache 缓存系统
EhCache 缓存系统简介 EhCache 是一个纯 Java 的进程内缓存框架,具有快速.精干等特点,是 Hibernate 中默认的 CacheProvider. 下图是 EhCache 在应用 ...
- 朝花夕拾之--大数据平台CDH集群离线搭建
body { border: 1px solid #ddd; outline: 1300px solid #fff; margin: 16px auto; } body .markdown-body ...
- (转)深入探讨在集群环境中使用 EhCache 缓存系统
简介: EhCache 是一个纯 Java 的进程内缓存框架,具有快速.精干等特点,是 Hibernate 中默认的 CacheProvider.本文充分的介绍了 EhCache 缓存系统对集群环境的 ...
随机推荐
- MySQL主从配置及haproxy和keepalived搭建
本篇文章主要介绍如何搭建MySQL主主配置.主从配置.haproxy.keepalived,已经搭建过程中的一些问题.本次运行环境是在docker中,也会介绍一些docker的知识 docker 小知 ...
- 揭秘华为云GaussDB(for Influx)最佳实践:hint查询
摘要:GaussDB(for Influx)通过提供hint功能,在单时间线的查询场景下,性能有大幅度的提升,能有效满足客户某些特定场景的查询需求. 本文分享自华为云社区<华为云GaussDB( ...
- Docker权限 “Got permission denied while trying to connect to the Docker daemon socket at unix:///var/”
问题及解决办法 在普通用户下执行docker命令需要用sudo,没加sudo出现了下图所示的提示: 从上图看出,权限不足连接/var/run/docker.sock,我们看下这个文件: 可以看出,这个 ...
- 【clickhouse专栏】新建库角色用户初始化
一.创建新的database clickhouse创建数据库的语法几乎和其他的关系型数据库是一样的,区别就是clickhouse存在集群cluster和库引擎engine的概念,可以根据需要进行指定. ...
- springboot引入mybatis遇到的坑
前边分享了springboot项目的创建及springboot项目的默认配置文件等,想温习的小伙伴可移步至文章末尾阅读,感谢.今天来分享下springboot引入mybatis框架的步骤,有小伙伴 ...
- 【Redis】集群故障转移
集群故障转移 节点下线 在集群定时任务clusterCron中,会遍历集群中的节点,对每个节点进行检查,判断节点是否下线.与节点下线相关的状态有两个,分别为CLUSTER_NODE_PFAIL和CLU ...
- python亲密数设计
'''亲密数 (如果a的所有正因子和等于b,b的所有正因子和等于a,因子包括1但不包括本身,且a不等于b,则称a,b为亲密数对.一般通过叠代编程求出相应的亲密数对)'''n = 3000def fun ...
- 6000字Locust入门详解
目录 一.Locust 性能测试 (一). 性能测试工具 主流性能测试工具对比 认识Locust (二) locust 基本用法 1.安装locust 2.编写用例 3. 启动测试 GUI 模式启动 ...
- 《Java基础——IO流》
Java基础--IO流 一.字节流: 1.输入流 (InputStream) 规则: 此处用于读取txt文件中的内容. 代码: import java.io.*; public c ...
- 【故障公告】取代 memcached 的 redis 出现问题造成网站故障
6月19日开始,我们将博客站点的缓存服务器从 memcached 换成了 redis,稳定运行了3天,今天上午访问高峰突然出现问题,在 11:00-12:30 期间影响了网站的正常访问,由此给您带来麻 ...