一、创建虚拟机安装CentOS及环境部署
1.1、安装CentOS
1、安装VMware Workstation 12 Pro虚拟机。
2、创建虚拟机:打开VMware Workstation 12 Pro 版本12.5.6,新建虚拟机,选择【自定义】点击【下一步】,直接【下一步】,选择【稍后安装操作系统】点击【下一步】,默认即可点击【下一步】,输入虚拟机名称为CentOS201点击【下一步】,默认点击【下一步】,分配1024内存点击【下一步】,默认的点下去直到完成。
3、安装虚拟机中的CentOS 6.5操作系统:选择创建好的虚拟机CentOS201,单击【编辑虚拟机设置】,选择安装介质(即本地的CentOS 6.5镜像文件),进入安装,选择第一项开始安装 =>Skip=>欢迎界面Next=>选择默认语言=>Baisc Storage Devices=>
Yes, discard any data=>输入主机名(spark6)=>选择时区=>设置初始密码为hadoop=>Replace Existing Linux System=>
Write changes to disk之后CentOS 6.5自己开始安装。
4、安装完以后,CentOS会提醒你要重启一下,就是reboot,单击reboot就可以了。
1.2、配置网路
1、先临时性设置虚拟机ip地址:ifconfig eth0 192.168.1.6
,然后在/etc/hosts文件中配置本地ip(192.168.1.6)到host(spark6)的映射。
vi /etc/hosts
vi /etc/sysconfig/network
另起一行输入(192.168.1.6 spark6
)退出保存就可以了。
vi 编辑器的使用方法详见:Linux操作命令
2、配置windows主机上的hosts文件:C:\Windows\System32\drivers\etc\hosts,加入(192.168.1.6 spark6
)。这样配置好,虚拟机和本地的windows就能通信了,可以互相的ping一下检验是否配置成功。
3、使用SecureCRT从windows上连接虚拟机。
4、使用SecureCRT永久性配置CentOS网络。
输入命令:
vi /etc/udev/rules.d/70-persistent-net.rules
vi /etc/sysconfig/network-scripts/ifcfg-eth0
按照下面的配置进行修改
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.6
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
5、输入下面的命令重启网卡
service network restart
6、逐步输入下面两个命令关闭防火墙
service iptables stop
chkconfig iptables off
编辑config文件把SELINUX改成(disabled)
vi /etc/selinux/config
SELINUX=disabled
关闭windows的防火墙!
7、配置dns服务器
编辑resolv.conf
vi /etc/resolv.conf
把下面的这两句话粘贴进去
nameserver 8.8.8.8
nameserver 61.139.2.69
ping www.baidu.com
试一下是否能连网。
说明:即使更换了ip地址,重启网卡,可能还是联不通网。那么可以先将IPADDR、NETMASK、GATEWAY给删除,将BOOTPROTO改成dhcp。然后用service network restart重启网卡。此时linux会自动给分配一个ip地址,用ifconfig查看分配的ip地址。然后再次按照之前说的,配置网卡,将ip改成自动分配的ip地址。最后再重启一次网卡。
1.3、yum配置
CentOS默认yum源是国外的,速度无法保证,用起来很不爽,我们把默认源换成国内的163源,163源速度相对来说快很多。
1、修改repo
使用WinSCP,将CentOS6-Base-163.repo上传到CentOS中的/usr/local目录下。
执行下面两句话,删除yum.repos.d里的所有内容
cd /etc/yum.repos.d/
rm -rf *
把自己的repo文件移动到/etc/yum.repos.d/目录中:cp /usr/local/CentOS6-Base-163.repo .
修改repo文件,把所有gpgcheck属性修改为0。
执行下面两句话清除缓存再重新加载。
yum clean all
yum makecache
安装telnet:yum install telnet
1.4、安装JDK
1、将jdk-7u60-linux-i586.rpm通过WinSCP上传到虚拟机中
2、安装JDK:rpm -ivh jdk-7u65-linux-i586.rpm
3、配置jdk相关的环境变量:根目录下执行vi .bashrc
粘贴下面两句话
export JAVA_HOME=/usr/java/latest
export PATH=$PATH:$JAVA_HOME/bin
重启一下:source .bashrc
4、测试jdk安装是否成功:java -version
5、rm -f /etc/udev/rules.d/70-persistent-net.rules
查看是否有预装jdk及jdk版本
rpm -qa|grep jdk
卸载预装jdk rpm -e --nodeps jdk-1.7.0_79-fcs.x86_64
到这里第一台虚拟机就完成了,接下来重复上面的步骤再安装两台。另外两台机器的hostname分别设置为spark7和spark8即可,ip分别为192.168.1.7和192.168.1.8。在安装的时候,另外两台虚拟机的centos镜像文件必须重新拷贝一份,放在新的目录里,使用各自自己的镜像文件。安装好之后,记得要在三台机器的/etc/hosts文件中,配置全三台机器的ip地址到hostname的映射,而不能只配置本机,这个很重要!还有windows的hosts文件中也要配置全三台机器的ip地址到hostname的映射。
1.5、配置集群ssh免密码登录
1、首先在三台机器上配置对本机的ssh免密码登录
使用以下命令生成本机的公钥,过程中不断敲回车即可,ssh-keygen命令默认会将公钥放在/root/.ssh目录下
ssh-keygen -t rsa
将公钥复制为authorized_keys文件,此时使用ssh连接本机就不需要输入密码了
cd /root/.ssh
cp id_rsa.pub authorized_keys
2、接着配置三台机器互相之间的ssh免密码登录
使用ssh-copy-id -i hostname
命令将本机的公钥拷贝到指定机器的authorized_keys文件中(hostname分别为另外两台虚拟机的名称)
第一章所需要的安装包:安装包提取码:u9fq
二、Hadoop-2.4.1集群搭建
2.1、安装hadoop包
1、使用WinSCP把hadoop-2.4.1.tar.gz上传到CentOS的/usr/local目录下。
2、将hadoop包进行解压缩:tar -zxvf hadoop-2.4.1.tar.gz -C /usr/local/
3、对hadoop目录进行重命名:mv hadoop-2.4.1 hadoop
4、配置hadoop相关环境变量:vi .bashrc
export HADOOP_HOME=