Hadoop从零开始搭建完全分布式

简介:

由三个或以上实体机或虚拟机组成的集群。

准备:

1.hadoop2.7.2版本
2.jdk8版本
3.vmware

一、创建虚拟机及相关配置

1.创建虚拟机


一路下一步,选择已有centos7镜像

这里我取名为hadoop01

选择NAT网络模式

设置相关硬件


然后等待创建(中间空的步骤均使用默认)


开始安装:
设置root密码和创建一个用户

等待安装完成

2.查看ip并修改主机名以及配置映射

(1)查看并修改ip
我将这一台的ip设为192.168.17.134

1
2
3
cd /etc/sysconfig/network-scripts/
vim vi ifcfg-ens33
#这个配置每个人都可能不一样,进去修改

将原来的完全替换(灵活修改name和device)

1
2
3
4
5
6
7
8
9
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.17.134
NETMASK=255.255.255.0
GATEWAY=192.168.17.2
DNS1=8.8.8.8

重启reboot
ping www.baidu.com查看网络是否通

永久关闭防火墙:

1
2
systemctl stop firewalld
systemctl disable firewalld

这里我使用的secureCRT连接我的虚拟机。
(2)修改主机名

1
2
vi /etc/hostname
修改为hadoop01

(3)配置ip映射
预计后面两台虚拟机的ip分别是192.168.17.135和192.168.17.136
有以下关系

主机 ip
hadoop01 192.168.17.134
hadoop02 192.168.17.135
hadoop03 192.168.17.134
1
2
3
4
5
6
vi /etc/hosts
#
127.0.0.1 localhost
192.168.17.134 hadoop01
192.168.17.135 hadoop02
192.168.17.136 hadoop03

重启reboot

3.上传hadoop和jdk并配置环境变量

(1)安装ftp

安装ftp

1
yum -y install vsftpd lftp ftp

(2)上传
这里我使用的是xftp6工具
上传相关包

然后创建相关目录并解压
我在根目录下创建software

1
mkdir /software

将hadoop和jdk解压并重命名放在其下。(解压移动重命名基础过程省略)

(3)配置环境变量

1
vi /etc/profile

在后面添加

1
2
3
4
5
export JAVA_HOME=/software/jdk1.8
export HADOOP_HOME=/software/hadoop2.7.2
PATH=$PATH:$JAVA_HOME/bin
PATH=$PATH:$HADOOP_HOME/bin
PATH=$PATH:$HADOOP_HOME/sbin

刷新生效

1
source /etc/profile

检测

1
echo $PATH

3.修改hadoop配置文件
1
cd /software/hadoop2.7.2/etc/hadoop/

vi修改,以下xml文件修改在configuration标签内
1.core-site.xml

1
2
3
4
5
6
7
8
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/software/hadoop2.7.2/data/tmp</value>
</property>

2.hadoop-env.sh

1
export JAVA_HOME=/software/jdk1.8

3.hdfs-site.xml

1
2
3
4
5
6
7
8
<property>
<name>dfs.replication</name>
<value>3</balue>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop03:50090</value>
</property>

4.slavs

配置datanode节点的ip,每个占一行,不能出现多余的空格和换行行

1
2
3
192.168.17.134
192.168.17.135
192.168.17.136

5.yarn-env.sh

1
export JAVA_HOME=/software/jdk1.8

6.yarn-site.xml

1
2
3
4
5
6
7
8
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop02</value>
</property>

7.mapre-env.sh

1
export $JAVA_HOME=/software/jdk1.8

8.mapred-site.xml
将mapred-site.xml.template重命名

1
2
3
4
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

至此,一台配置完成,紧接着克隆出两台一模一样的

二、克隆并配置

1.克隆

首先关机刚刚虚拟机

下一步,创建完整克隆

更名为hadoop02。
以此方法克隆出hadoop03。

2.修改配置

(1)分别修改主机名和ip
hadoop02 192.168.17.135
hadoop03 192.168.17.136
(2)重启reboot

3.创建免密登录

三台机器都执行ssh-keygen -t rsa,一路回车
cd ~/.ssh 查看

再分别执行

1
2
3
ssh-copy-id hadoop01
ssh-copy-id hadoop02
ssh-copy-id hadoop03

检测

1
2
ssh hadoop02
ssh hadoop03

二、启动集群

1.启动

(1)格式化namenode
在hadoop01上

1
hdfs namenode -format

(2)启动NameNode和DataNode(在hadoop01上)

1
start-dfs.sh

(3)启动ResourceManager和NodeMananger(在hadoop02上)

1
start-yarn.sh

2.检测

(1)jps检测

(2)登录web 192.168.17.134:50070

三、测试

1.创建并上传hdfs测试文本

(1)本地通过vi创建了一个wz.txt,并编辑文本

(2)上传到hdfs上
创建输入文件夹

1
hadoop fs -mkdir -p /data/input

将wz.txt上传

1
hadoop fs -put /root/wz.txt /data/input

查看

1
hadoop fs -cat /data/input/wz.txt

2.执行官网测试wordcount

输出文件夹事先不能有!

1
hadoop jar /software/hadoop2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /data/input /data/output

中间部分过程


执行完成
查看输出文件夹

1
hadoop fs -ls /data/output/


其中part-r-00000便是输出结果
查看:

1
hadoop fs -cat /data/output/part-r-00000

也可以通过192.168.17.134:50070查看

点进data——output

点击part-r-00000

下载这块,如果想点击下载,需要在你本机上配置ip映射(或者点击下载后吧url上的hadoop02换成192.168.17.135也是可以的=-=)

win10上ip映射文件位置




==至此,完全分布式搭建成功!==

-------------本文结束感谢您的阅读-------------
王泽 wechat
扫一扫添加微信好友
0%