整体搭建规划

hadoop01

hadoop02

hadoop03

HDFS

NameNode

DataNode

SecondaryNode

DataNode

修改主机IP地址

新建一个虚拟机,修改其IP地址

vi /etc/sysconfig/network-scripts/ifcfg-eth0

将内容修改为

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.91.3
GATEWAY=192.168.91.2
NETMASK=255.255.255.0
DNS1=8.8.8.8

JAVA分布式和集群有什么区别 java分布式集群搭建_hadoop

修改网卡后要重启网络服务,否则修改不生效

service network restart

修改主机映射

修改主机名

hostname  hadoop01

这样改主机名下次开机主机名还是没有修改,所以需要修改主机映射

vi /etc/sysconfig/network

在映射文件中将HOSTNAME改为hadoop01

JAVA分布式和集群有什么区别 java分布式集群搭建_hadoop_02

这里将三个主机的ip映射修改,以后可以直接通过主机名访问。

修改ip映射。

vi /etc/hosts

在文件下方加入三个ip映射。

JAVA分布式和集群有什么区别 java分布式集群搭建_JAVA分布式和集群有什么区别_03

关闭防火墙

关闭防火墙

service iptables stop

设置防火墙开机不启动

chkconfig iptables off

可通过sevice iptables status查看防火墙情况

JAVA分布式和集群有什么区别 java分布式集群搭建_JAVA分布式和集群有什么区别_04

这里提示防火墙未开启,设置成功。

为方便ssh管理,我们需要安装ssh客户端,可以使用

yum -y install openssh-clients.x86_64

安装ssh客户端,等待安装成功即可。

克隆主机

其他两个主机可通过克隆hadoop01主机得到,在vmware中右键虚拟机–>管理–>克隆,分别克隆出hadoop02,hadoop03虚拟主机。

克隆后的主机需要修改网卡配置和ip配置,下面先配置hadoop01,登录hadoop02主机,修改网卡配置

vi /etc/udev/rules.d/70-persistent-net.rules

打开后可看到name分别为eth0和eth1的两条配置,eth0是通过复制上一台主机获得的,这里需要将eth0的那条配置先删除,然后再将剩下的那一条eth1改为eth0。改完如下图所示

JAVA分布式和集群有什么区别 java分布式集群搭建_主机名_05

修改完成后同样得配置ip

修改ip地址

vi /etc/sysconfig/network-scripts/ifcfg-eth0

需将里面的HWADDR和UUID去掉,再将IPADDR的值改为192.168.91.4

修改完成后记得使用service network restart ,然后重启虚拟机,重启后可用ipconfig命令查看是否修改成功。

同理修改hadoop03主机的的网卡配置和ip配置。

设置ssh免密登录

设置ssh方便使三台主机随意相互访问。首先打开hadoop01主机,先用命令生成秘钥对

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

JAVA分布式和集群有什么区别 java分布式集群搭建_主机名_06

生成秘钥对后需要分别将秘钥发送给自己,hadoop02,hadoop03。

ssh-copy-id hadoop01 
ssh-copy-id hadoop02
ssh-copy-id hadoop03

JAVA分布式和集群有什么区别 java分布式集群搭建_hadoop_07

同理,对于hadoop02,hadoop03,都是先生成秘钥对,再分别发给包括自己的三个主机。

设置成功后,以hadoop01为例,可以通过

ssh root@hadoop02
ssh root@hadoop03

分别登陆其他两台主机。

hadoop和jdk配置

在opt文件夹下创建software文件夹,通过文件上传工具将jdk,hadoop安装包上传到/opt/software下解压

tar -zxvf /opt/software/hadoop-2.7.1.tar.gz
tar -zxvf /opt/software/jdk-8u60-linux-x64.gz

配置环境变量

vi /etc/profile

将下面三段代码粘贴至配置文件即可。

export JAVA_HOME=/opt/software/jdk1.8.0_60
export HADOOP_HOME=/opt/software/hadoop-2.7.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sh9OmwOO-1600952250112)(https://i.loli.net/2020/09/24/GA2EOuwkPiVvSsJ.png)]

配置完成使用

source /etc/profile

使配置文件生效

修改 hadoop-env.sh

修改core-site.xml内容

将下面代码粘贴到configuration标签内

<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/hadoop/data</value>
</property>

JAVA分布式和集群有什么区别 java分布式集群搭建_JAVA_08

修改hdfs-site.xml

vi hdfs-site.xml

将下面内容放进configuration标签内

<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name> <value>hadoop02:50090</value>
</property>

JAVA分布式和集群有什么区别 java分布式集群搭建_主机名_09

添加从节点

vi slaves

设置从节点为hadoop02,hadoop03

JAVA分布式和集群有什么区别 java分布式集群搭建_hadoop_10

设置完成后可将刚才的hadoop和jdk安装包分发到hadoop02,hadoop03上面,可以使用scp将文件安全拷贝到另外两台主机。

scp -r /opt/software/hadoop-2.7.1/ hadoop02:/opt/software/
scp -r /opt/software/hadoop-2.7.1/ hadoop03:/opt/software/
scp -r /opt/software/jdk1.8.0_60/ hadoop02:/opt/software/
scp -r /opt/software/jdk1.8.0_60/ hadoop03:/opt/software/

拷贝完成后修改02,03机器上vi /etc/profifile文件并配置HADOOP_HOME,JAVA_HOME

export JAVA_HOME=/opt/software/jdk1.8.0_60
export HADOOP_HOME=/opt/software/hadoop-2.7.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:

使文件生效source /etc/profile

格式化namenode

三台主机配置完成后需要在hadoop01上格式化,注意不要频繁格式化,格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。所以,格式NameNode时,一定要先删除data数据和log日志,然后再格式化NameNode。

hdfs namenode -format

开启集群

.start-dfs.sh

JAVA分布式和集群有什么区别 java分布式集群搭建_主机名_11

开启集群后可分别在三台主机使用jps命令查看启动状态

hadoop01:

JAVA分布式和集群有什么区别 java分布式集群搭建_hadoop_12

hadoop02:

JAVA分布式和集群有什么区别 java分布式集群搭建_JAVA分布式和集群有什么区别_13

hadoop03

JAVA分布式和集群有什么区别 java分布式集群搭建_主机名_14

登录http://hadoop01:50070/ 访问webui

JAVA分布式和集群有什么区别 java分布式集群搭建_主机名_15

出现此页面即搭建成功。

关闭集群

stop-dfs.sh