一.准备工作
1.1台已经搭建好的Linux操作系统
2.Hadoop及jdk的安装包 (Hadoop是用Java开发的,所以Hadoop的编译及MapReduce的运行都需要使用JDK)
3.上传文件到Linux的工具 本人习惯用winscp
开机自动启动sshd:chkconfig sshd on开机自动关闭防火墙:chkconfig iptables off(注意:必须开启sshd并关闭防火墙)
因为是集群嘛所以需要多个节点,可以直接在虚拟机右键 管理 克隆就ok 也可以自己再重新配置两台,这里就不多解释了
三.配置几个节点的ip及主机名
1.修改主机名称:vim /etc/sysconfig/network (将主节点改为master 另外两个节点改为slave1,slave2 注意必须使用root用户修改)
3.修改两个克隆节点的ip(root用户)vim /etc/sysconfig/network-scripts/ifcfg-eth0
3.修改ip地址映射 (root用户 另外两个节点相同) vim /etc/hosts 增加节点Ip和节点名
4.测试三台节点之间是否可以相互ping通(如图所示则成功)
四.配置.ssh无秘登录ssh无密登录
1.生成密钥对:
说明: 【-t】:指定算法;【rsa】:算法;【-P ''】:设置密码为无 ;【-f】:指定目录,默认为~/.ssh/
2.创建认证:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
说明:追加公钥(id_rsa.pub) 到对方认证库文件(authorized_keys)
3. 从master到slave1和slave2节点的ssh无密登录
scp id_rsa.pub zhangjiaxin@slave1:/home/zhangjiaxin/.ssh/id_rsa.pub.acat id_rsa.pub.a >> /home/hadoop/.ssh/authorized_keys
rm id_rsa.pub.a
4.测试 ssh slave1 查看是否需要密码 如果失败则查看是否是权限问题 用chmod 600 ~/.ssh/authorized_keys命令来赋予600权限
五.上传Hadoop和jdk安装包到Linux
1.打开winscp在右侧Linux里创建文件夹 本人以test为例,并将两个安装包上传进去并解压
2.解压成功后为了以后使用时方便我们来为这两个文件夹建立链接 :ln -s hadoop-2.7.3 hadoop ln -s jdk1.8.0_121 jdk
ll查看如下图则成功:
六.配置环境变量 JAVA_HOME HADOOP_HOME
1.vim ~/.bashrc 配置环境变量
2.测试 java -version hadoop version(注意hadoop中间没有横杠)如下图则配置成功
3.将配置好的内容发送给另外两个节点:scp ~/.bashrc zhangjiaxin@slave1:~/.bashrc
7.hadoop的配置
配置文件在刚刚解压完的hadoop里etc文件下 以我的举例 :cd /home/zhangjiaxin/test/hadoop/etc/hadoop
1.core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://master/</value> (这里是主节点名称)
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/zhangjiaxin/test/hadoop/dfs</value>(这里指上传HDFS后在本地的文件路径)
</property>
2.hdfs-site.xml
<!--配置hdfs数据块的副本数-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
3.mapred-site.xml
<!--配置mapreduce由yarn进行管理-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
4.yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--配置resourcemanager的主机-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
5.slaves:增加另外两个节点名slave1,slave2即可
完成之后发送给另外两个节点:scp -r /home/zhangjiaxin/test/ zhangjiaxin@slave1:/home/zhangjiaxin/(因为这里我刚刚没有给另外两个节点安装jdk与hadoop 所以这里把配置好的给他们发送过去)
回到主节点格式化 hdfs:hdfs namenode -format 如下图则成功
8.安装基本完成了剩下的就只是测试了
命令:start-all.sh
jps查看当前任务数:
master显示:NameNode ,SecondaryNameNode ,DataNode
slave1显示:NodeManager DataNode
slave2显示:NodeManager DataNode
查看yarn管理器 端口:8088
查看HDFS 端口50070
如上图那么恭喜你成功了!