hadoop优化
从网上搜集的各种优化,标记下。 1. 网络带宽 Hadoop集群的服务器在规划时就在统一的交换机下,这是在官方文档中建议的部署方式。 但是我们的这台交换机和其他交换机的互联带宽有限,所以在客户端遇到了HDFS访问速度慢的问题。 把操作集群的客户端也联入DataNode的交换机内部,解决了这个问题。 2. 系统参数 对ulimit -c的修改也是官方文档建议的修改,在集群只有10台服务器时,并没有遇到问题。 随着机器增加和任务增加,这个值需要改的更大。 3. 配置文件管理 这个集群用的是Cloudera发行的版本,配置文件默认存在/etc/hadoop/conf位置。这是一个只有root才能修改的位置。 为了修改方便,我把配置文件统一保存在一台机器上,修改后用脚本分发。保证所有服务器都是统一的配置。 4. mapred.tasktracker.map.tasks.maximum 这个参数控制每个TaskTracker同时运行的Map任务数。 以前的设置是和CPU核数相同的,偶尔遇到任务挤占DataNode资源的问题。 现在改成map+reduce+1==num_cpu_cores。 5. 严格控制root权限 Cloudera的发行版会创建一个hadoop用户,各种守护进程都应该以这个用户运行。 曾经有误操作(/usr/lib/hadoop/bin/hadoop datanode &