Hadoop依赖环境配置与安装部署

news2025/1/16 16:48:22

目录

    • 什么是Hadoop?
    • 一、Hadoop依赖环境配置
      • 1.1 设置静态IP地址
      • 1.2 重启网络
      • 1.3 再克隆两台服务器
      • 1.4 修改主机名
      • 1.5 安装JDK
      • 1.6 配置环境变量
      • 1.7 关闭防火墙
      • 1.8 服务器之间互传资料
      • 1.9 做一个host印射
      • 1.10 免密传输
    • 二、Hadoop安装部署
      • 2.1 解压hadoop的tar包
      • 2.2 切换到配置文件目录
      • 2.3 修改配置文件
      • 2.4 分发到其他节点
      • 2.5 初始化Hadoop集群
      • 2.6 强制使用root启动hadoop集群
      • 2.7 启动集群
      • 2.8 输入命令jps,完成Hadoop的搭建

什么是Hadoop?

  Hadoop是一个分布式系统基础架构, 是一个存储系统+计算框架的软件框架。主要解决海量数据存储与计算的问题,是大数据技术中的基石。Hadoop以一种可靠、高效、可伸缩的方式进行数据处理,用户可以在不了解分布式底层细节的情况下,开发分布式程序,用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。

一、Hadoop依赖环境配置

1.1 设置静态IP地址

之所以设置静态IP是因为当我们连上不同的网络时,ip总是会发生变化,因为dhcp服务会为我们分配一个空闲的ip地址,所以静态ip解决的问题就是为了把ip地址固定下来

  • 首先查看网关,打开VMware,编辑>>虚拟网络编辑器。
    在这里插入图片描述
  • 打开NAT设置。
    在这里插入图片描述
  • 截图保存该页面,方便后面设置。
    在这里插入图片描述
  • 修改IP的配置文件
cd /etc/sysconfig/network-scripts/       //进入到如下目录
vim ifcfg-ens33                 //编辑该文件

进入以后修改为如下内容:
在这里插入图片描述

修改内容如下:
BOOTPROTO=static 
ONBOOT=yes
IPADDR=192.168.xx.110      //xx查看自己之前的截图内容
GATEWAY=192.168.xx.2
NETMASK=255.255.255.0
DNS1=114.114.114.114
DNS2=8.8.8.8

1.2 重启网络

重启网络的命令:service network restart

1.3 再克隆两台服务器

  • 步骤如下图
    在这里插入图片描述
    在这里插入图片描述

  • 再克隆一台
    在这里插入图片描述

1.4 修改主机名

克隆完虚拟机后,在MobaXterm中分布修改三台虚拟机的名称。分别输入如下命令:

hostnamectl set-hostname 'hadoop01'
hostnamectl set-hostname 'hadoop02'
hostnamectl set-hostname 'hadoop03'

1.5 安装JDK

输入命令:rpm tar.gz rpm -ivh XXX.rpm

在这里插入图片描述

1.6 配置环境变量

输入命令:vim /etc/profile,进入以后添加如下内容:

export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

在这里插入图片描述

1.7 关闭防火墙

首先临时关闭防火墙,输入命令:systemctl stop firewalld
然后永久关闭防火墙( 只能先临时关闭,才能永久关闭),输入命令:systemctl disable firewalld
在这里插入图片描述
可以查看防火墙是否关闭:systemctl status firewalld

1.8 服务器之间互传资料

scp -r /opt/module/xxx 192.168.70.120:/opt/module
scp -r /opt/module/xxx hadoop03:/opt/module

1.9 做一个host印射

输入命令进入hosts映射文件:vim /etc/hosts
修改内容如下(三台虚拟机一样):
在这里插入图片描述

1.10 免密传输

生成各自的私钥与公钥:ssh-keygen
把生成的公钥给别人:ssh-copy-id hadoop01
			      ssh-copy-id hadoop02
				  ssh-copy-id hadoop03

三台虚拟机同时输入:
在这里插入图片描述

二、Hadoop安装部署

2.1 解压hadoop的tar包

输入如下命令:tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/

2.2 切换到配置文件目录

输入如下命令:cd /opt/module/hadoop-3.1.3/etc/hadoop
在这里插入图片描述

2.3 修改配置文件

  1. 第一个配置文件,修改hadoop-env.sh,修改hadoop的环境依赖JDK:vim hadoop-env.sh,添加jdk的环境变量。
    修改内容如下:
    在这里插入图片描述

  2. 第二个配置文件,输入命令:vim core-site.xml,在<configuration></configuration>中添加如下内容:

<!-- 指定NameNode的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop01:9000</value>
</property>
<!-- 指定hadoop数据的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-3.1.3/data</value>
</property>

<!-- 配置HDFS网页登录使用的静态用户为root -->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>root</value>
</property>

<!-- 配置该root(superUser)允许通过代理访问的主机节点 -->
    <property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
</property>
<!-- 配置该root(superUser)允许通过代理用户所属组 -->
    <property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
</property>
<!-- 配置该root(superUser)允许通过代理的用户-->
    <property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
</property>
  1. 第三个配置文件,输入命令:vim hdfs-site.xml,在<configuration></configuration>中添加如下内容:
<!-- nn web端访问地址-->
	<property>
        <name>dfs.namenode.http-address</name>
        <value>hadoop01:50070</value>
    </property>
	<!-- 2nn web端访问地址-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop01:50090</value>
</property>
<!--副本数的配置-->
    <property>
    <name>dfs.replication</name>
        <value>2</value>
</property>
  1. 第四个配置文件,输入命令:vim yarn-site.xml,在<configuration></configuration>中添加如下内容:
<!-- 指定MR走shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
</property>
<!-- 指定ResourceManager的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop01</value>
</property>
<!-- 环境变量的继承 -->
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
<!-- yarn容器允许分配的最大最小内存 -->
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>512</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>2048</value>
</property>
<!-- yarn容器允许管理的物理内存大小 -->
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>2048</value>
</property>
<!-- 关闭yarn对物理内存和虚拟内存的限制检查 -->
    <property>
        <name>yarn.nodemanager.pmem-check-enabled</name>
        <value>false</value>
    </property>
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
  1. 第五个配置文件,输入命令:vim mapred-site.xml,在<configuration></configuration>中添加如下内容:
	<!-- 指定MapReduce程序运行在Yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
  1. 第六个配置文件,输入命令:vim workers,添加如下内容:
    在这里插入图片描述

2.4 分发到其他节点

scp -r /opt/module/hadoop-3.1.3 hadoop02:/opt/module/
scp -r /opt/module/hadoop-3.1.3 hadoop03:/opt/module/

2.5 初始化Hadoop集群

hadoop namenode -format

2.6 强制使用root启动hadoop集群

vim /etc/profile

2.7 启动集群

start-dfs.sh
start-yarn.sh
在这里插入图片描述

2.8 输入命令jps,完成Hadoop的搭建

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/960552.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Jetpack Compose 自定义 好看的TabRow Indicator

背景 Jetpack Compose 提供了强大的 Material Design 组件,其中 TabRow 组件可以用于实现 Material Design 规范的选项卡界面。但是默认的 TabRow 样式可能无法满足所有场景,所以我们有时需要自定义 TabRow 的样式。 Jetpack Compose 中使用 TabRow 简单使用 TabRow 一般可以…

QTday3(对话框、发布软件、事件处理核心机制)

一、Xmind整理&#xff1a; 二、上课笔记整理&#xff1a; 1.消息对话框&#xff08;QMessageBox&#xff09; ①基于属性版本的API QMessageBox::QMessageBox( //有参构造函数名QMessageBox::Icon icon, //图标const Q…

大数据课程K16——Spark的梯度下降法

文章作者邮箱&#xff1a;yugongshiyesina.cn 地址&#xff1a;广东惠州 ▲ 本章节目的 ⚪ 了解Spark的梯度下降法&#xff1b; ⚪ 了解Spark的梯度下降法家族&#xff08;BGD&#xff0c;SGD&#xff0c;MBGD&#xff09;&#xff1b; ⚪ 掌握Spark的MLlib实现…

Python进行数据相关性分析实战

平时在做数据分析的时候&#xff0c;会要对特征进行相关性分析&#xff0c;分析某些特征之间是否存在相关性。本文将通过一个实例来对数据进行相关性分析与展示。 一、数据集介绍 本次分析的是企业合作研发模式效果分析&#xff0c;企业的合作研发大致分为 企企合作、企学合作…

D357周赛复盘:模拟双端队列反转⭐⭐+贪心

文章目录 2810.故障键盘1.直接用reverse解决2.双端队列 2811.判断能否拆分数组&#xff08;比较巧妙的贪心&#xff09;思路完整版 2812.找出最安全路径2810.故障键盘1.直接用reverse解决2.双端队列 2811.判断能否拆分数组&#xff08;比较巧妙的贪心&#xff09;思路完整版 28…

OS | 4 抽象:进程

OS | 4 抽象&#xff1a;进程 文章目录 OS | 4 抽象&#xff1a;进程CPU虚拟化的方法进程&#xff1a;是一种抽象非正式定义 进程的机器状态 进程API程序转换为进程的过程进程状态>>>>> 欢迎关注公众号【三戒纪元】 <<<<< CPU虚拟化的方法 操作…

分布式调度Elastic-job

分布式调度Elastic-job 1. 概述 1.1什么是任务调度 我们可以思考⼀下下⾯业务场景的解决⽅案: 某电商平台需要每天上午10点&#xff0c;下午3点&#xff0c;晚上8点发放⼀批优惠券某银⾏系统需要在信⽤卡到期还款⽇的前三天进⾏短信提醒某财务系统需要在每天凌晨0:10分结算前…

进程控制相关 API-创建进程、进程分离、进程退出、进程阻塞

进程控制相关 API p.s 进程控制中的状态转换 相关 API&#xff0c;用户很少用到&#xff0c;在此不提。 一般来说&#xff0c;这些内核标准 API&#xff0c;在执行出错&#xff08;可能是资源不够、权限不够等等&#xff09;会返回负值&#xff08;比如 -1&#xff09;&#…

Go实现LogAgent:海量日志收集系统【上篇——LogAgent实现】

Go实现LogAgent 项目架构图&#xff1a; 0 项目背景与方案选择 背景 当公司发展的越来越大&#xff0c;业务越来越复杂时&#xff0c;每个业务系统都有自己的日志。此时我们就应该将不同业务线的日志进行实时收集&#xff0c;存储到一个日志收集中心&#xff0c;最后再通过…

手写Mybatis:第7章-SQL执行器的定义和实现

文章目录 一、目标&#xff1a;SQL执行的定义和实现二、设计&#xff1a;SQL执行的定义和实现三、实现&#xff1a;SQL执行的定义和实现3.1 工程结构3.2 SQL执行实现的关系图3.3 执行器的定义和实现3.3.1 Executor 接口3.3.2 BaseExecutor 抽象基类3.3.3 SimpleExecutor 简单执…

编译工具:CMake(六) | 使用外部共享库和头文件

编译工具&#xff1a;CMake&#xff08;六&#xff09; | 使用外部共享库和头文件 步骤引入头文件搜索路径为 target 添加共享库 步骤 在/Compilation_tool/cmake 目录建立 t4 目录 建立src目录&#xff0c;编写源文件main.c&#xff0c;内容如下&#xff1a; #include <…

ModaHub魔搭社区——决胜大模型时代,算力、网络、向量数据库缺一不可

大模型应用场景日趋多样,需求也随着增加,进而倒逼着多元算力方面的创新,为满足AI工作负载的需求,采用GPU、FPGA、ASIC等加速卡的服务器越来越多。 根据IDC数据统计,2022年,中国加速服务器市场相比2019年增长44.0亿美元,服务器市场增量的一半更是来自加速服务器。 这意味…

shell bash中设置命令set

1 Preface/Foreword set命令用于shell脚本在执行命令时候&#xff0c;遇到异常的处理机制。 2 Usage 2.1 set -e 当执行命令过程中遇到异常&#xff0c;那么就退出脚本&#xff0c;不会往下执行其它命令。 #!/bin/bash #set -eroot GIT_TAG${CI_BUILD_TAG-NOTAG} GIT_REV…

MySQL创建用户时报错“Your password does not satisfy the current policy requirements“

MySQL创建用户时报错"Your password does not satisfy the current policy requirements" MySQL是一个流行的关系型数据库管理系统&#xff0c;它提供了许多安全性特性&#xff0c;其中之一是密码策略。在创建或更改用户密码时&#xff0c;MySQL会检查密码是否符合当…

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉农大图书馆

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉农大图书馆

HCIP---BGP协议

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 根据AS自治系统可以将动态路由协议划分为IGP和EGP协议。IGP协议是应用在AS内部&#…

手摸手2-springboot编写基础的增删改查

目录 手摸手2-springboot编写基础的增删改查创建controller层添加service层接口service层实现添加mapper层mapper层对应的sql添加扫描注解,对应sql文件的目录 手摸手2-springboot编写基础的增删改查 创建controller层 实现 test 表中的添加、修改、删除及列表查询接口&#x…

PHP8函数包含文件-PHP8知识详解

在php中&#xff0c;可以使用以下函数来包含其他文件&#xff1a;include()、include_once()、require()、require_once()。 1、include(): 包含并运行指定文件中的代码。如果文件不存在或包含过程中出现错误&#xff0c;将发出警告。 <?php include filename.php; ?>…

【前端demo】背景渐变动画

文章目录 效果过程代码htmlcss 其他demo 效果 效果预览&#xff1a;https://codepen.io/karshey/pen/OJrXZwQ 过程 注意&#xff0c;直接在body上加height:100%可能也会出现height为0的情况&#xff0c;这是需要令html的height:100% 代码 html <!DOCTYPE html> <…

面试题--从键盘输入网站到网页显示,之间发生了什么

文章目录 首先进入HTTP阶段协议栈阶段TCP阶段IP阶段MAC网卡交换机路由器抵达 首先进入HTTP阶段 1.解析对应的URL&#xff0c;访问一个对应的服务器xxx.com的一个文件index.html; 2 使用DNS查询对应的ip地址&#xff0c;通过DNS服务器进行查找 3 组装http报文&#xff0c;生成h…