【大数据运维】Hadoop开启Yarn的日志监控功能

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 【大数据运维】Hadoop开启Yarn的日志监控功能

1.开启JobManager日志

(1)编辑NameNode配置文件${hadoop_home}/etc/hadoop/yarn-site.xml和mapred-site.xml11d3d104b2744c19927fdb7135949afc.jpg

  • 编辑yarn-site.xml
<!-- Site specific YARN configuration properties -->
<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <!-- 开启日志聚合 -->
  <!-- 是否启用日志聚集功能 -->
  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>
  <!-- 日志存储时间 -->
  <property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>10080</value>
  </property>
  <!--当应用程序运行结束后,日志被转移到的HDFS目录(启用日志聚集功能时有效),如此便可通过appmaster UI查看作业的运行日志。-->
  <property>
    <name>yarn.nodemanager.remote-app-log-dir</name>
    <value>/flink/log</value>
  </property>
  <!-- 日志服务器的地址 -->
  <property>
    <name>yarn.log.server.url</name>
    <value>http://localhost:19888/jobhistory/logs</value>
  </property>
  <!-- 正在运行中的日志在hdfs上的存放路径 -->
  <property>
    <name>mapreduce.jobhistory.intermediate-done-dir</name>
    <value>/history/done_intermediate</value>
  </property>
  <!-- 运行过的日志存放在hdfs上的存放路径 -->
  <property>
    <name>mapreduce.jobhistory.done-dir</name>
    <value>/history/done</value>
  </property>
</configuration>
  • 编辑mapred-site.xml
<property>
    <!-- 表示提交到hadoop中的任务采用yarn来运行,要是已经有该配置则无需重复配置 -->
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<property>
  <!--日志监控服务的地址,一般填写为namenode机器地址 -->
    <name>mapreduce.jobhistroy.address</name>
    <value>hadoop101:10020</value>
</property>
<!--填写为namenode机器地址-->
<property>
    <name>mapreduce.jobhistroy.webapp.address</name>
    <value>hadoop101:19888</value>
</property>
#复制配置文件到集群的其他机器
scp mapred-site.xml 用户@IP地址:/目标机器文件夹路径
scp yarn-site.xml 用户@IP地址:/目标机器文件夹路径

(3)重启yarn,重启历史服务

e72b2467550f4384a982e24120121d5c.jpg

./stop-yarn.sh && ./start-yarn.sh
#进入到hadoop的安装目录
cd ${hadoophome}/hadoop/sbin

f4dcc7a900ee450db22e07f8428da3e3.jpg

kill -9 117681 && ./mr-jobhistory-daemon.sh start historyserver

(4)查看服务运行情况

jps


a629513711f54bc29881973378644d1e.jpg

(5)运行flink on yarn

99067308b4e64ae5950f228e5c626267.jpg

./bin/flink run -m yarn-cluster -c com.lixiang.app.FlinkDemo ./flink-demo-jar-with-dependencies.jar

image.jpeg

(6)查看hadoop控制台


ce8e32b4cade431386d887e069d61595.jpg

image.jpeg


image.jpeg

2.开启TaskManager日志

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <property>
                <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://192.168.139.101:3306/metastore?useSSL=false</value>
        </property>
        <property>
                <name>javax.jdo.option.ConnectionDriverName</name>
                <value>com.mysql.jdbc.Driver</value>
        </property>
        <property>
                <name>javax.jdo.option.ConnectionUserName</name>
                <value>root</value>
        </property>
        <property>
                <name>hive.metastore.warehouse.dir</name>
                <value>/user/hive/warehouse</value>
        </property>
        <property>
                <name>javax.jdo.option.ConnectionPassword</name>
                <value>123456</value>
        </property>
        <property>
                <name>hive.metastore.schema.verification</name>
                <value>false</value>
        </property>
        <property>
                <name>hive.metastore.event.db.notification.api.auth</name>
                <value>false</value>
        </property>
         <property>
                <name>hive.cli.print.current.db</name>
                <value>true</value>
        </property>
         <property>
                <name>hive.cli.print.header</name>
                <value>true</value>
        </property>
        <property>
                <name>hive.server2.thrift.bind.host</name>
                <value>ip</value>
        </property>
        <property>
                <name>hive.server2.thrift.port</name>
                <value>10000</value>
        </property>
</configuration>
CREATE EXTERNAL TABLE tweets
 COMMENT "A table backed by Avro data with the Avro schema embedded in the CREATE TABLE statement"
 ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
 STORED AS
 INPUTFORMAT  'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
 OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
 LOCATION '/user/hive/warehouse'
 TBLPROPERTIES (
    'avro.schema.literal'='{
        "type": "record",
        "name": "Tweet",
        "namespace": "com.miguno.avro",
        "fields": [
            { "name":"username",  "type":"string"},
            { "name":"tweet",     "type":"string"},
            { "name":"timestamp", "type":"long"}
        ]
   }'
 );
 insert into tweets values('zhaoliu','Hello word',13800000000);
 select * from tweets;
//建立外部 schema
CREATE EXTERNAL TABLE avro_test1
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
STORED AS
INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
LOCATION '/user/tmp'
TBLPROPERTIES (
'avro.schema.url'='hdfs:///user/hive/warehouse/student.avsc'
);
{
    "type":"record",
    "name":"student",
    "namespace":"com.tiejia.avro",
    "fields":[
        {
            "name":"SID",
            "type":"string",
            "default":""
        },
        {
            "name":"Name",
            "type":"string",
            "default":""
        },
        {
            "name":"Dept",
            "type":"string",
            "default":""
        },
        {
            "name":"Phone",
            "type":"string",
            "default":""
        },
        {
            "name":"Age",
            "type":"string",
            "default":""
        },
        {
            "name":"Date",
            "type":"string",
            "default":""
        }
    ]
}
 "type": "record",
     "name": "Tweet",
     "namespace": "com.miguno.avro",
     "fields": [
        {
           "name": "username",
           "type": "string"
        },
        {
           "name": "tweet",
           "type": "string"
        },
        {
           "name": "timestamp",
           "type": "long"
        }
   ]
}
CREATE EXTERNAL TABLE tweets
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
STORED AS
INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
LOCATION '/user/tmp'
TBLPROPERTIES (
'avro.schema.url'='hdfs:///user/hive/warehouse/tweets.avsc'
);


相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
相关文章
|
4月前
|
存储 Go
Go 浅析主流日志库:从设计层学习如何集成日志轮转与切割功能
本文将探讨几个热门的 go 日志库如 logrus、zap 和官网的 slog,我将分析这些库的的关键设计元素,探讨它们是如何支持日志轮转与切割功能的配置。
125 0
Go 浅析主流日志库:从设计层学习如何集成日志轮转与切割功能
|
5月前
|
资源调度 前端开发 大数据
大数据的yarn和前端的yarn冲突解决
大数据的yarn和前端的yarn冲突解决
|
7月前
|
C++
C++-实现日志log功能
C++-实现日志log功能
|
12天前
|
分布式计算 DataWorks 大数据
DataWorks产品使用合集之在DataWorks中,在MaxCompute中使用解压缩功能如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
33 0
|
12天前
|
分布式计算 DataWorks MaxCompute
DataWorks产品使用合集之在DataWorks中,将数据集成功能将AnalyticDB for MySQL中的数据实时同步到MaxCompute中如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
24 0
|
16天前
|
SQL 分布式计算 监控
日志服务主要功能
本文介绍日志服务主要的功能。
30 2
|
17天前
|
缓存 Java 测试技术
Java多线程实战-实现多线程文件下载,支持断点续传、日志记录等功能
Java多线程实战-实现多线程文件下载,支持断点续传、日志记录等功能
|
4月前
|
数据可视化 API 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用相机日志跟踪功能(C++)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用相机日志跟踪功能(C++)
34 0
|
4月前
|
canal 消息中间件 关系型数据库
大数据数据库增量日志采集之Canal
大数据数据库增量日志采集之Canal
|
5月前
|
资源调度 分布式计算 Hadoop
大数据面试题百日更新_Hadoop专题_Yarn专题(Day11)
大数据面试题百日更新_Hadoop专题_Yarn专题(Day11)
39 0

热门文章

最新文章