导读 Hadoop是一个能够让用户轻松架构和使用的分布式计算平台,用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序,本节讲安装并且优化centos 6.7 系统下的Supper Hadoop。

1、系统安装类型选择及自定义额外包组

进入如图 1-1 所示界面。 上半部分是系统定制的不同的系统安装类型选择项,默认是“ Desktop”,这里我们选择“ Minimal”,即最小化安装,下半部分是在上面系统安装类型确定后, 额外想添加的软件包组选择项,我们选择“ Customize now”即立即自定义。

图 1-1 系统安装包类型选择及自定义额外包组。
在下图 1-2 的自定义额外的包组界面,我们首先需要选择左边的大的分类,然后在勾选右边对应的小的包组。注意:右边小包组里的内容默认即可,选择结果如图(1)、图(2)所示。

图 1-2 自定义安装包组选择界面I

1.1 根据经验,选择安装包时应该按最小化原则,即不需要的或者不确定是否需要的就不安装,这样可以最大程度上确保系统安全。
1.2 如果安装过程落了部分包组或者其他伙伴安装时没选

安装后可以按如下方式补上安装时未安装的包组:

yum groupinstall "Compatibility libraries" "Base" "Development tools"
yum groupinstall "debugging Tools" "Dial-up Networking Support"

可以通过 yum groupinfo 包组查看具体安装的组件。

1.3 下面安装 6.7 后登陆系统的时候查看选包的情况
yum grouplist:
Installed Groups:
Base
Compatibility libraries
Debugging Tools
Development tools
E-mail server
Graphical Administration Tools
Hardware monitoring utilities
Legacy UNIX compatibility
Networking Tools
Performance Tools
Perl Support
Scientific support
Security Tools

可以看到除了我们选择的外,系统还是默认安装了一些必须的软件包组。

2、网络设置
[root@centos ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:6D:58:E4
TYPE=Ethernet
UUID=5236fdbb-76ee-4f98-90cf-6bed4fb62661
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.2.200
GATEWAY=192.168.2.1
NETMASK=255.255.255.0
3、Linux系统优化 Supper Hadoop
3.1 环境检查

3.1.1 操作系统

# cat /etc/redhat-release
CentOS release 6.6 (Final)

3.1.2 所有主机能够相互ping通

3.1.3 linux内核版本

# uname -r
2.6.32-504.el6.x86_64
3.2 添加安装集群用户&&关闭selinux&&修改Linux启动级别为3
useradd hadoop
echo "hadoop123"|passwd --stdin hadoop
yum grouplist
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
setenforce 0
grep SELINUX=disabled /etc/selinux/config
grep id:3:initdefault: /etc/inittab

3.3 优化开机自动启动服务&&增大文件描述符(Hadoop并行读取数据文件)&&sudo权限管理
chkconfig --list|grep 3:on |wc –l
chkconfig --list|grep 3:on | cut -d " " -f1
for name in `chkconfig --list|grep 3:on | cut -d " " -f1` ;do chkconfig $name off;done
chkconfig --list|grep 3:on #如果系统基于lvm逻辑卷管理需要开启lvm2-monitor blk-availability两个服务
for name in crond ntpd lvm2-monitor blk-availability network rsyslog sshd;do chkconfig $name on;done iptables -L -n
/etc/init.d/iptables stop
iptables -L -n
chkconfig --list|grep iptables
echo 'hadoop ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers echo '* - nofile 65535' >> /etc/security/limits.conf
tail -1 /etc/security/limits.conf

3.4 配置ntp服务器,让所有服务器时间保持一致,如果是非内网服务器可以直接安装启动ntp
yum install htpd -y
/etc/init.d/ntpd start
chkconfig ntpd on $ ntpq –p #公网自动时间同步

如果是内网服务器,需要配置一台ntp服务器,所有服务器到ntp服务器定期同步时间,内网ntp服务器配置:

vim /etc/ntp.conf
restrict default ignore //默认不允许修改或者查询ntp,并且不接收特殊封包
restrict 127.0.0.1 //给于本机所有权限
restrict 192.168.2.0 mask 255.255.255.0 notrap nomodify //给于局域网机的机器有同步时间的权限
server 192.168.2.124 # local clock
driftfile /var/lib/ntp/drift
fudge 127.127.1.0 stratum 10

ntpq -p 查询网络中的NTP服务器:

$ ntpq –p

所有机器服务器需要和ntp服务时间保持一致:

$ ntpdate 192.168.1.124 #刚刚配置好ntp服务器,大概需要5min后才能正常提供服务;报错"no server suitable for synchronization found"

所有大数据服务器设置cron同步ntp服务器时间:

$ crontab -l
00 1 * * * root /usr/sbin/ntpdate 192.168.1.124 >> /root/ntpdate.log 2>&1
3.5 关闭防火墙
/etc/init.d/iptables status
/etc/init.d/iptables stop
chkconfig iptables off
3.6 关闭Swap
swapoff -a
3.7 Linux overcommit-memory
echo 0 > /proc/sys/vm/overcommit_memory
3.8 所有主机做好hosts ip映射&&repo文件
# tail -6 /etc/hosts
192.168.1.124 apache-server archive.cloudera.com archive-primary.cloudera.com 192.168.1.201 server1
192.168.1.202 server2
192.168.1.203 server3
192.168.1.204 server4

所有主机同步hosts文件一致

# scp -r /etc/hosts hostname:/etc/

所有主机repo文件同步

# scp -r CentOS-httpd.repo cloudera-cdh5.repo hostname:/etc/yum.repos.d/
3.9 swappiness && transparent_hugepage
#sudo echo '0' > /proc/sys/vm/swappiness
#sudo sysctl vm.swappiness=0 #sudo echo '#by whoami 2015-10-30'>> /etc/sysctl.conf
#sudo echo 'vm.swappiness=0'>> /etc/sysctl.conf # cat /sys/kernel/mm/redhat_transparent_hugepage/defrag
[always] never
# echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
# cat /sys/kernel/mm/redhat_transparent_hugepage/defrag
always [never] # echo '#by whoami 2015-10-30'>> /etc/rc.local
# echo 'echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag ' >> /etc/rc.local
4、克隆虚拟机

虚拟机eth0无法启动解决,其实是因为克隆后Mac地址一致,导致冲突,而无法启动,报错信息如下:

Bring up interface eth0: Device eth0 does not seem to be present,delaying initialization.

删除两项ifcfg-eth0的配置,重启系统即可:

rm -f /etc/udev/rules.d/70-persistent-net.rules

删除/etc/sysconfig/network-scripts/ifcfg-eth0中,HWADDR、UUID两项内容,重启网卡即可解决。

/etc/init.d/network restart

Centos优化Hadoop的更多相关文章

  1. Centos 搭建Hadoop

    Centos搭建Hadoop 一.搭建Hadoop需要JDK环境,首先配置JDK 二.下载haoop 三.在Centos服务器上解压下载好的安装包 四.修改配置文件 4.1 hadoop-env.sh ...

  2. CentOS 7 Hadoop安装配置

    前言:我使用了两台计算机进行集群的配置,如果是单机的话可能会出现部分问题.首先设置两台计算机的主机名 root 权限打开/etc/host文件 再设置hostname,root权限打开/etc/hos ...

  3. CentOS 配置hadoop

    Hadoop是用作处理大数据用的,核心是HDFS.Map/Reduce.虽然目前工作中不需要使用这个,但是,技多不压身,经过虚拟机很多遍的尝试,终于将Hadoop2.5.2的环境顺利搭建起来了.    ...

  4. hadoop集群搭建--CentOS部署Hadoop服务

    在了解了Hadoop的相关知识后,接下来就是Hadoop环境的搭建,搭建Hadoop环境是正式学习大数据的开始,接下来就开始搭建环境!我们用到环境为:VMware 12+CentOS6.4 hadoo ...

  5. 一脸懵逼学习基于CentOs的Hadoop集群安装与配置

    1:Hadoop分布式计算平台是由Apache软件基金会开发的一个开源分布式计算平台.以Hadoop分布式文件系统(HDFS)和MapReduce(Google MapReduce的开源实现)为核心的 ...

  6. WMware 中CentOS系统Hadoop 分布式环境搭建(一)——Hadoop安装环境准备

    1.创建3台虚拟机并装好系统,这里使用64位CentOS. 2.Ping测试[确保两两能ping通]: [ping xxx.xxx.xxx.xxx] 3.安装SSH:[yum install ssh ...

  7. 一脸懵逼学习基于CentOs的Hadoop集群安装与配置(三台机器跑集群)

    1:Hadoop分布式计算平台是由Apache软件基金会开发的一个开源分布式计算平台.以Hadoop分布式文件系统(HDFS)和MapReduce(Google MapReduce的开源实现)为核心的 ...

  8. 基于Centos搭建 Hadoop 伪分布式环境

    软硬件环境: CentOS 7.2 64 位, OpenJDK- 1.8,Hadoop- 2.7 关于本教程的说明 云实验室云主机自动使用 root 账户登录系统,因此本教程中所有的操作都是以 roo ...

  9. CentOS优化

    一.CentOS6.x优化 #.更改yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup ...

随机推荐

  1. javascript中的闭包,超简单论述,保证小学生必懂

    js中的闭包已经有很多论断了,大家伙有没有听懂了,先引用一片比较高端 的 ”汤姆大叔“  深入理解JavaScript系列(16):闭包(Closures) 好了,为了引起大家的兴趣,先来小诗一首 v ...

  2. 《TCP/IP详解卷1:协议》第17、18章 TCP:传输控制协议(1)-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  3. javascript基础知识拾遗

    1 下面列出的值被当作假 false null undefined '' 0 NaN 其它所有值被当作是真 console.log(undefined || true); //true console ...

  4. PHP时间日期比较

    若要使用PHP来比较日期,最好用DateTime::diff 但是这个是5.3才支持的,如果没有这样的环境,可以使用<.>来比较 如下例子,会输出right $date1=strtotim ...

  5. 每天一个linux命令(28):diff 命令

    diff 命 令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff在命令行中打印每一个行的改动.最新版 本的diff还支持二进制文件.diff程 ...

  6. c#批量插入示例

    var sql = @"Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcApplication1-20131029153010;I ...

  7. Android开发环境的调研

    在大二下,由于课程需要,就去自学Java,当时就借了一本java面向对象的书来看,根据书上的说明搭建环境,下载了JDK1.6和eclipse.但从来没有用过eclipse,java也就只是刚入门而已. ...

  8. ThreadLocal类的实现用法

    ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量).也许把它命名为Thread ...

  9. 整数划分 (区间DP)

    整数划分(四) 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 暑假来了,hrdv 又要留学校在参加ACM集训了,集训的生活非常Happy(ps:你懂得),可是他最近 ...

  10. Eclipse-将svn上的项目转化成相应的项目

    这里假设svn上的项目为maven项目 首先从svn检出项目 其中项目名称code可自己定义更改新的名称 从svn检出的项目结构 然后将项目转化成相关的项目 转换加载中 加载/下载 maven相关内容 ...