如果使用env的话,我有几点疑问:
1、配置环境变量的话,如果yarn有10个节点。那么每台是不是都要配置一下
2、因为是每个job都要传递,所以,这个应该是临时的环境变量吧
3、如果是配置的临时环境变量的话,那么在执行bin/flink run的时候,shell中是执行java
-cp的,此时的主类,是org.apache.flink.client.cli.CliFrontend,这种方式,环境变量在传递的时候,会丢吧?

Yang Wang <danrtsey...@gmail.com> 于2020年8月26日周三 上午10:17写道:

> 我建议可以通env的方式传,在logback或者log4j配置中直接引用相应的env
>
> 例如,可以通过如下两个配置传递clusterId到环境变量
> containerized.master.env.clusterId=my-flink-cluster
> containerized.taskmanager.env.clusterId=my-flink-cluster
>
> 另外,也有一些内置的环境变量可以来使用
> _FLINK_CONTAINER_ID
> _FLINK_NODE_ID
>
>
> Best,
> Yang
>
> zilong xiao <acidzz...@gmail.com> 于2020年8月25日周二 下午5:32写道:
>
> > 1:想加入跟业务相关的字段,例如jobId,jobName,可以继承PatternLayout,重写doLayout即可,在方法中对日志进行填充
> > 2:这些属性有办法可以从环境变量中获取
> >
> > Jim Chen <chenshuai19950...@gmail.com> 于2020年8月25日周二 下午4:49写道:
> >
> > > 大家好:
> > >     我们在做flink的日志收集到kafak时,使用的logback日志配置文件,目前的pattern是%d{yyyy-MM-dd
> > > HH:mm:ss.SSS} [%thread] %-5level %logger{60} -
> > > %msg,有没有什么办法在里面加入每个job的id,name或者tasknamanger的主机名之类的信息啊。在做ELK的时候,方便查询。
> > >     这个配置文件,是整个项目的,是基于Yarn的per job模式,难道每个主类打包的时候,都要改动不同的logbakc配置文件吗?
> > >
> >
>

回复