前提准备
1. 首先hadoop版本选择:版本2.7.2,使用稳定版本
官网:https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/
2. 其次下载jdk版本为 jdk-7u65-linux-i586.rpm
3. 然后搭建虚拟机(VirtualBox)使用三台Centos虚拟机,一个主节点,两个根节点实现分布式
一、配置步骤如下:
1.主机环境搭建,这里是使用了3台虚拟机,在CentOS系统上进行搭建Hadoop环境。
2.创建hadoop用户组以及hadoop用户,并给hadoop用户分配权限。
3.免密码登陆,为3台主机进行免密码登陆配置。
4.安装hadoop以及jdk,并配置环境变量。
5.Hadoop分布式环境参数配置。
二、主机环境搭建:
在虚拟机上安装3台虚拟主机并分别安装好Centos系统,然后分别完成以下操作
1. 设定静态ip地址,这里的虚拟机使用的是桥接模式,配置命令如下:
a、 先临时性设置虚拟机ip地址:ifconfig eth0 192.168.1.151
b、 配置windows主机上的hosts文件:C:\Windows\System32\drivers\etc\hosts,192.168.1.101 master
c、 使用SecureCRT从windows上连接虚拟机
d、 永久性配置CentOS网络
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.151
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
e、 重启网卡:service network restart
关闭防火墙:
service iptables stop
service ip6tables stop
service iptables status
service ip6tables status
chkconfig iptables off
chkconfig ip6tables off
vi /etc/selinux/config
修改SELINUX=disabled
其他两台虚拟机同理,将ip自增 也就是 151到153
三、配置JDK:
版本:jdk-7u65-linux-i586.rpm
1、将jdk-7u60-linux-i586.rpm上传到虚拟机中(/usr/local目录下,工具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
其他两台虚拟机同理
四、配置免密登录:
1、在三台机器的/etc/hosts文件中,都配置对三台机器的ip-hostname的映射
vi /etc/hosts 添加
192.168.1.151 master
192.168.1.152 slave1
192.168.1.153 slave2
2、
a.在三台机器上配置对本机的ssh免密码登录生成本机的公钥,过程中敲回车即可,ssh-keygen命令默认会将公钥放在/root/.ssh目录下(ssh-keygen -t rsa)
b. 将公钥复制为authorized_keys文件,此时使用ssh连接本机就不需要输入密码了
cd /root/.ssh
cp id_rsa.pub authorized_keys
c. 接着配置三台机器互相之间的ssh免密码登录
使用ssh-copy-id -i +hostname命令将本机的公钥拷贝到指定机器的authorized_keys文件中(过程中输入对应主机密码)
在master上执行ssh-copy-id -i slave1和ssh-copy-id -i slave2
在slave1上执行ssh-copy-id -i master和ssh-copy-id -i slave2
在slave2上执行ssh-copy-id -i master和ssh-copy-id -i slave1