iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >浅析Hadoop完全分布式集群搭建问题
  • 900
分享到

浅析Hadoop完全分布式集群搭建问题

2024-04-02 19:04:59 900人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、hadoop是什么二、Hadoop组成1、Hadoop1.x2、Hadoop2.x三、Hadoop集群搭建所需工具(链接如下,自行下载)四、Hadoop集群配置前期准备五、H

一、Hadoop是什么

  • Hadoop是一个由Apache基金会所开发分布式系统基础架构
  • 主要解决,海量数据的存储和海量数据的分析计算问题。
  • Hadoop并不只是单单一个技术,而是一个生态圈,里面包括spark、Flume、HBasekafka、Sqoop、Hive、Oozie、Azkaban、ZooKeeper

二、Hadoop组成

1、Hadoop1.x

        ①:mapReduce(计算+资源调度)
②:hdfs(数据存储)
③:Common(辅助工具)

2、Hadoop2.x

        ①:MapReduce(计算)
②:Yarn(资源调度)
③:HDFS(数据存储)
④:Common(辅助工具)

三、Hadoop集群搭建所需工具(链接如下,自行下载)

  • jdk1.8
  • Hadoop2.7

四、Hadoop集群配置前期准备

1.克隆虚拟机(克隆三台,首先配置第一台,剩下两台由于篇幅有限,不再复述,步骤和第一台一样)

在这里插入图片描述
在这里插入图片描述

修改主机名,我设置为hadoop102

hostnamectl set-hostname 你要设置的主机名

关闭防火墙

systemctl stop firewalld.service # 关闭防火墙

systemctl disable firewalld.service # 禁止开机自启

配置虚拟机网络,可以连通外网和主机
①:修改虚拟机网络为NAT模式

在这里插入图片描述

②:打开虚拟网络编辑器,将我框起来的ip地址和子网掩码记下来,继续点击NAT配设置,同样记下来框起来的,后面要用。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

③:从这里开始进入root模式,首先使用如下命令进入网络配置,然后按照我的图修改您的配置,请和我保持一致,没有的东西就自己写上,然后按照我的配置。

vim /etc/sysconfig/network-scripts/ifcfg-ens32 #电脑不同最后面的ens32可能不一样,但是就找差不多的就行

在这里插入图片描述

④:重启网络(配置到这里可以ping一下百度之类的,但是还没全部完成,完全按照我的做,应该没问题,我们还需要配置虚拟机之间的连通,所以另外两台虚拟机请按照上面的操作配置。)

systemctl start network.service

    ⑤:配置和另外两台的连通(我三台分别叫hadoop102、hadoop103、hadoop104)

vim /etc/hosts

在这里插入图片描述

⑥:测试连接,我们分别ping百度、主机、和另外两台虚拟机,如果如下图,则证明配置成功。

在这里插入图片描述

五、Hadoop运行环境搭建

    ①:在/opt下面新建module和software,分别用来存放安装包和程序

在这里插入图片描述

②:使用连接工具将上面我提供的安装包放入software,然后开始安装jdk,首先卸载之前的jdk,命令如下


rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64

rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64

rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64

rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64

    ③:然后解压jdk到module中


tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/

    ④:然后配置jdk环境变量,首先获取jdk路径(在解压后的目录运行pwd命令,如下,将这个目录保存下来)


[root@hadoop102 jdk1.8.0_144]$ pwd

/opt/module/jdk1.8.0_144

    ⑤:打开/etc/profile文件


vim /etc/profile

    ⑥:在profile文件末尾添加JDK路径,保存后退出


#JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.8.0_144

export PATH=$PATH:$JAVA_HOME/bin

    ⑦:安装hadoop,前面的步骤一样,将安装包解压到module中,然后使用pwd获取路径保存,然后打开/etc/profile文件,在profile文件末尾添加JDK路径,保存后退出。


##HADOOP_HOME
export
HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

    ⑧:让修改后的文件生效


source/etc/profile

    ⑨:如下图所示,即生效

在这里插入图片描述

至此,一台机器的前期准备工作已完成,另外两台完全按照一样的步骤操作,按照我的一步一步来,肯定没问题,该踩的坑我都踩过了hh~

六、Hadoop完全分布式集群环境正式搭建

1、编写集群分发脚本xsync

    ①:在/home/atguigu目录下创建bin目录,并在bin目录下创建xsync文件


mkdir bin
cd bin/
touch xsync
vi xsync

    ②:文件内容如下


#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 获取当前用户名称
user=`whoami`
#5 循环
for((host=103; host<105; host++)); do
echo ------------------- hadoop$host --------------   
rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done

    ③:修改脚本 xsync 具有执行权限


chmod 777 xsync

    ④:调用脚本形式:xsync 文件名称


xsync /home/ironmanjay/bin

注:如果将xsync放到/home/atguigu/bin目录下仍然不能实现全局使用,可以将xsync移动到/usr/local/bin目录下。

2、集群配置

    这里我们首先配置hadoop102一个主机,配置好之后我们把配置文件使用上面的功能分发下去,这样就实现了集群的配置。
①:配置core-site.xml,在文件中编写如下配置(在hadoop目录下)


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/module/hadoop-2.7.2/data/tmp</value>
</property>

    ②:配置hadoop-env.sh


[root@hadoop102 hadoop]$ vim hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144

    ③:配置hdfs-site.xml,在该文件中编写如下配置


vim hdfs-site.xml

<property>
     <name>dfs.replication</name>
     <value>3</value>
</property>

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

    ④:配置yarn-env.sh


[root@hadoop102 hadoop]$ vim yarn-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144

    ⑤:配置yarn-site.xml,在该文件中增加如下配置


vim 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>hadoop103</value>
</property>

    ⑥:配置mapred-env.sh


[root@hadoop102 hadoop]$ vim mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144

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


[root@hadoop102 hadoop]$ cp mapred-site.xml.template mapred-site.xml
[root@hadoop102 hadoop]$ vim mapred-site.xml

<!-- 指定MR运行在Yarn上
-->
<property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
</property>

    ⑧:在集群上分发配置好的Hadoop配置文件


xsync /opt/module/hadoop-2.7.2/

    ⑨:查看文件分发情况


cat /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml

3、SSH无密登录配置

    ①:生成公钥和私钥,然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)


[root@hadoop102 .ssh]$ ssh-keygen -t rsa

    ②:将公钥拷贝到要免密登录的目标机器上


ssh-copy-id hadoop102
ssh-copy-id hadoop103
ssh-copy-id hadoop104

注:还需要在hadoop102上采用root账号,配置一下无密登录到hadoop102、hadoop103、hadoop104;
还需要在hadoop103上采用atguigu账号配置一下无密登录到hadoop102、hadoop103、hadoop104服务器上。

4、群起集群

    ①:配置slaves,向文件中增加如下内容,注意,严格按照我的格式,不允许有空格,文件中不允许有空行


cd /opt/module/hadoop-2.7.2/etc/hadoop/slaves

vim slaves

hadoop102

hadoop103

hadoop104

  ②:同步所有节点配置文件

xsync slaves

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


[root@hadoop102 hadoop-2.7.2]$ bin/hdfs namenode -fORMat

    ④:(hadoop102) 启动HDFS,终端输入jps出现下图即成功启动HDFS


[root@hadoop102 hadoop-2.7.2]$ sbin/start-dfs.sh

在这里插入图片描述

⑤:(hadoop103) 启动YARN,终端输入jps出现下图即成功启动YARN


[root@hadoop103 hadoop-2.7.2]$ sbin/start-yarn.sh

在这里插入图片描述

注意:NameNode和ResourceManger如果不是同一台机器,不能在NameNode上启动 YARN,应该在ResouceManager所在的机器上启动YARN。
⑥:WEB端查看SecondaryNameNode
浏览器中输入:http://hadoop102:50090/status.html
查看OverView信息,如下图所示,即配置成功

在这里插入图片描述

5、集群启动/停止方式总结

    ①:各个服务组件逐一启动/停止


# 分别启动/停止HDFS组件
hadoop-daemon.sh start / stop  namenode / datanode /secondarynamenode
# 启动/停止YARN
yarn-daemon.sh start / stop  resourcemanager / nodemanager

    ②:各个模块分开启动/停止(配置ssh是前提)常用


# 整体启动/停止HDFS
start-dfs.sh  /  stop-dfs.sh
# 整体启动/停止YARN
start-yarn.sh  /  stop-yarn.sh

6、集群时间同步(必须root用户)

    ①:检查ntp是否安装,如下图即安装


rpm -qa|grep ntp

在这里插入图片描述

②:修改ntp配置文件,修改内容如下


vim /etc/ntp.conf

a)修改1(授权192.168.1.0-192.168.1.255网段上的所有机器可以从这台机器上查询和同步时间)


#restrict 192.168.1.0

mask 255.255.255.0 nomodify notrap为

restrict 192.168.1.0 mask

255.255.255.0 nomodify notrap

b)修改2(集群在局域网中,不使用其他互联网上的时间)
server 0.Centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst为
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

c)添加3(当该节点丢失网络连接,依然可以采用本地时间作为时间服务器为集群中的其他节点提供时间同步)
server 127.127.1.0
fudge 127.127.1.0 stratum 10

    ③:修改/etc/sysconfig/ntpd 文件,增加内容如下(让硬件时间与系统时间一起同步)


vim /etc/sysconfig/ntpd

SYNC_HWCLOCK=yes

    ④:重新启动ntpd服务


service ntpd restart

    ⑤:设置ntpd服务开机启动


chkconfig ntpd on

到此这篇关于浅析Hadoop完全分布式集群搭建问题的文章就介绍到这了,更多相关Hadoop集群搭建内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 浅析Hadoop完全分布式集群搭建问题

本文链接: https://www.lsjlt.com/news/158820.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 浅析Hadoop完全分布式集群搭建问题
    目录一、Hadoop是什么二、Hadoop组成1、Hadoop1.x2、Hadoop2.x三、Hadoop集群搭建所需工具(链接如下,自行下载)四、Hadoop集群配置前期准备五、H...
    99+
    2024-04-02
  • Hadoop完全分布式集群搭建(超详细)
    目录 1.1.1 完全分布式介绍 1.1.2 平台软件说明 1.1.3 守护进程布局 1.2.1 集群搭建准备 1.2.2 总纲 1.2.3防火墙关闭 1.2.4 主机映射 1.2.5 免密登陆 1.2.6 jdk安装和hadoop安装及...
    99+
    2023-10-23
    hadoop 分布式 hdfs
  • CentOS 7如何搭建Hadoop 2.7.3完全分布式集群环境
    这篇文章将为大家详细讲解有关CentOS 7如何搭建Hadoop 2.7.3完全分布式集群环境,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。(一)软件准备1,hadoop-2.7.3.tar.gz(包)2...
    99+
    2023-06-03
  • Apache Hadoop 2.8 完全分布式集群搭建过程是怎样的
    这期内容当中小编将会给大家带来有关Apache Hadoop 2.8 完全分布式集群搭建过程是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。最近在自己的笔记本电脑上搭建了Apache Hadoop分...
    99+
    2023-06-19
  • 如何使用Centos7系统搭建Hadoop-3.1.4完全分布式集群
    本篇内容主要讲解“如何使用Centos7系统搭建Hadoop-3.1.4完全分布式集群”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Centos7系统搭建Hadoop-3.1.4完全分布...
    99+
    2023-06-15
  • hadoop完全分布式怎么搭建
    要搭建Hadoop完全分布式集群,需要按照以下步骤进行操作: 准备环境:首先需要准备多台服务器,至少需要3台以上的服务器来搭建H...
    99+
    2024-03-13
    hadoop
  • Hadoop环境搭建-单机、伪分布式、完全分布式
    目录 一、单机安装  二、伪分布式环境搭建 配置SSH免密登录  三、完全分布式环境搭建 设置免密 修改配置文件 本文的所有配置文件,除注释部分都可直接复制粘贴。因为本文的配置文件的语言语法采用的是HTML或JAVA,...
    99+
    2023-10-23
    hadoop 分布式 linux
  • CentOS 6.4如何安装Hadoop-2.5.1完全分布式集群
    这篇文章主要介绍了CentOS 6.4如何安装Hadoop-2.5.1完全分布式集群,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。环境介绍:在两台装有CentOS 6.4(3...
    99+
    2023-06-03
  • Hadoop+HBase+ZooKeeper分布式集群环境搭建步骤
    目录一、环境说明2.1 安装JDK2.2 添加Hosts映射关系2.3 集群之间SSH无密码登陆三、Hadoop集群安装配置3.1 修改hadoop配置3.2 启动hadoop集群四...
    99+
    2024-04-02
  • 完全分布式hadoop搭建的步骤是什么
    搭建完全分布式Hadoop集群通常包括以下步骤: 准备环境:确保所有节点都有相同的操作系统和Java版本,并且具有网络互通的能力...
    99+
    2024-03-05
    hadoop
  • mysql分布式集群怎么搭建
    要搭建一个 MySQL 分布式集群,可以采用以下步骤: 选择合适的分布式架构:MySQL 分布式集群可以采用主从复制、主从同步复制...
    99+
    2024-04-18
    mysql
  • Hadoop2.7.5+Spark2.2.1分布式集群怎么搭建
    这篇文章主要介绍“Hadoop2.7.5+Spark2.2.1分布式集群怎么搭建”,在日常操作中,相信很多人在Hadoop2.7.5+Spark2.2.1分布式集群怎么搭建问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-06-03
  • windows怎么搭建Redis分布式集群
    要搭建Redis分布式集群,您可以按照以下步骤进行操作:1. 下载Redis的稳定版本,并解压到不同的目录,例如:redis1、re...
    99+
    2023-09-11
    windows redis
  • 如何进行HA分布式集群搭建
    今天就跟大家聊聊有关如何进行HA分布式集群搭建,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一:HA分布式配置的优势:  1,防止由于一台namenode挂掉,集群失败的情形  2,...
    99+
    2023-06-03
  • docker下怎么搭建fastdfs分布式集群
    这篇文章主要讲解了“docker下怎么搭建fastdfs分布式集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“docker下怎么搭建fastdfs分布式集群”吧!本文在centos6.8下...
    99+
    2023-06-19
  • ganglia监控hadoop集群的配置文件问题分析
    这篇文章主要介绍“ganglia监控hadoop集群的配置文件问题分析”,在日常操作中,相信很多人在ganglia监控hadoop集群的配置文件问题分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”gangl...
    99+
    2023-06-03
  • MySQL分布式集群搭建的方法是什么
    MySQL分布式集群可以通过以下几种方法来搭建:1. MySQL Replication(复制):使用MySQL的复制功能,将一个M...
    99+
    2023-09-21
    MySQL
  • 如何使用Docker Swarm搭建分布式爬虫集群
    今天小编给大家分享一下如何使用Docker Swarm搭建分布式爬虫集群的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获...
    99+
    2024-04-02
  • 分布式Redis Cluster集群搭建与Redis基本用法
    目录Redis 集群搭建Redis 是啥集群(Cluster)Redis Cluster 说明Redis Cluster 节点Redis Cluster 集群模式不能保证一致性创建和...
    99+
    2024-04-02
  • zabbix集群搭建分布式监控的操作步骤
    目录作用:环境准备:操作步骤:1.关闭某些设置2.server服务端无需变动,继续运行3.配置代理服务器4. 启动数据库5. 进入数据库6. 创建数据表7. 授予所有的权限8. 刷新...
    99+
    2022-11-13
    zabbix分布式监控 zabbix集群
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作