虚拟机的创建(可以自行百度)

虚拟机静态网络的设置

1:首先更改虚拟机的名字

hostnamectl  set-hostname hadoop2

2:进入network配置文件夹中,配置你的虚拟网卡

cd /etc/sysconfig/network-scripts/

vim ifcfg-ens33

为什么hadoop是3副本 hadoop为什么需要三台_为什么hadoop是3副本

3:在系统原来的配置上,改
BOOTPROTO=static

ONBOOT=yes

4:添加配置(记得和你的相应配置相对应)
IPADDR=192.168.72.100
NETMASK=255.255.255.0
GATEWAY=192.168.72.2
DNS1=8.8.4.4

5:下面就有一些长得比较帅的小同学问了,上面这些东西我从哪里来呢?,别着急,这就一步一步告诉你

首先,打开vmware,点击编辑,

为什么hadoop是3副本 hadoop为什么需要三台_xml_02


点击虚拟网络编辑器

为什么hadoop是3副本 hadoop为什么需要三台_大数据_03

点击vMent8,再点击net设置即可

为什么hadoop是3副本 hadoop为什么需要三台_大数据_04

IPADDR 代表你的新的ip
NETMASK 代表子网掩码
GATEWAY 你的网关
DNS1 你的 DNS(默认填写8.8.8.8)

为什么hadoop是3副本 hadoop为什么需要三台_java_05


配置好网络之后,记得重启网络服务

service network restart

为什么hadoop是3副本 hadoop为什么需要三台_hadoop_06


尝试ping百度

ping www.baidu.com

为什么hadoop是3副本 hadoop为什么需要三台_xml_07

最后使用yum源安装你的vim,让你的字体拥有颜色

yum -y install vim

xshell连接你的虚拟机,xftp传入hadoop和java的安装包

**xshell连接虚拟机不再过多介绍,

为什么hadoop是3副本 hadoop为什么需要三台_为什么hadoop是3副本_08


为什么hadoop是3副本 hadoop为什么需要三台_hadoop_09


为什么hadoop是3副本 hadoop为什么需要三台_大数据_10

开始解压java和hadoop的安装包

cd ~

为什么hadoop是3副本 hadoop为什么需要三台_xml_11

在虚拟机opt目录下soft文件夹再在soft文件夹下创建java和hadoop文件夹

为什么hadoop是3副本 hadoop为什么需要三台_大数据_12

cd ~

解压javaJDK到opt目录的java目录

tar -zxvf jdk-8u261-linux-x64.tar.gz -C /opt/soft/java/

为什么hadoop是3副本 hadoop为什么需要三台_xml_13


解压hadoop到opt下的hadoop目录下

tar -zxvf hadoop-2.7.7.tar.gz -C /opt/soft/hadoop/

为什么hadoop是3副本 hadoop为什么需要三台_java_14


查看是否解压成功

将Hadoop添加到环境变量

获取 Hadoop 安装路径

为什么hadoop是3副本 hadoop为什么需要三台_hadoop_15

打开/etc/profile 文件

为什么hadoop是3副本 hadoop为什么需要三台_大数据_16

在 profile 文件末尾添加 JDK 路径:(shitf+g)

##HADOOP_HOME
export HADOOP_HOME=/opt/soft/hadoop/hadoop-2.7.7
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

将Java添加到环境变量

获取java安装环境

为什么hadoop是3副本 hadoop为什么需要三台_xml_17

打开/etc/profile 文件

为什么hadoop是3副本 hadoop为什么需要三台_大数据_16


在 profile 文件末尾添加 JDK 路径

#JAVA_HOME
export JAVA_HOME=/opt/soft/jdk/jdk1.8.0_261
export PATH=$PATH:$JAVA_HOME/bin

退出保存后让配置生效

source /etc/profile

为什么hadoop是3副本 hadoop为什么需要三台_xml_19

测试Java环境和Hadoop环境

Java测试

为什么hadoop是3副本 hadoop为什么需要三台_hadoop_20


hadoop测试

hadoop version

为什么hadoop是3副本 hadoop为什么需要三台_hadoop_21

开始hadoop完全分布式的搭建

集群规划部署

为什么hadoop是3副本 hadoop为什么需要三台_为什么hadoop是3副本_22


配置集群

首先进入hadoop的相关目录(千万别进错目录了 (0-0))

为什么hadoop是3副本 hadoop为什么需要三台_大数据_23


配置 core-site.xml

vim core-site.xml 
在该文件中编写如下配置

<!-- 指定 HDFS 中 NameNode 的地址 -->
<property>
<name>fs.defaultFS</name>
 <value>hdfs://hadoop102:9000</value>
</property>
<!-- 指定 Hadoop 运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/hadoop-2.7.7/data/tmp</value>
</property>

为什么hadoop是3副本 hadoop为什么需要三台_hadoop_24

配置HDFS 配置文件

配置 hadoop-env.sh
vim hadoop-env.sh

export JAVA_HOME=/opt/java/jdk1.8.0_261

为什么hadoop是3副本 hadoop为什么需要三台_大数据_25

配置 hdfs-site.xml

vi hdfs-site.xml

<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 指定 Hadoop 辅助名称节点主机配置 -->
<property>
 <name>dfs.namenode.secondary.http-address</name>
 <value>hadoop4:50090</value>
</property>

为什么hadoop是3副本 hadoop为什么需要三台_为什么hadoop是3副本_26

**配置 yarn-env.sh

 vim yarn-env.sh**
 
export JAVA_HOME=/opt/java/jdk1.8.0_261

为什么hadoop是3副本 hadoop为什么需要三台_hadoop_27

**配置 yarn-site.xml
vi yarn-site.xml**

在该文件中增加如下配置


<!-- Reducer 获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定 YARN 的 ResourceManager 的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop3</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置 7 天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>

为什么hadoop是3副本 hadoop为什么需要三台_hadoop_28

**MapReduce 配置文件
配置 mapred-env.sh**

 vim mapred-env.sh
 
export JAVA_HOME=/opt/java/jdk1.8.0_261

为什么hadoop是3副本 hadoop为什么需要三台_大数据_29

**配置 mapred-site.xml**

从模板复制一份并改名为 mapred-site.xml

cp mapred-site.xml.template mapred-site.xml

编辑 mapred-site.xml

vi mapred-site.xml
 
在该文件中增加如下配置


<!-- 指定 MR 运行在 Yarn 上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property><!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop2:10020</value>
</property>
<!-- 历史服务器 web 端地址 -->
<property>
 <name>mapreduce.jobhistory.webapp.address</name>
 <value>hadoop2:19888</value>
</property>

为什么hadoop是3副本 hadoop为什么需要三台_java_30

将配置好的虚拟机克隆为三台(如何克隆?不会?别慌!这就来教你)

1:首先,关闭你创建好的虚拟机

shutdown -h now

为什么hadoop是3副本 hadoop为什么需要三台_hadoop_31

2 点击下一步

为什么hadoop是3副本 hadoop为什么需要三台_xml_32


3 点击下一步

为什么hadoop是3副本 hadoop为什么需要三台_xml_33

4:选择完整克隆

为什么hadoop是3副本 hadoop为什么需要三台_java_34

配置另外两台虚拟机的ip和主机名

把已经克隆的两台机子的主机名和ip添加在etc下面的hosts

vim /etc/hosts

添加另外两台的主机名和ip

最后三台虚拟机的hosts内容应当一致

为什么hadoop是3副本 hadoop为什么需要三台_xml_35

配置相关的ssh免密钥登录(为什么要配置ssh免密钥登录)

单节点启动太麻烦!!!

生成公钥和私钥:

ssh-keygen -t rsa

然后敲(三个回车),就会生成两个文件 id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免密登录的目标机器上

ssh-copy-id hadoop2
 ssh-copy-id hadoop3
 ssh-copy-id hadoop4

群起节点最后的准备

配置 slaves

cd /opt/soft/hadoop-2.7.t/etc/hadoop/slaves

编辑salves

vim  slaves

在该文件中增加如下内容:(创建的三台虚拟机都要添加)

hadoop2
hadoop3
hadoop4

为什么hadoop是3副本 hadoop为什么需要三台_为什么hadoop是3副本_36

启动集群

如果集群是第一次启动,需要格式化 NameNode(注意格式化之前,一定要先停
止上次启动的所有 namenode 和 datanode 进程,然后再删除 data 和 log 数据

bin/hdfs namenode -format

为什么hadoop是3副本 hadoop为什么需要三台_大数据_37

在你的主节点上启动dfs上面的查看进程没有启动yarn

start-dfs.sh

为什么hadoop是3副本 hadoop为什么需要三台_hadoop_38

在你配置yarn的机子上启动yarn

start-yarn.sh

为什么hadoop是3副本 hadoop为什么需要三台_xml_39

打开你的浏览器输入ip+端口

为什么hadoop是3副本 hadoop为什么需要三台_hadoop_40