java完全分布式集群搭建

整体搭建规划
hadoop01hadoop02hadoop03
HDFSNameNodeDataNode
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

image-20200924190805334

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

service network restart 
修改主机映射

修改主机名

 hostname  hadoop01

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

vi /etc/sysconfig/network

在映射文件中将HOSTNAME改为hadoop01

image-20200924192945921

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

修改ip映射。

vi /etc/hosts

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

image-20200924193431305

关闭防火墙

关闭防火墙

 service iptables stop 

设置防火墙开机不启动

chkconfig iptables off

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

image-20200924194426271

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

为方便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。改完如下图所示

image-20200924195636104

修改完成后同样得配置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 

image-20200924201342371

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

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

image-20200924201559391

同理,对于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>

image-20200924203156023

修改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>

image-20200924203352049

添加从节点

vi slaves

设置从节点为hadoop02,hadoop03

image-20200924203710006

设置完成后可将刚才的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

image-20200924204653559

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

hadoop01:

image-20200924204706691

hadoop02:

image-20200924204728230

hadoop03

image-20200924204752900

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

image-20200924204903797

出现此页面即搭建成功。

关闭集群

stop-dfs.sh
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值