基于Spark之上的基础环境设置
2017-03-06 16:39
330 查看
1.Ulimit配置
操作系统默认只能打开1024个文件,打开的文件超过这个数发现程序会有“too many open files”的错误,1024对于大数据系统来说显然是不够的,如果不设置,基本上整个大数据系统是“不可用的”,根本不能用于生产环境。
配置方法如下:
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
.
2. Swap的问题
在10~20年前一台服务器的内存非常有限,64m~128m,所以通过swap可以将磁盘的一部分空间用于内存。但是现今我们的服务器内存普遍达到了64G以上,内存已经不再那么稀缺,但是内存的读取速度与磁盘的读取相差倍数太大,如果我们某段程序使用的内存映射到了磁盘上,将会对程序的性能照成非常严重的影响,甚至导致整个服务的瘫痪。对于YDB系统来说,要求一定要禁止使用Swap.
禁用方法如下,让操作系统尽量不使用Swap:
2
3
1
2
3
3.网络配置优化
2
3
1
2
3
4.SSH无密码登录
安装 Hadoop与Ambari均需要无密码登录
设置方法请参考如下命令
2
3
4
5
6
7
1
2
3
4
5
6
7
5.关闭防火墙
2
3
4
5
6
7
1
2
3
4
5
6
7
6.配置机器名,以及hosts域名解析
2
3
1
2
3
切记 hosts文件中 不要将localhost给注释掉,并且配置完毕后,执行下 hostname -f 看下 是否能识别出域名
7.setenforce与Umask配置
setenforce
2
3
1
2
3
Umask
2
1
2
8.检查/proc/sys/vm/overcommit_memory的配置值
如果为2,建议修改为0,否则有可能会出现,明明机器可用物理内存很多,但JVM确申请不了内存的情况。
9.语言环境配置
先修改机器的语言环境
1
然后配置环境变量为utf8
2
3
1
2
3
10.配置时间同步
Hadoop,YDB等均要求机器时钟同步,否则机器时间相差较大,整个集群服务就会不正常,所以一定要配置。建议配置NTP服务。
集群时间必须同步,不然会有严重问题
参考资料如下:
Linux系统时钟同步服务NTPD配置方法
11.JDK安装部署
YDB支持JDK1.7,JDK1.8,为了便于管理和使用,建议使用YDB随机提供的JDK1.8
建议统一安装到/opt/ydbsoftware路径下。
12.环境变量
请大家千万不要在公共的环境变量配置Hive、Spark、LUCENE、HADOOP等环境变量,以免相互冲突。
13.请检查盘符,不要含有中文
尤其是Ambari,有些时候,使用U盘或移动硬盘复制软件,如果这个移动硬盘挂载点是中文路径,这时在安装Ambari的时候会出现问题,一定要注意这个问题。
14.检查磁盘空间,使用率不得超过90%
1
默认Yarn会为每台机器保留10%的空间,如果剩余空间较少,Yarn就会停掉这些机器上的进程,并出现Container released on
a lost node错误。
15.关键日志,定时清理,以免时间久了磁盘满了
如可以编辑crontab -e 每小时,清理一次日志,尤其是hadoop日志,特别占磁盘空间
操作系统默认只能打开1024个文件,打开的文件超过这个数发现程序会有“too many open files”的错误,1024对于大数据系统来说显然是不够的,如果不设置,基本上整个大数据系统是“不可用的”,根本不能用于生产环境。
配置方法如下:
echo "* soft nofile 128000" >> /etc/security/limits.conf echo "* hard nofile 128000" >> /etc/security/limits.conf echo "* soft nproc 128000" >> /etc/security/limits.conf echo "* hard nproc 128000" >> /etc/security/limits.conf cat /etc/security/limits.conf sed -i 's/1024/unlimited/' /etc/security/limits.d/90-nproc.conf cat /etc/security/limits.d/90-nproc.conf ulimit -SHn 128000 ulimit -SHu 1280001
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
.
2. Swap的问题
在10~20年前一台服务器的内存非常有限,64m~128m,所以通过swap可以将磁盘的一部分空间用于内存。但是现今我们的服务器内存普遍达到了64G以上,内存已经不再那么稀缺,但是内存的读取速度与磁盘的读取相差倍数太大,如果我们某段程序使用的内存映射到了磁盘上,将会对程序的性能照成非常严重的影响,甚至导致整个服务的瘫痪。对于YDB系统来说,要求一定要禁止使用Swap.
禁用方法如下,让操作系统尽量不使用Swap:
echo "vm.swappiness=1" >> /etc/sysctl.conf sysctl -p sysctl -a|grep swappiness1
2
3
1
2
3
3.网络配置优化
echo " net.core.somaxconn = 32768 " >> /etc/sysctl.conf sysctl -p sysctl -a|grep somaxconn1
2
3
1
2
3
4.SSH无密码登录
安装 Hadoop与Ambari均需要无密码登录
设置方法请参考如下命令
ssh-keygen cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys ssh-copy-id root@ydbslave01 ssh-copy-id root@ydbslave02 …..1
2
3
4
5
6
7
1
2
3
4
5
6
7
5.关闭防火墙
iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT chkconfig iptables off /etc/init.d/iptables stop service iptables stop iptables -F1
2
3
4
5
6
7
1
2
3
4
5
6
7
6.配置机器名,以及hosts域名解析
hostname ydbmaster vi /etc/sysconfig/network vi /etc/hosts1
2
3
1
2
3
切记 hosts文件中 不要将localhost给注释掉,并且配置完毕后,执行下 hostname -f 看下 是否能识别出域名
7.setenforce与Umask配置
setenforce
setenforce 0 sed -i 's/enabled=1/enabled=0/' /etc/yum/pluginconf.d/refresh-packagekit.conf cat /etc/yum/pluginconf.d/refresh-packagekit.conf1
2
3
1
2
3
Umask
umask 0022 echo umask 0022 >> /etc/profile1
2
1
2
8.检查/proc/sys/vm/overcommit_memory的配置值
如果为2,建议修改为0,否则有可能会出现,明明机器可用物理内存很多,但JVM确申请不了内存的情况。
9.语言环境配置
先修改机器的语言环境
#vi /etc/sysconfig/i18n LANG="en_US.UTF-8" SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en" SYSFONT="latarcyrheb-sun16"1
1
然后配置环境变量为utf8
echo "export LANG=en_US.UTF-8 " >> ~/.bashrc source ~/.bashrc export|grep LANG1
2
3
1
2
3
10.配置时间同步
Hadoop,YDB等均要求机器时钟同步,否则机器时间相差较大,整个集群服务就会不正常,所以一定要配置。建议配置NTP服务。
集群时间必须同步,不然会有严重问题
参考资料如下:
Linux系统时钟同步服务NTPD配置方法
11.JDK安装部署
YDB支持JDK1.7,JDK1.8,为了便于管理和使用,建议使用YDB随机提供的JDK1.8
建议统一安装到/opt/ydbsoftware路径下。
12.环境变量
请大家千万不要在公共的环境变量配置Hive、Spark、LUCENE、HADOOP等环境变量,以免相互冲突。
13.请检查盘符,不要含有中文
尤其是Ambari,有些时候,使用U盘或移动硬盘复制软件,如果这个移动硬盘挂载点是中文路径,这时在安装Ambari的时候会出现问题,一定要注意这个问题。
14.检查磁盘空间,使用率不得超过90%
df -h1
1
默认Yarn会为每台机器保留10%的空间,如果剩余空间较少,Yarn就会停掉这些机器上的进程,并出现Container released on
a lost node错误。
15.关键日志,定时清理,以免时间久了磁盘满了
如可以编辑crontab -e 每小时,清理一次日志,尤其是hadoop日志,特别占磁盘空间
0 */1 * * * find /var/log/hadoop/hdfs -type f -mmin +1440 |grep -E "\.log\." |xargs rm -rf
相关文章推荐
- 基于Spark之上的基础环境设置
- Eclipse基础--java环境变量设置
- 基于tomcat5.5的数据库连接池环境设置(个人总结)
- 基于visual c++之windows核心编程代码分析(21)获取和设置环境变量
- 基于 Jenkins 平台的二次开发环境设置方法
- Java基础之Java开发环境的基本设置
- Eclipse基础--java环境变量设置
- 黑马韩前成java基础第一天之环境变量设置
- java基础环境变量设置
- PHP 环境变量的设置 (基础)
- Eclipse基础--java环境变量设置[转]
- 在VirtualBox虚拟机搭建SVNManager环境 之一 基础设置
- Eclipse基础--java环境变量设置
- 新编Eclipse J2ME开发环境设置 (基于eclipse)
- Eclipse基础--java环境变量设置
- 二、设置开发、运行环境 (基础教程2)
- 基于虚拟盘的开发环境设置方案
- 基于Qt 4.6的Qt Creator 1.3.0环境变量设置
- DELPHI基础:DELPHI中IDE环境的设置
- 2.JavaSE基础知识之环境变量设置