系列目录:
Hadoop实战(1)_阿里云搭建Hadoop2.x的伪分布式环境
Hadoop实战(2)_虚拟机搭建Hadoop的全分布模式
建立Linux虚拟机(全节点)
客户机操作系统:rhel-server-6.5-x86_64。
网络连接:NAT模式。Connecet automaticcally:打勾。不会随宿主机网段变化发生IP变化。
cdhmaster
192.168.200.100
255.255.255.0
192.168.200.2
cdhslave1
192.168.200.101
255.255.255.0
192.168.200.2
安装类型:Minimal
关闭防火墙和SELINUX(全节点)
1
2
3
4
5
6
7
8
9
10
11 1# iptables
2service iptables status
3service iptables stop
4# 不随操作系统自动启动
5chkconfig iptables off
6# 验证,查看名字中包含table的服务
7chkconfig --list|grep table
8# 永久起效,reboot重启后生效
9vi /etc/selinux/config
10SELINUX=disabled
11
修改主机名,配置hosts(全节点)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 1vi /etc/sysconfig/network
2
3# cdhmaster
4NETWORKING=yes
5HOSTNAME=cdhmaster
6GATEWAY=192.168.200.2
7
8service network restart
9
10# cdhslave1
11NETWORKING=yes
12HOSTNAME=cdhslave1
13GATEWAY=192.168.200.2
14
15service network restart
16
1
2
3
4
5 1vi /etc/hosts
2
3192.168.200.100 cdhmaster
4192.168.200.101 cdhslave1
5
搭建本地yum源(master节点)
挂载iso镜像文件,拷贝文件内容
1
2
3
4
5
6 1mkdir -p /root/training/dvd
2mount /dev/cdrom /mnt/dvd
3df -h
4cp -av /mnt/dvd/* /root/training/dvd
5umount /mnt/dvd
6
新建yum配置文件
1
2
3
4
5
6
7
8
9
10
11
12 1vi /etc/yum.repos.d/local.repo
2
3[dvd]
4name=install dvd
5baseurl=file:///root/training/dvd
6enabled=1
7# enabled=0
8gpgcheck=0
9
10# 验证
11yum list | grep mysql
12
搭建本地yum源(http方式)(master节点)
启动httpd服务
1
2
3
4
5
6
7
8
9 1# 验证是否安装httpd服务
2rpm -qa|grep httpd
3# yum install -y httpd
4yum install -y httpd
5# 启动httpd服务
6service httpd start
7# 设置httpd服务开机自启动
8chkconfig httpd on
9
配置yum源
1
2
3
4 1# 上传rhel6.5.tar至`/var/www/html`,解压
2tar xvf rhel6.5.tar
3# 验证,在浏览器地址栏输入http://cdhmaster/rhel6.5
4
新建yum配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13 1cp rhel-source.repo rhel-source.repo.bak
2vi /etc/yum.repos.d/rhel-source.repo
3
4[rhel-source]
5name=Red Hat Enterprise Linux $releasever - $basearch - Source
6baseurl=http://cdhmaster/rhel6.5/
7enabled=1
8gpgcheck=0
9
10# 把前面搭建的本地yum源禁用,设置local.repo中的enabled=0
11# 验证
12yum list | grep mysql
13
yum源配置(全节点)
新建yum配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13 1cp rhel-source.repo rhel-source.repo.bak
2vi /etc/yum.repos.d/rhel-source.repo
3
4[rhel-source]
5name=Red Hat Enterprise Linux $releasever - $basearch - Source
6baseurl=http://cdhmaster/rhel6.5/
7enabled=1
8gpgcheck=0
9
10# 把前面搭建的本地yum源禁用,设置local.repo中的enabled=0
11# 验证
12yum list | grep mysql
13
ntp时间同步(全节点)
1
2
3
4
5
6
7
8 1# 检查是否安装了ntp
2rpm -qa | grep ntp
3yum install -y ntp ntpdate
4service ntpd start
5chkconfig ntpd on
6service ntpdate start
7chkconfig ntpdate on
8
1
2
3
4 1# 选择cdhmaster用作ntp server,设置系统时间并保存
2date -s "20171024 14:04:00"
3hwclock --systohc
4
1
2
3
4
5
6
7
8
9 1# 集群各节点时间同步
2vi /etc/ntp.conf
3
4server 192.168.200.100
5
6service ntpd restart
7# 验证测试
8ntpdc -c loopinfo
9
配置内核参数(全节点)
禁用透明大页面,首先查看透明大页面是否启用,[always] never表示已启用,always [never]表示已禁用。
1
2
3
4
5
6
7
8 1# 关闭透明大页面
2cat /sys/kernel/mm/transparent_hugepage/defrag
3# [always] madvise never
4echo never > /sys/kernel/mm/transparent_hugepage/defrag
5# 命令写入开机启动文件,修改/etc/rc.local文件并添加以下两行(重启才能生效)
6echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
7echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
8
关闭内存交换区,Linux内核参数vm.swappiness,值的范围为0到100,表示系统什么时候开始进行物理内存与虚拟内存的交换。举个例子,系统总内存为64G,vm.swappiness为60,表示在系统内存使用64*0.4=25.6G的时候开始物理内存与虚拟内存的交换,这个动作势必会影响系统的性能。因此,Cloudera建议把这个值修改为1~10。
1
2
3
4
5
6
7 1# 关闭内存交换区,默认值60,临时生效
2sysctl vm.swappiness=0
3# 写入环境控制,重启后永久生效
4echo "vm.swappiness=0" >> /etc/sysctl.conf
5# 验证
6cat /proc/sys/vm/swappiness
7
CDH安装和配置
cm和cdh获取
1
2
3
4
5
6
7
8 1# cm5
2http://archive.cloudera.com/cm5/
3http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.9.0/RPMS/x86_64/
4http://archive.cloudera.com/cm5/installer/5.9.0/
5# cdh5
6http://archive.cloudera.com/cdh5/
7http://archive.cloudera.com/cdh5/parcels/5.9.0/
8
配置cm yum本地源(master节点)
1
2
3
4 1# 上传cm5.9.0.tar至`/var/www/html`,解压
2tar xvf cm5.9.0.tar
3# 验证,在浏览器地址栏输入http://cdhmaster/cm5.9.0
4
新建cm yum配置文件(全节点)
1
2
3
4
5
6
7
8
9
10 1vi /etc/yum.repos.d/cloudera-manager.repo
2
3[cloudera-manager]
4name = Cloudera Manager, Version 5.9.0
5baseurl = http://cdhmaster/cm5.9.0/
6gpgcheck = 0
7
8# 验证
9yum list | grep cloudera
10
安装jdk(全节点)
master节点会在cloudera manager安装的过程中安装jdk,默认安装在/usr/java/jdk1.7.0_67-cloudera。如果安装失败,日志中提示缺少jdk,需要在slave节点安装jdk。
1
2
3
4 1# 上传oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm到/root/training
2rpm -ivh oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm
3# 默认也是安装在/usr/java,是否需要配置JAVA_HOME和PATH?
4
配置parcel(master节点)
1
2
3
4
5
6 1mkdir -p /opt/cloudera/parcel-repo
2# 上传如下3个文件到该目录
3# CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel
4# CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha
5# manifest.json
6
执行cm安装(master节点)
安装过程日志记录在/var/log/cloudera-manager-installer
1
2
3
4 1cd /var/www/html/cm5.9.0
2# 不在/etc/yum.repos.d产生repo文件
3./cloudera-manager-installer.bin --skip_repo_package=1
4
一直next,待出现如下界面,则表示cm安装成功。
1
2 1Point your web browser to http://192.168.200.100:7180/. Log in to Cloudera Manager with username: 'admin' and password: 'admin' to continue installation.
2
等几分钟后(视机器配置),浏览器打开http://192.168.200.100:7180/,按需添加服务。
cm安装过程日志记录在/var/log/cloudera-manager-installer。
parcel安装过程日志记录在/var/log/cloudera-scm-agent和/var/log/cloudera-scm-server。