hadoop的补充配置与常用脚本

news2024/11/28 23:56:12

 

目录

历史服务器的配置:

添加配置:

分发集群:

日志聚集功能的配置:

添加配置:

分发配置给集群其他服务器:

集群的启动与停止:

整体启动和停止hdfs:

整体启动/停止YARN

启动与停止某个服务组件:

常用脚本:

脚本1-实现集群的启动和停止:

 脚本2-实现查看集群上所有服务器java进程脚本:


历史服务器的配置:

为了查看程序的历史运行情况,需要配置一下历史服务器

添加配置:

在mapred-site.xml问就按下添加配置

<!-- 历史服务器端地址 -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop102:10020</value>
</property>

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

hadoop102:10020是表示历史服务器配置在那台服务器上,并且内部端口为10020(集群内部所用的访问端口)

hadoop102:19888是web端对外暴露的接口(外部用户访问的端口)

分发集群:

配置完成后需要分发同步到集群中其他服务器中

xsync $HADOOP_HOME/etc/hadoop/mapred-site.xml

在hadoop102启动历史服务器

mapred --daemon start historyserve

mapred --daemon 启动守护进程(或者是在后台启动)

start historyserve  是启动历史服务器

(启动历史服务器之前可以先关闭所有服务,在重启Hadoop服务,在启动历史服务器)

启动后 查看进程

 我们在mapred-site.xml中设置的对外端口号用于web访问

附加知识:

如何删除Hadoop HDFS中的目录:
 

hadoop fs -rm -r -skipTrash /目录名

日志聚集功能的配置:

日志聚集概念:应用运行完成后,将程序运行日志信息上传hdfs系统上

每个服务器上都有一个日志,你想看集群上的日志就需要对他进行聚集到hdfs上

日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试

 注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryServer

添加配置:

在yarn-site.xml中添加

<!-- 开启日志聚集功能 -->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>
<!-- 设置日志聚集服务器地址 -->
<property>  
    <name>yarn.log.server.url</name>  
    <value>http://hadoop102:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为7天 -->
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>

分发配置给集群其他服务器:

xsync $HADOOP_HOME/etc/hadoop/yarn-site.xml

关闭yarn服务和历史服务

stop-yarn.sh
mapred --daemon stop historyserver

重新启动:
 

start-yarn.sh
mapred --daemon start historyserver

注意:Hadoop中的输出目录是不能重使用的

进行验证:

执行命令:

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output

进入历史服务器:

进入日志(logs):

集群的启动与停止:

整体启动和停止hdfs:

start-dfs.sh
stop-dfs.sh

整体启动/停止YARN

start-yarn.sh
stop-yarn.sh

启动与停止某个服务组件:

分别启动/停止hdfs组件:

启动namenode组件

hdfs --daemon start namenode

停止namenode组件:
 

hdfs --daemon stop namenode

 yarn组件同上

常用脚本:

脚本1-实现集群的启动和停止:

编写脚本实现集群的启动和停止

在bin目录下创建myhadoop.sh文件

输入shell脚本:

#!/bin/bash

if [ $# -lt 1 ]
then
    echo "No Args Input..."
    exit ;
fi

case $1 in
"start")
        echo " =================== 启动 hadoop集群 ==================="

        echo " --------------- 启动 hdfs ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"
        echo " --------------- 启动 yarn ---------------"
        ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"
        echo " --------------- 启动 historyserver ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"
;;
"stop")
        echo " =================== 关闭 hadoop集群 ==================="

        echo " --------------- 关闭 historyserver ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"
        echo " --------------- 关闭 yarn ---------------"
        ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"
        echo " --------------- 关闭 hdfs ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
*)
    echo "Input Args Error..."
;;
esac

创建完毕后要对他的权限进行修改(赋予脚本执行权限),不然权限不足,不是可执行脚本

chmod +x myhadoop.sh

执行后

 脚本2-实现查看集群上所有服务器java进程脚本:

在bin目录下创建脚本文件 jpsall

#!/bin/bash

for host in hadoop102 hadoop103 hadoop104
do
        echo =============== $host ===============
        ssh $host jps 
done

当你新建集群   直接在hadoop104上添加主机名即可 

实现查看集群上所有服务器java进程脚本

直接输入jpsall就会直接执行脚本

jpsall

对bin目录进行分发:

xsync /home/你自己的家目录名称/bin/

实现集群同步

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

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

相关文章

微服务为什么要用到 API 网关?

本文介绍了 API 网关日志的价值&#xff0c;并以知名网关 Apache APISIX 为例&#xff0c;展示如何集成 API 网关日志。 作者程小兰&#xff0c;API7.ai 技术工程师&#xff0c;Apache APISIX Contributor。 原文链接 什么是微服务 微服务架构&#xff08;通常简称为微服务&a…

Promise.all、Promise.race、Promise.allSettled、Promise.any区别

1.Promise.all Promise.all()方法用于将多个 Promise 实例&#xff0c;包装成一个新的 Promise 实例。 const p Promise.all([p1, p2, p3]); p的状态由p1,p2,p3 决定&#xff0c;分成两种情况。 &#xff08;1&#xff09;只有p1、p2、p3的状态都变成fulfilled&#xff0c…

LeetCode - 42 接雨水

目录 题目来源 题目描述 示例 提示 题目解析 算法源码 题目来源 42. 接雨水 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例1 输入&…

金融交易行为监测方法——利用 CNN 模型实现行为识别

背景介绍在证劵交易所领域&#xff0c;曾经发生用户证券账号被盗事件&#xff0c;导致客户资产损失&#xff0c;例如&#xff1a;黑客获得了用户A的证券账号密码&#xff0c;利用多次的低买高卖将资产转移。本文中针对此类对敲欺诈的场景&#xff0c;采用将用户交易数据转换为图…

头脑风暴(一):Controller层前端传参接收;在Service层实现类中?为何要build相关构建器?添加套餐业务分析

文章目录1 MyBatis中Controller层List集合接收数据&#xff0c;泛型添加与否1.1 案例场景1.2 应该用什么接收1.3 是否可以用其他方式接收&#xff1f;1.4 LIst集合接收可否不指定泛型1.5 mybatis中使用基本类型接收数据&#xff1f;resultType是集合中的元素的类型&#xff0c;…

论文阅读笔记《GAMnet: Robust Feature Matching via Graph Adversarial-Matching Network》

核心思想 本文提出一种基于图对抗神经网络的图匹配算法&#xff08;GAMnet&#xff09;,使用图神经网络作为生成器分别生成源图和目标图的节点的特征&#xff0c;并用一个多层感知机作为辨别器来区分两个特征是否来自同一个图&#xff0c;通过对抗训练的办法提高生成器特征提取…

uniCloud基础使用-好文

云函数可以看做java或者php&#xff0c;作为后端服务cloudfunctions/myCloud/index.jsexports.main async (event, context) > {const { name, age } eventreturn 我是${name},今年${age} };pages/index/index.vue//callFunction方法 在前端和云端都可以调用另一个云函数 …

三十而立却被裁,打工人要如何应对职场危机?

又到金三银四就业季&#xff0c;对于部分职场人来说&#xff0c;年龄成为了他们找工作的最大限制。 因为绝大部分企业招聘中层干部以下岗位的时候&#xff0c;都会要求年龄不超过35周岁&#xff0c;再加上每年千万毕业生涌入社会&#xff0c;竞争程度相当激烈&#xff0c;这就导…

QML 模型(ListModel)

LIstModel&#xff08;列表模型&#xff09; ListModel 是ListElement定义的简单容器&#xff0c;每个定义都包含数据角色。内容可以在 QML 中动态定义或显式定义。 属性&#xff1a; count模型中数据条目的数量dynamic动态角色&#xff0c;默认情况下&#xff0c;角色的类型…

Android 进程间通信机制(一) IPC概念和模型

一. 前言 一直想把Binder机制认识清楚, 但是它涉及Android系统的Framework, Native, kernel层, 就需要你要有 C C基础阅读底层源码的能力, 目前笔者的水平,对Binder 在Native 和kernel层的实现原理和机制也是懵逼状态, 真的是博大精深, 故现阶段先把看懂和理解清楚的整理出来…

内核链表分析

内核链表 文章目录内核链表list_head创建链表添加节点1. list_add2. list_add_tail 接口删除节点宿主结构1.找出宿主结构 list_entry(ptr, type, member)2 container_of3. 宿主结构的遍历list_head 在 Linux 内核中&#xff0c;提供了一个用来创建双向循环链表的结构 list_hea…

海康摄像头使用RTSP

1.协议格式。海康威视IP摄像头rtsp协议地址如下&#xff1a;rtsp://[username]:[passwd][ip]:[port]/[codec]/[channel]/[subtype]/av_stream主码流&#xff1a;rtsp://admin:12345192.168.1.64:554/h264/ch1/main/av_streamrtsp://admin:12345192.168.1.64:554/MPEG-4/ch1/mai…

SpringCloud微服务保护

微服务保护微服务保护1.初识Sentinel1.1.雪崩问题及解决方案1.1.1.雪崩问题1.1.2.超时处理1.1.3.仓壁模式1.1.4.断路器1.1.5.限流1.1.6.总结1.2.服务保护技术对比1.3.Sentinel介绍和安装1.3.1.初识Sentinel1.3.2.安装Sentinel1.4.微服务整合Sentinel2.流量控制2.1.簇点链路2.1.…

java基础学习 day51 (匿名内部类)

1. 什么是匿名内部类&#xff1f; 隐藏了名字的内部类&#xff0c;实际名字为&#xff1a;外部类名$序号可以写在成员位置&#xff0c;为没有名字的成员内部类也可以写在局部位置&#xff0c;为没有名字的局部内部类 2. 匿名内部类的格式&#xff1f; new 类名/接口名() { 重…

深入理解AQS

概念设计初衷&#xff1a;该类利用 状态队列 实现了一个同步器&#xff0c;更多的是提供一些模板方法&#xff08;子类必须重写&#xff0c;不然会抛错&#xff09;。 设计功能&#xff1a;独占、共享模式两个核心&#xff0c;state、Queue2.1 statesetState、compareAndSetSta…

SpringMVC简单仿写

之前我分享过SpringMVC的基本原理与配置&#xff08;原文链接&#xff1a;https://blog.csdn.net/L170311/article/details/129339120&#xff09;,为了更深层次的学习&#xff0c;精益求精&#xff0c;手动仿写了一个MVC原理实现demo&#xff0c;一起学习一下吧 结构目录&…

使用预训练模型自动续写文本的四种方法

作者&#xff1a;皮皮雷 来源&#xff1a;投稿 编辑&#xff1a;学姐 这篇文章以中文通用领域文本生成为例&#xff0c;介绍四种常用的模型调用方法。在中文文本生成领域&#xff0c;huggingface上主要有以下比较热门的pytorch-based预训练模型&#xff1a; 本文用到了其中的ue…

RFID在技术在工业产线上的应用

RFID在技术在工业产线上的应用一工业产线需求制造业生产线几乎每月都要损耗大量物料&#xff0c;并且生产结果与预期因为有误差而影响交货的情况时有发生&#xff0c;生产线也往往因人为原因造成种种误差。将RFID标签贴在生产物料或产品上&#xff0c;可自动记录产品的数量、规…

学完Java只能在互联网公司任职吗?

当然不是只有互联网公司需要软件&#xff0c;需要开发技术人员&#xff0c;传统行业、新经济领域都有软件项目需求&#xff1b;Java也不是只能做网站、企业应用&#xff0c;还可以用于嵌入式、游戏…… 互联网时代的手机、智能电视、家具、机械设备等各种有形产品都将会嵌入智…

二、Neo4j源码研究系列 - 单步调试

二、Neo4j源码研究系列 - 单步调试 一、背景介绍 上一篇我们已经把了neo4j的源码准备以及打包流程完成了&#xff0c;本篇将讲解如何对neo4j进行单步调试。对于不了解如何编译打包neo4j的读者&#xff0c;请阅读《一、Neo4j源码研究系列 - 源代码准备》。 大纲&#xff1a; …