文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

使用两台Centos7系统搭建Hadoop-3.1.4完全分布式集群

2024-12-03 07:30

关注

Hadoop集群

大数据是基于集群的分布式系统。所谓集群是指一组独立的计算机系统构成的一多处理器系统,它们之间通过网络实现进程间的通信,让若干台计算机联合起来工作(服务),可以是并行的,也可以是做备份。

Hadoop介绍

Hadoop是Apache旗下的一个用Java语言实现开源软件框架,是一个存储和计算大规模数据的软件平台。

Hadoop是Apache Lucene创始人 Doug Cutting 创建的,最早起源一个Nutch项目。

目前,Hadoop发行版本分为开源社区版和商业版。

开源社区版本:一般使用2.x版本系列,3.x版本系列:该版本是最新版本,但是还不太稳定。

废话不说了,开始今天的主题:使用三台Centos7系统搭建Hadoop2.X完全分布式集群

去年使用CentOS 7搭建了hadoop3.X分布式集群,由于换了电脑,考虑到电脑安装了很多前其他的东西,这次是使用二台Centos7系统搭建Hadoop完全分布式集群,虽然Centos更新到8版本,但是很多大数据学习都是选择基于Centos7系统搭建。这里不搭建一台的伪分布式,搭建的版本是目前Haddop3.X稳定的Hadoop-3.1.4。

去年对应的文章教程:

集群搭建前的准备

Centos7的下载地址:http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso。共4.8g。

在集群搭建前的准备,需要在VMwear Workstation搭建一个Centos7系统,关于搭建过程,由于简单,这里直接省略。

在通过物理机连接虚拟机的时候,需要有VMnet1和VMnet8两个虚拟网卡。

如果安装Vmware没有VMnet1和VMnet8,据我以前踩的坑,网上说安装cclear软件包进行注册表的删除,那是不断删除下载Vmware,并没有解决问题,最终采用系统刷机的办法,得以解决。

因此,搭建虚拟机的前提是,本地主机必须有虚拟本地环境,不然你怎么搞都是白搭。

 

在这里插入图片描述

在此,就可以实现本地ping通虚拟机的IP,实现本地和虚拟机的信息连接。

这样,就可以通过xshell对centos7进行远程的连接。

在第一次使用Centos7,需要对创建的用户提供管理员的权限,因此需要使用root账号进行相关的修改,防止出现node01 不在 sudoers 文件中。此事将被报告。的报错。

使 用 :wq! 保存退出、

如果远程连接失败,应该没有开发端口和IP地址。需要设置sudo vim /etc/ssh/sshd_config

设置静态ip

设置静态ip,通过ifconfig

重启网卡

配置阿里云yum源

一开始下载速度很慢,需要配置阿里云yum源,下面来源官方文档,使用的是root账号。

  1. #配置阿里云yum源 
  2. yum install -y wget 
  3. cd  /etc/yum.repos.d/ 
  4. mv  CentOS-Base.repo CentOS-Base.repo.bak 
  5. wget  http://mirrors.aliyun.com/repo/Centos-7.repo 
  6. mv Centos-7.repo CentOS-Base.repo 
  7. #配置epel源 
  8. wget https://mirrors.aliyun.com/repo/epel-7.repo 
  9. #清除缓存并更新 
  10. yum clean all 
  11. yum makecache 
  12. yum update 

安装JDK

由于 hadoop 框架的启动是依赖 java 环境,因此需要准备 jdk 环境。目前,OpenJDK 和 Oracle Java 是最主要的两个 Java 实现。卸载Linux系统原有jdkOpenJDK,然后安装Oracle Java。

具体博客:https://blog.csdn.net/weixin_44510615/article/details/104425843

克隆一个虚拟机

并通过设置静态分别为192.168.147.129,并将三台Centos7主机名分别设置node01和node02,区别centos7机器。

之前创建用户名使用node01,发现自己搞错了,于是把两个主机的用户名都设置为hadoop。

关于Centos7修改用户名:[root@node01 ~]# usermod -l hadoop -d /home/hadoop -m node01。

自此我们有两台Centos电脑,在hadoop集群不使用root账号。

xshell均可连接成功。

 

配置ssh免密码登录

  1. [root@node01 ~]# vim /etc/sysconfig/network 
  2. ######### 
  3. HOSTNAME=node01 
  4. [root@node01 ~]# vim /etc/hosts 
  5. ######### 
  6. 192.168.147.128 node01 
  7. 192.168.147.129 node02 
  8.  
  9. [root@node01 ~]# systemctl stop firewalld 
  10. [root@node01 ~]# systemctl disable firewalld.service 
  11.  
  12. [root@node02 ~]# vim /etc/sysconfig/network 
  13. ######### 
  14. HOSTNAME=node02 
  15. [root@node02 ~]# vim /etc/hosts 
  16. ######### 
  17. 192.168.147.128 node01 
  18. 192.168.147.129 node02 
  19.  
  20. [root@node02 ~]# systemctl stop firewalld 
  21. [root@node02 ~]# systemctl disable firewalld.service 

实现hadoop账号自由在node01和node02切换,具体查看我的博客:https://blog.csdn.net/weixin_44510615/article/details/104528001?

下载hadoop下载链接:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.1.4/hadoop-3.1.4.tar.gz

  1. [hadoop@node01 ~]$ ls 
  2. hadoop-3.1.4.tar.gz  module  wget-log  公共  模板  视频  图片  文档  下载  音乐  桌面 
  3. [hadoop@node01 ~]$ mkdir -p  module/hadoop 
  4. [hadoop@node01 ~]$ tar -zxvf hadoop-3.1.4.tar.gz -C module/hadoop/ 
  5. [hadoop@node01 ~]$ cd module/hadoop/hadoop-3.1.4/ 
  6. [hadoop@node01 hadoop-3.1.4]$ sudo mkdir -p data/tmp 
  7. [hadoop@node01 hadoop-3.1.4]$ ls 
  8. bin  data  etc  include  lib  libexec  LICENSE.txt  NOTICE.txt  README.txt  sbin  share 

 

修改配置文件

在配置集群/分布式模式时,需要修改“hadoop/etc/hadoop”目录下的配置文件,这里仅设置正常启动所必须的设置项,包括workers、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml共5个文件,更多设置项可查看官方说明。

修改文件hadoop-env.sh

  1. [hadoop@node01 hadoop]# vim hadoop-env.sh  
  2. ############ 
  3. export  JAVA_HOME=/usr/java/jdk1.8.0_281/ 
  4.  
  5. [hadoop@node01 hadoop]# vim yarn-env.sh 
  6. ############ 
  7. export JAVA_HOME=/usr/java/jdk1.8.0_231 

修改文件workers

在Master节点的workers文件中指定Slave节点,也就是node02

  1. [hadoop@node01 hadoop]$ vim workers  
  2. [hadoop@node01 hadoop]$ cat workers  
  3. node02 

修改文件core-site.xml

请把core-site.xml文件修改为如下内容:

修改文件hdfs-site.xml

请把hdfs-site.xml文件修改为如下内容:

对于Hadoop的分布式文件系统HDFS而言,一般都是采用冗余存储,冗余因子通常为3,也就是说,一份数据保存三份副本。但是,本教程只有一个Slave节点作为数据节点,即集群中只有一个数据节点,数据只能保存一份,所以 ,dfs.replication的值还是设置为 1。

修改文件mapred-site.xml

请把mapred-site.xml文件修改为如下内容:

  1. [hadoop@node01 hadoop]$ cat mapred-site.xml  
  2.  
  3.          
  4.                 <name>mapreduce.framework.namename
  5.                 yarn 
  6.          
  7.  

修改文件 yarn-site.xml

请把yarn-site.xml文件修改为如下内容:

配置Hadoop环境变量

在etc/profile增加hadoop路径:

初始化HDFS

初始化HDFS,执行 namenode 初始化命令:

  1. hdfs namenode -format 

可能出现创建文件夹失败的问题,这个权限问题,使用 root 账号使用命令sudo chmod -R a+w /绝对路径。初始化HDFS失败都要把之前创建的文件夹给删除。

启动集群

直接执行start-all.sh,启动 Hadoop。此时 node02上的相关服务也会被启动:

在每台服务器上使用 jps 命令查看服务进程,

或直接进入 Web-UI 界面进行查看,端口为 9870。可以看到此时有一个可用的 Datanode:

接着可以查看 Yarn 的情况,端口号为 8088 :

至此,Hadoop分布式集群搭建成功。

 

来源:Python之王内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯