Hadoop完全分布式环境搭建

ps:本人是按照尚硅谷的教程搭建的,版本hadoop2.7,centos版本6,一台主机,两台从机。

一.版本问题
1.尽量使用hadoop版本2,尽量不要使用最新版本3。因为会出现无法解决的问题,老师和网上给的配置方案基本都是基于hadoop2.6或hadoop2.7,所有用hadoop3在群起集群时会出现问题。

二.虚拟机准备工作

1.关闭虚拟机防火墙,以免出现因防火墙出现的问题(比如后面时间同步时):

查看防火墙状态:service iptables status

永久关闭防火墙:chkconfig iptables off (重启后生效)

2.设置静态IP

需查看自己VM的虚拟网络net8的IP地址以及网关。(重启后生效)

hadoop 解决方案 hadoop主要解决的问题_重启


hadoop 解决方案 hadoop主要解决的问题_hadoop_02

3.修改主机名,添加主机名与IP的映射。映射后可以直接ping主机名。(重启后生效)

查看hosts(W / L)

C:\Windows\system32\drivers\etc hosts

如果没做,cmd不能直接ping 主机名;Web访问不能直接用主机名。

hadoop 解决方案 hadoop主要解决的问题_大数据_03

4.安装配置jdk、hadoop;
(1).可以把虚拟机默认的jdk卸载。

hadoop 解决方案 hadoop主要解决的问题_hadoop 解决方案_04

(2). 解压完后,修改jdk,hadoop文件名,方便环境变量配置(多出使用)。
mv 原文件名 新文件名

5.安装Xshell,无法上传文件到Linux:
(输入rz命令无响应)
安装lrzsz方便两个不同系统上传(rz)、下载(sz)文件:
yum provides */rz
yum install -y lrzsz

6.克隆3台机器:(克隆后不能马上使用这三台机器)

修改内容:

(1)vim /etc/udev/rules.d/70-persistent-net.rules

dd删除

hadoop 解决方案 hadoop主要解决的问题_hadoop_05

shift+$,改eth1为eth0

hadoop 解决方案 hadoop主要解决的问题_重启_06

复制地址

hadoop 解决方案 hadoop主要解决的问题_hadoop 解决方案_07

注意:service network restart

(2)vim /etc/sysconfig/network-scripts/ifcfg-eth0

粘贴HWADDR

修改IPADDR为本机地址

hadoop 解决方案 hadoop主要解决的问题_hadoop 解决方案_08

(3)vim /etc/sysconfig/network

修改主机名

hadoop 解决方案 hadoop主要解决的问题_hadoop 解决方案_09

查看hosts(W / L)

注意:重启生效(reboot)

二.集群配置
1.忘记拷贝配置文件
方法一:scp(secure copy)安全拷贝:scp可以实现服务器与服务器之间的数据拷贝
拷贝hadoop安装文件到集群slave节点
scp -r /usr/local/hadoop-2.6.5 slave1:/usr/local
scp -r /usr/local/hadoop-2.6.5 slave2:/usr/local
scp -r /usr/local/hadoop-2.6.5 slave3:/usr/local

方法二. 在主机上编写xsync集群分发脚本:

(1)解决集群文件配置的一致性。

需求:循环复制文件到所有节点的相同目录下,可以同步所有结点的文件。

方便修改,不用挨个去改(比如将NameNode等分开放)。

(2)创建脚本:

在/home目录下创建bin目录,并在bin目录下xsync创建文件

hadoop 解决方案 hadoop主要解决的问题_hadoop 解决方案_10


hadoop 解决方案 hadoop主要解决的问题_主机名_11

(3)修改权限:
chmod 777 xsync

2.多次格式化NameNode导致NameNode和DataNode进程不能同时工作:
格式化NameNode,会产生新的集群id,导致 DateNode的集群id不一致,集群找不到以往数据。所以,第二次格式NameNode时,一定要先删除data数据和log日志,然后再格式化NameNode。

3.SSH没有配置好。

所有机器都要拷贝,拷贝后生成Authorized_keys(授权keys)文件,因为只要需要判断要不要密码,都会去找Authorized_keys文件。

hadoop 解决方案 hadoop主要解决的问题_重启_12

4.配置文件修改不仔细。

四.启动集群
1.jps不生效。
原因:全局变量hadoop、java没有生效。解决办法:需要source /etc/profile文件。
2.(个别机器)start(stop)-all.sh 无法启动Recesourmanager
修改:start(stop)-yarn.sh
将daemon加s

五.Web端口
1.hadoop版本3端口为:9870
2.hadoop版本2端口为:50070