hadoop 1.2.1 虚拟机centOS 安装过程(分布式)

之前写过一篇hadoop 伪分布式模式 , 主要用于学习之用 , 毕竟这个技术要真正的落实到工作上,很多配置不亲手写下, 很难消化过来, 今天特意搭建一下, 并写下来作以后查看;

 

说下搭建的环境 (3台机器, 1台 master, 2 台slaver): 

1. centos 5.8 64位 ; 

2. hadoop 版本 : 1.2.1 , 目前hadoop1中最新且毕竟稳定的

3. jdk : 1.6 , 必须64位的

 

因前面写过一篇伪分布式,这里主要详细说下不同的地方:

下面的操作只需要在其中一台机子操作, 然后直接拷贝整个虚拟机,作为其他2台

1. 安装centos系统到虚拟机 ,  root 用户下 配置IP地址, hostname , DNS域名绑定 , 关闭防火墙(因对这块暂时不了解,先全部关闭) , 这些基本操作和伪分布式是一样的;

2. 安装jdk , 配置环境变量 , 同样参考其他;

3. 安装hadoop(普通用户) , 这里有个注意的地方, 就是你要以什么用户角色去操作hadoop , 是以普通用户还是root用户, 在实际的工作中 , root账户账号只有管理人员才会有,其他都是使用普通用户去搭建环境 , 这样可以保证系统的管理和安全性 , 下面我都是以普通用户的角色去操作hadoop , 当然你要用root用户也行 , 这样就不用管什么权限的问题:

3.1 解压hadoop到用户的home目录下,比如我的是/home/hadoop , 这里不能解压到其他地方,因为其他普通用户没有权限去写或执行 , 只有读的权限 , 不是后面启动会报错;

3.2 现在的目录是/home/hadoop/hadoop1.2.1 , 可以重名名一下/home/hadoop/hadoop, OK之后配置hadoop的环境变量, 这里需要切换到root下才能修改/etc/profile , 完后source 文件;

3.3 hadoop配置文件修改: 这里的配置和伪分布基本一样,修改一个文件hdfs-site.xml

1. hadoop-env.sh

2. core-site.xml

3. hdfs-site.xml

    修改其dfs.replication 的value为2 即可, 因为有2个副本

4. mapred-site.xml

 

3.4 设置master/slaver 节点:

       1. 修改master文件: 清空并加入master的主机名, 比如我是hadoop1;

       2. 修改slaver文件(salver机子可不配置): 清空并加入slaver的主机名,比如hadoop2

                                                                                      hadoop3

4. 好了, 3台机子相同的部分已经配置完毕, 现在讲虚拟机完全拷贝一个单独的虚拟机, 

下面的操作的在3台机子都必须同时做对应的修改 (普通用户下):

4.1 肯定先将IP地址配置好了, 加上3台机子的DNS绑定, hostname等 ;

4.2 相互ping下3台机子是否连通 , ping IP还有主机名;

4.3 SSH 免密码登录, 是在~/.ssh目录下:

       1. 3台机子执行ssh-keygen -t rsa , 生成公密钥;

       2. 将3台机子的密钥文件id_rsa.pub文件合并成一个文件 , 并重命名为authorized_keys , 修改其权限为700, 就是给当前用户增加执行的权限 , 不然后面启动会有提示要输入"yes/no"; 这个文件同时存在3台机子中;

 

5. OK, 这里的全部最基本配置已经完成了,下面可以启动hadoop了

5.1 格式化Master机子 , 只需在其执行就行 : hadoop namenode -format , 提示成功可以启动;

5. start-all.sh , 也只需要在master执行一次即可 , 这里的启动后和伪分布式不一样,因为伪分布只有一台机子,所以 进程都在一台机子上, 真正的分布式 , master机子的进程有:NameNode , SeconderNameNode , JobTracker 3个;

Slaver机子的进程有 : DataNode , TaskTracker 2个, 这里非常好理解的 ; 后面的hadoop命名操作就和之前一模一样了

 

完毕了, 其实搭建过伪分布式, 真的分布式也不是很困难 , 我搭建的时候主要是遇到了权限的问题 , 困扰了一下 , 同样也增加我对linux和hadoop的理解, 有得有失 ,  上面就还有一个防火墙要了解处理 , 大家百度下应该没问题.

 

 

 

 

你可能感兴趣的:(centos)