一、需求
公司线上运行有hadoop1.0和hadoop2.0,由于hadoop1.0没有处理jobtracker失败机制,它是一个单点故障,但业务还是以1.0为主,会慢慢过渡到2.0。以下我将以公司目前环境把写1.0部署步聚写出来
二、知识点储备
1、hadoop中NameNode、DataNode、Secondary、NameNode、JobTracker TaskTracker介绍
http://zouqingyun.blog.51cto.com/782246/1656353
2、Hadoop的配置文件:
hadoop-env.sh:
用于定义hadoop运行环境相关的配置信息,比如配置JAVA_HOME环境变量、为hadoop的JVM指定特定的选项、指定日志文件所在的目录路径以及master和slave文件的位置等;
core-site.xml: 用于定义系统级别的参数,如HDFS URL、Hadoop的临时目录以及用于rack-aware集群中的配置文件的配置等,此中的参数定义会覆盖core-default.xml文件中的默认配置;
hdfs-site.xml: HDFS的相关设定,如文件副本的个数、块大小及是否使用强制权限等,此中的参数定义会覆盖hdfs-default.xml文件中的默认配置;
mapred-site.xml:HDFS的相关设定,如reduce任务的默认个数、任务所能够使用内存的默认上下限等,此中的参数定义会覆盖mapred-default.xml文件中的默认配置;
masters: hadoop的secondary-masters主机列表,当启动Hadoop时,其会在当前主机上启动NameNode和JobTracker,然后通过SSH连接此文件中的主机以作为备用NameNode;
slaves:Hadoop集群的slave主机列表,master启动时会通过SSH连接至此列表中的所有主机并为其启动DataNode和taskTracker进程;
三、基本环境准备
1、机器
IP地址 主机名 扮演的角色 10.1.2.214 master NameNode,JobTracker 10.1.2.215 slave-one DataNode,TaskTracker 10.1.2.216 slave-two SecondaryNameNode,DataNode和TaskTrakcer
2、关闭3台所有防火墙
service iptables stop
3、集群环境,时间同步很重要
master
启动ntpd服务
[root@master ~]# service ntpd start 正在启动 ntpd: [确定]
添加定时网络时间服务器
[root@master ~]# crontab -e no crontab for root - using an empty one 30 * * * * /usr/sbin/ntpdate ntp.sjtu.edu.cn > /dev/null 2>&1
slave-one
[root@slave-one ~]# crontab -l 10 * * * * /usr/sbin/ntpdate 10.1.2.214 >/dev/null 2>&1
slave-two
[root@slave-twon ~]# crontab -l 10 * * * * /usr/sbin/ntpdate 10.1.2.214 >/dev/null 2>&1
4、三台主机hosts要对应
[root@master ~]# vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.1.2.214 master 10.1.2.215 slave-one 10.1.2.216 slave-two
5、安全起见,运行Hadoop需要以普通用户的身份进行,因此,接下来先建立运行hadoop进程的用户hadoop并给其设定密码。其他两台也一样
[root@master ~]# vim /etc/hosts [root@master ~]# groupadd hadoop [root@master ~]# useradd -g hadoop hadoop [root@master ~]# echo "123456" | passwd --stdin hadoop
6、配置hadoop用户能够以基于密钥的验正方式登录本地主机,以便Hadoop可远程启动各节点上的Hadoop进程并执行监控等额外的管理工作。
[root@master ~]# su hadoop [hadoop@master ~]$ ssh-keygen -t rsa -P ‘‘ [hadoop@master ~]$ ssh-copy-id -i .ssh/id_rsa.pub hadoop@10.1.2.215 [hadoop@master ~]$ ssh-copy-id -i .ssh/id_rsa.pub hadoop@10.1.2.216
7、
本文出自 “散人” 博客,请务必保留此出处http://zouqingyun.blog.51cto.com/782246/1732659
原文地址:http://zouqingyun.blog.51cto.com/782246/1732659