Hadoop 全分布配置还算蛮详细的步骤整理

Fedora下的Hadoop 全分布配置详细步骤整理

当前配置环境:虚拟机:vmware workstation 11

系统:fedora  (其实fedora和ubuntu操作步骤一模一样,就是在给新建用户分配权限那一步有点不一样之外)

 一台从机

fedora中已安装jdk1.8.0_11hadoop-1.2.1,并已配置环境变量

正式开始前,可以先拍摄快照或者压缩fedora进行备份,本人觉得这是个好习惯)

安装步骤:

1、安装虚拟机系统,本人是将之前安装好的进行了克隆)

2.修改各个虚拟机的hostname和host

3.创建用户组和统一用户

4、配置虚拟机网络,使虚拟机系统之间以及和host主机之间可以通过相互ping通。

5.安装jdk和配置环境变量,检查是否配置成功(此步由于之前已经配置过就不详细赘述了)

6、配置ssh实现节点间的无密码登录 ssh node1指令验证时候成功

7、主机master配置hadoop,再将hadoop文件copy到node1节点

8、配置环境变量,并启动hadoop,检查是否安装成功

接下来的(1-6)操作在主机从机都要进行:

1修改各个虚拟机的hostname

gedit /etc/hostname

主机 master  

从机一台 node1 

2修改各个虚拟机的hosts

gedit /etc/hosts

gedit编辑器中填入当前ip地址(注意ip地址每断网一次若新连接网络则会变化,若变了则在此处改为相应的最新ip地址。/sbin/Ifconfig-a 查询ip地址),

10.10.31.115 master

10.10.31.126 node1

3

groupadd group

建组 假如名叫group   

useradd grid

建统一用户 假如名叫grid   

 Hadoop 全分布配置还算蛮详细的步骤整理

设置新用户grid 的密码:

passwd grid

【此处我拍摄了快照】

注:删除新建的用户可用

Hadoop 全分布配置还算蛮详细的步骤整理

 

(4)

设置管理权限

sudo gedit /etc/sudoers

按回车键后就会打开/etc/sudoers文件了,给hadoop用户赋予root用户同样的权限

找到root  ALL=(ALL:ALL)  ALL在其下添加

grid  ALL=(ALL:ALL)  ALL

 

5

重启虚拟机,并用grid用户登陆

输入命令

/sbin/ifconfig -a

确认ip地址未改变,ping

在主机输入

ping node1

或者

ping 当前node1ip

 Hadoop 全分布配置还算蛮详细的步骤整理

(6)配置ssh,实现节点间的无密码登录

大部分的linux中都已经安装好ssh,可输入命令查询:

which ssh   //查路径

 Hadoop 全分布配置还算蛮详细的步骤整理

配置可以无密码登陆本机:

首先查看在grid用户根目录下查看是否存在.ssh这个隐藏的文件夹(注意ssh前面有“.”),输入命令:

ls a /home/grid

 Hadoop 全分布配置还算蛮详细的步骤整理

接下来,输入命令,生成**:(此处rsa有可能是dsa,取决于你的虚拟机系统的算法)

ssh-****** -t rsa

注:查看算法的命令:(.ssh文件下)

 Hadoop 全分布配置还算蛮详细的步骤整理

输入之后一直选择enter即可,生成的**位于 ~/.ssh文件夹下。可用cd 命令进入查看。

接下来的操作仅在主机master上进行:

(7)master上,导入authorized_keys

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

(8)远程无密码登录(master上的.ssh整个文件拷贝到从机node1的相应目录下)

#进入master.ssh目录,执行复制操作(此步要求先在node1从机上新建一个空的.ssh文件

scp * [email protected]:~/.ssh/

下一步操作在主机-从机同时进行:

9)修改各台主机上authorized_keys文件的权限:

所有机器上,均执行命令:

chmod 644 .ssh/authorized_keys

完成之后,master主机上执行下面操作,检查免密码登录是否成功:

ssh node1

 Hadoop 全分布配置还算蛮详细的步骤整理

node1从机上执行下面操作,检查免密码登录是否成功:

ssh master

(10)仅在master主机上

配置hadoop

配置文件:如下图圈出的文件(文件都在/usr/hadoop/conf中)

cd /usr/hadoop/conf

ls 

 Hadoop 全分布配置还算蛮详细的步骤整理

conf目录下依次操作:

sudo vim core-site.xml

 Hadoop 全分布配置还算蛮详细的步骤整理

sudo vim mapred-site.xml

 Hadoop 全分布配置还算蛮详细的步骤整理

sudo vim hdfs-site.xml  

//注意此处的2表示这个机群有两台机器,若有三台则改为3

 Hadoop 全分布配置还算蛮详细的步骤整理

sudo vim hadoop-env.sh

 Hadoop 全分布配置还算蛮详细的步骤整理

sudo vim masters

masters里将内容改为 master

sudo vim slaves

slaves 里将内容改为 node1

(11)在主机上操作:

将配置好的hadoop传输到node1 的根目录

scp -r /usr/hadoop @node1:/

12)分别在主机master,从机 node1进入hadoop安装目录

bin/hadoop namenode -format   //正式启动前,格式化hadoop

sbin/start-all.sh  //全部开始

启动后输入

sudo jps   //查看进程

看到下面的结果,则表示成功:

主机:

 Hadoop 全分布配置还算蛮详细的步骤整理

从机:

 Hadoop 全分布配置还算蛮详细的步骤整理

至此,全分布配置完成。  

本人属于菜鸟一类,是个非常新的新手,还在入门的边缘,此次配置全分布遇到了无数个问题,基本上是步步出错,还好有班里大神帮助,在此道一声感谢。因此特意在成功之后,将整个步骤详细整理了一遍,并注明了可能容易出的错误,若诸位路过时发现有误之处欢迎指正,谢谢~

吴言

2018/4/26

配置全分布有感......