文档章节

基于spark之上的即席分析-基础环境设置

CodingCao
 CodingCao
发布于 2017/03/06 16:55
字数 1025
阅读 6
收藏 0

1.Ulimit配置 

操作系统默认只能打开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 128000

2. Swap的问题 

在10~20年前一台服务器的内存非常有限,64m~128m,所以通过swap可以将磁盘的一部分空间用于内存。但是现今我们的服务器内存普遍达到了64G以上,内存已经不再那么稀缺,但是内存的读取速度与磁盘的读取相差倍数太大,如果我们某段程序使用的内存映射到了磁盘上,将会对程序的性能照成非常严重的影响,甚至导致整个服务的瘫痪。对于YDB系统来说,要求一定要禁止使用Swap. 

禁用方法如下,让操作系统尽量不使用Swap:

echo "vm.swappiness=1" >> /etc/sysctl.conf

sysctl -p

sysctl -a|grep swappiness

3.网络配置优化

echo " net.core.somaxconn = 32768 " >> /etc/sysctl.conf

sysctl -p

sysctl -a|grep somaxconn

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

 

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 -F

6.配置机器名,以及hosts域名解析

hostname ydbmaster

vi /etc/sysconfig/network

vi /etc/hosts

切记 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.conf

Umask

umask 0022

echo umask 0022 >> /etc/profile

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"

然后配置环境变量为utf8

echo "export LANG=en_US.UTF-8 " >> ~/.bashrc

source ~/.bashrc

export|grep LANG

10.配置时间同步 

Hadoop,YDB等均要求机器时钟同步,否则机器时间相差较大,整个集群服务就会不正常,所以一定要配置。建议配置NTP服务。 

集群时间必须同步,不然会有严重问题 

参考资料如下: 

Linux系统时钟同步服务NTPD配置方法

http://blog.csdn.net/coding_cao/article/details/60571884

11.JDK安装部署 

YDB支持JDK1.7,JDK1.8,为了便于管理和使用,建议使用YDB随机提供的JDK1.8 
建议统一安装到/opt/ydbsoftware路径下。 

12.环境变量 

请大家千万不要在公共的环境变量配置HiveSpark、LUCENE、HADOOP等环境变量,以免相互冲突。 

13.请检查盘符,不要含有中文 

尤其是Ambari,有些时候,使用U盘或移动硬盘复制软件,如果这个移动硬盘挂载点是中文路径,这时在安装Ambari的时候会出现问题,一定要注意这个问题。 

14.检查磁盘空间,使用率不得超过90%

df -h

默认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

© 著作权归作者所有

CodingCao
粉丝 0
博文 8
码字总数 10130
作品 0
绥化
私信 提问
大数据入门与实战-Spark上手

1 Spark简介 1.1 引言 行业正在广泛使用Hadoop来分析他们的数据集。原因是Hadoop框架基于简单的编程模型(MapReduce),它使计算解决方案具有可扩展性,灵活性,容错性和成本效益。在这里,主...

致Great
03/12
0
0
从Hadoop到Spark的架构实践

当下,Spark已经在国内得到了广泛的认可和支持:2014年,Spark Summit China在北京召开,场面火爆;同年,Spark Meetup在北京、上海、深圳和杭州四个城市举办,其中仅北京就成功举办了5次,内...

Emilypz
2015/10/10
1K
0
Hive on Spark 伪分布式环境搭建过程记录

进入hive cli是,会有如下提示: Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) ......

PeakFang-BOK
2018/12/13
69
0
[Kafka与Spark集成系列一] Spark入门

版权声明:本文为博主原创文章,未经博主朱小厮允许不得转载。 https://blog.csdn.net/u013256816/article/details/82081946 Spark是一个用来是实现快速而通用的集群计算的平台。Spark是UC ...

朱小厮
2018/08/26
0
0
18小时内掌握Spark,全面提升Spark技能!

伴随着大数据相关技术和产业的逐步成熟,继Hadoop之后,Spark技术以其无可比拟的优势,发展迅速,将成为替代Hadoop的下一代云计算、大数据核心技术。   Spark是基于内存,是云计算领域的继...

Spark亚太研究院
2014/06/12
77
0

没有更多内容

加载失败,请刷新页面

加载更多

spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
1分钟前
0
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
6
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
8
0
详解箭头函数和普通函数的区别以及箭头函数的注意事项、不适用场景

箭头函数是ES6的API,相信很多人都知道,因为其语法上相对于普通函数更简洁,深受大家的喜爱。就是这种我们日常开发中一直在使用的API,大部分同学却对它的了解程度还是不够深... 普通函数和...

OBKoro1
昨天
7
0
轻量级 HTTP(s) 代理 TinyProxy

CentOS 下安装 TinyProxy yum install -y tinyproxy 启动、停止、重启 # 启动service tinyproxy start# 停止service tinyproxy stop# 重启service tinyproxy restart 相关配置 默认...

Anoyi
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部