Hadoop3.3.4分布式安装

news2024/11/24 22:57:17

安装前提:已经配置好java环境,所有机器之间ssh的免密登录。
注意:下文中的flinkv1、flinkv2、flinkv3是三台服务器的别名
在这里插入图片描述

1.集群部署规划
注意:NameNode和SecondaryNameNode不要安装在同一台服务器
注意:ResourceManager也很消耗内存,不要和NameNode、SecondaryNameNode配置在同一台
机器上。
在这里插入图片描述
2.上传安装包到linux系统上
在这里插入图片描述
3.进入到Hadoop安装包路径下

[zhangflink@9wmwtivvjuibcd2e ~]$ cd /opt/package/

4.解压安装文件到/opt/module下面

[zhangflink@9wmwtivvjuibcd2e package]$ tar -zxvf hadoop-3.3.4.tar.gz -C ../software/

5.查看是否解压成功

[zhangflink@9wmwtivvjuibcd2e package]$ cd ../software/
[zhangflink@9wmwtivvjuibcd2e software]$ ls

在这里插入图片描述

6.重命名

[zhangflink@9wmwtivvjuibcd2e software]$ mv hadoop-3.3.4/ hadoop
[zhangflink@9wmwtivvjuibcd2e software]$ ls

在这里插入图片描述
7.将Hadoop添加到环境变量
(1)获取Hadoop安装路径

[zhangflink@9wmwtivvjuibcd2e software]$ cd hadoop/
[zhangflink@9wmwtivvjuibcd2e hadoop]$ pwd

在这里插入图片描述
(2)打开/etc/profile文件

[zhangflink@9wmwtivvjuibcd2e hadoop]$ sudo vim /etc/profile

在profile文件末尾添加JDK路径:(shitf+g)

> #HADOOP_HOME 	export
> HADOOP_HOME=/opt/software/hadoop 	
> export PATH=$PATH:$HADOOP_HOME/bin
> export PATH=$PATH:$HADOOP_HOME/sbin

(3)保存后退出

 :wq

(4)分发环境变量文件

[zhangflink@9wmwtivvjuibcd2e hadoop]$ /home/zhangflink/bin/xsync /etc/profile

(5)source 是之生效(3台节点)

[zhangflink@9wmwtivvjuibcd2e hadoop]$ source /etc/profile

8.配置集群
(1)核心配置文件
配置core-site.xml

[zhangflink@9wmwtivvjuibcd2e hadoop]$ cd etc/
[zhangflink@9wmwtivvjuibcd2e etc]$ cd hadoop/
[zhangflink@9wmwtivvjuibcd2e hadoop]$ vim core-site.xml

在这里插入图片描述

在配置文件最下面的configuration中间添加如下配置项

<configuration>
<!-- 指定NameNode的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://flinkv1:8020</value>
</property>
<!-- 指定hadoop数据的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/software/hadoop/data</value>
</property>

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

<!-- 配置该atguigu(superUser)允许通过代理访问的主机节点 -->
    <property>
        <name>hadoop.proxyuser.zhangflink.hosts</name>
        <value>*</value>
</property>
<!-- 配置该atguigu(superUser)允许通过代理用户所属组 -->
    <property>
        <name>hadoop.proxyuser.zhangflink.groups</name>
        <value>*</value>
</property>
<!-- 配置该atguigu(superUser)允许通过代理的用户-->
    <property>
        <name>hadoop.proxyuser.zhangflink.users</name>
        <value>*</value>
</property>
</configuration>

(2)HDFS配置文件

[zhangflink@9wmwtivvjuibcd2e hadoop]$ vim hdfs-site.xml
<configuration>
<!-- nn web端访问地址-->
        <property>
        <name>dfs.namenode.http-address</name>
        <value>flinkv1:9870</value>
    </property>

        <!-- 2nn web端访问地址-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>flinkv3:9868</value>
    </property>

    <!-- 测试环境指定HDFS副本的数量1 -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

在这里插入图片描述
(3)YARN配置文件

[zhangflink@9wmwtivvjuibcd2e hadoop]$ vim yarn-site.xml 
<configuration>
<!-- 指定MR走shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    <!-- 指定ResourceManager的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>flinkv2</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>

        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>512</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>4096</value>
    </property>

        <value>512</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>4096</value>
    </property>

    <!-- yarn容器允许管理的物理内存大小 -->
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>4096</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>
</configuration>

(4)MapReduce配置文件

[zhangflink@9wmwtivvjuibcd2e hadoop]$ vim mapred-site.xml
<configuration>
<!-- 指定MapReduce程序运行在Yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

在这里插入图片描述
(5)配置workers

[zhangflink@9wmwtivvjuibcd2e hadoop]$ vim workers 
flinkv1
flinkv2
flinkv3

9.配置历史服务器
为了查看程序的历史运行情况,需要配置一下历史服务器
(1)配置mapred-site.xml

[zhangflink@9wmwtivvjuibcd2e hadoop]$ vim mapred-site.xml
<!-- 历史服务器端地址 -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>flinkv1:10020</value>
</property>

<!-- 历史服务器web端地址 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>flinkv1:19888</value>
</property>

10.配置日志的聚集
日志聚集概念:应用运行完成以后,将程序运行日志信息上传到HDFS系统上。
日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。
注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryManager。
(1)配置yarn-site.xml

<!-- 开启日志聚集功能 -->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>

<!-- 设置日志聚集服务器地址 -->
<property>
    <name>yarn.log.server.url</name>
    <value>http://flinkv1:19888/jobhistory/logs</value>
</property>

<!-- 设置日志保留时间为7天 -->
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>

11.分发Hadoop

[zhangflink@9wmwtivvjuibcd2e software]$ /home/zhangflink/bin/xsync hadoop/

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

[zhangflink@9wmwtivvjuibcd2e hadoop]$ bin/hdfs namenode -format

在这里插入图片描述
(2)启动HDFS
在这里插入图片描述

启动HDFS如果出现以上报错,可能是没有配置java环境变量,首先检查系统java环境是否配置成功
在这里插入图片描述

如果系统环境如上图所示正常,那么就是hadoop的配置文件没有配置java环境变量路径导致。
只需按如下配置hadoop-env.sh文件即可

编辑hadoop-env.sh文件

[zhangflink@9wmwtivvjuibcd2e hadoop]$ vim etc/hadoop/hadoop-env.sh

找到java环境修改配置

JAVA_HOME=/opt/software/jdk1.8.0_212

在这里插入图片描述
分发hadoop配置文件

[zhangflink@9wmwtivvjuibcd2e hadoop]$ /home/zhangflink/bin/xsync etc/

在这里插入图片描述

再次启动HDFS

[zhangflink@9wmwtivvjuibcd2e hadoop]$ sbin/start-dfs.sh

查看进程

[zhangflink@9wmwtivvjuibcd2e hadoop]$ jps

在这里插入图片描述
(3)在配置了ResourceManager的节点(flinkv2)启动YARN

[zhangflink@9wmwtivvjuibcd2e-0001 hadoop]$ sbin/start-yarn.sh

查看进程

[zhangflink@9wmwtivvjuibcd2e hadoop]$ jps

在这里插入图片描述
(4)Web端查看HDFS的Web页面:http://flinkv1:9870/ (云服务器请使用公网IP地址访问,确保端口的安全组入口已经开发)
在这里插入图片描述
(5)Web端查看SecondaryNameNode
在这里插入图片描述

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

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

相关文章

2013年01月09日 Go生态洞察:App Engine SDK与工作区(GOPATH)深度解析

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

电机应用-编码器

目录 编码器 增量式编码器 绝对式编码器 混合式绝对式编码器 旋转编码器原理 增量式编码器原理 绝对式编码器原理 编码器基本参数 分辨率 精度 最大响应频率 信号输出形式 编码器 用来测量机械旋转或位移的传感器&#xff0c;能够测量机械部件在旋转或直线运动时的…

16岁还是街头餐厅“洗碗妹”,46岁已成美国“三院士”,华人科学家李飞飞的美国之路

昨天群里大V分享了一本书《The Worlds I See》&#xff0c;我迫不及待的下载阅读了。 16岁&#xff0c;她还是美国街头餐厅的“洗碗妹”。 46岁&#xff0c;她已成为美国三大权威科学院院士、斯坦福教授、当代科技领军人物榜上&#xff0c;与乔布斯齐名的人物。 她就是华裔女科…

为什么要用kubernetes?

第一章 kubernetes介绍 本章节主要介绍应用程序在服务器上部署方式演变以及kubernetes的概念、组件和工作原理。 应用部署方式演变 在部署应用程序的方式上&#xff0c;主要经历了三个时代&#xff1a; 传统部署&#xff1a;互联网早期&#xff0c;会直接将应用程序部署在物…

requestAnimationFrame是什么?介绍 如何使用?适用场景?有哪些缺点和优点,兼容性怎么样?

文章目录 前言是什么&#xff1f;如何使用适用场景优点和缺点兼容性后言 前言 hello world欢迎来到前端的新世界 &#x1f61c;当前文章系列专栏&#xff1a;前端系列文章 &#x1f431;‍&#x1f453;博主在前端领域还有很多知识和技术需要掌握&#xff0c;正在不断努力填补技…

12周年庆|一文回顾思迈特十二年大事记

白驹过隙&#xff0c;转眼思迈特软件迎来了十二岁生日&#x1f382; 在中华文化里&#xff0c;十二是一个轮回&#xff0c;十二寓意着圆满。圆满代表着一种从容、自信、充满能量的状态。 任何一种圆满的状态&#xff0c;都不是一蹴而就的&#xff0c;都曾经经历过千锤百炼的磨砺…

BGP路由控制实验

目录 一、实验拓扑 二、实验需求 三、实验步骤 1、IP地址配置 2、As 200 内部配置OSPF 3、建立BGP邻居关系 4、宣告网段&#xff0c;在BGP中传递网段 5、通过修改MED 使 R1 到达 192.168.2.0/24 网段的路由经过 R3 6、通过修改Preferred-value 属性&#xff0c;使 R4 …

PyCharm鼠标控制字体缩放

File->Settings->Keymap 右边搜索栏输入increase(放大)&#xff0c;可以看到下面出现increase Font Size(放大字体尺寸)&#xff0c;双击。 双击后出现几个选项&#xff0c;选择Add Mouse Shortcut,会出现一个页面给录入动作。 按住Ctrl同时鼠标向上滚动&#xff0c;该动…

从零开始,掌握Nacos搭建的艺术(单点、集群、docker-compose)

&#x1f38f;&#xff1a;你只管努力&#xff0c;剩下的交给时间 &#x1f3e0; &#xff1a;小破站 从零开始&#xff0c;掌握Nacos 前言&#xff1a;前提&#xff1a;建表语句第一&#xff1a; 单节点搭建&#xff1a;第二&#xff1a; 集群搭建&#xff1a;第三&#xff1a…

使用VScode编译betaflight固件--基于windows平台

使用VScode编译betaflight固件--基于windows平台 1、使用git克隆betaflight的开源代码2、betaflight的代码框架分析&#xff1a;3、配置编译环境&#xff1a;4、VScode上编译 betaflight不仅可以在LInux上进行编译也可以在Windows上编译&#xff0c;本文主要介绍在windows平台上…

智能巡检软件哪个好?中小企业如何提升工作效率与质量?

在当今数字化、智能化的时代&#xff0c;智能巡检软件作为一种高效的工具&#xff0c;已经在各行各业得到了广泛的应用。它利用物联网、大数据、人工智能等技术&#xff0c;为巡检工作提供了全面的解决方案&#xff0c;帮助企业实现数据化、智能化管理&#xff0c;提高工作效率…

ts+vite报错:找不到模块“/src/.../...”或其相应的类型声明

问题描述 vuets项目开发时&#xff0c;通过绝对路径引入模块&#xff0c;发现ts报错&#xff1a;找不到模块“/src/script/game”或其相应的类型声明。ts(2307)。但是项目能正常运行。 原因 由于并没有配置代表src&#xff0c;结果通过绝对路径引入还是报错&#xff0c;于是换…

【渗透实战】木马免杀

先看效果(文中附源码) 思路 1.shellcode自身免杀 首先cs生成一个bin文件 再没有二开的情况下落地就会死 那么如何处理呢? 可以通过对shellcode进行加密和编码的方式,然后在内存中进行解密执行 这里介绍几种主流的编码和加密方式 编码方式: base64 sgn编码 加密方式: XO…

京东数据运营与分析:如何全面获取电商销售数据?

随着电商行业的快速发展&#xff0c;数据分析成为了电商运营中一个非常重要的环节&#xff0c;这一环往往能够帮助品牌方来提升销售业绩和管理效率。然而&#xff0c;如何获取到电商平台中详细、全面的销售数据是很多电商品牌方所关心的问题&#xff0c;事实上&#xff0c;第三…

跨境国际快递物流API:加速全球贸易的关键

引言 全球贸易的蓬勃发展在今日商业中扮演着至关重要的角色。而随着全球市场的扩大和商业界的日益复杂化&#xff0c;跨境国际快递物流API正成为推动全球贸易加速发展的关键因素。 为何说跨境国际快递物流API是加速全球贸易的关键&#xff1f; 连接全球商业网络 跨境国际快…

外汇天眼:你的交易技术分析,为什么不赚钱?

众所周知&#xff0c;交易圈分为两个派别&#xff0c;一个是基本面分析派&#xff0c;另外一个就是技术分析派。 无论哪个派别都有成功的案例。 今天我们主要来说一下技术分析&#xff0c;市场中&#xff0c;用技术分析来做交易的人有很多&#xff0c;但并不是人人都赚钱&#…

数据结构和算法八股与手撕

数据结构和算法八股文 第一章 数据结构 1.1 常见结构 见http://t.csdnimg.cn/gmc3U 1.2 二叉树重点 1.2.1 各种树的定义 满二叉树&#xff1a;只有度为0的结点和度为2的结点&#xff0c;并且度为0的结点在同一层上 完全二叉树&#xff1a;除了最底层节点可能没填满外&…

Looking for downloadable pre-built shared indexes关闭

这个功能很烦,把他关闭就行了 PyCharm的“Looking for downloadable pre-built shared indexes”是指PyCharm IDE中的一个功能&#xff0c;用于搜索和下载可共享的预构建索引。 这个功能的主要用途是帮助开发人员在开发过程中快速地获取和使用预构建的索引&#xff0c;以提高…

AtCoder ABC152

C - Low Elements 从前往后维护一个最长下降子序列 D - Handstand 2 设f[a][b]代表当前第一个数字为a第二个数字为b的数总个数 递推一下就可以。注意ab的情况。 # -*- coding: utf-8 -*- # time : 2023/6/2 13:30 # file : atcoder.py # software : PyCharmimport bi…

打造全身视角的医院可视化能源监测管理平台,实现医院能源可视化管理

医院是大型公共建筑的一种&#xff0c;随着医院规模的不断扩大&#xff0c;医院能源消耗剧增&#xff0c;能源消耗居高不下。医院对于能源监管的需求也越来越高。医院建立一套能耗监测管理平台&#xff0c;对于降低医院能耗有着非常重要的作用。 医院能耗存在的问题 1、医院能…