-
MRS 服务关于Apache log4j远程代码执行漏洞排查及紧急修复声明一、漏洞情况简介Apache Log4j2是一个基于Java的日志记录工具。该工具重写了Log4j框架,并且引入了大量丰富的特性。该日志框架被大量用于业务系统开发,用来记录日志信息。大多数情况下,开发者可能会将用户输入导致的错误信息写入日志中。此次漏洞触发条件为只要外部用户输入的数据会被日志记录,即可造成远程代码执行。该漏洞影响范围广,漏洞危害大,请尽快采取安全措施,阻止漏洞攻击事件的发生。二、MRS服务受影响的大数据组件• Hive• Flink• Spark• Manager(Tomcat)• Tez• Impala• Ranger• Presto• Oozie三、应用侧(客户端侧)排查指引排查主要以检测Java应用是否包含log4j-api.jar和log4j-core.jar为主,具体措施如下:• Windows:在项目目录中搜索关键字“log4j”,查看输出是否含有两个关键jar包,并通过jar包文件名和项目pom.xml文件确认jar包版本是否在2.0-2.14.1版本之间。• Linux:切换到项目目录下,运行命令 find . -name 'log4j*.jar'并查看输出是否含有两个关键jar包,并通过jar包文件名和项目pom.xml文件确认jar包版本是否在2.0-2.14.1版本之间。四、应用侧(客户端侧)修补指引应急缓解措施:在 JVM 参数中添加 -Dlog4j2.formatMsgNoLookups=true 或者在 log4j 的配置中设置 log4j2.formatMsgNoLookups=True 然后重启应用。重启应用会影响业务,请评估影响后执行。五、MRS集群侧组件修复指引修改MRS Manager Tomcat1) 登录MRS集群主备master节点,主备节点ip可在 “主机管理”页面获取,主机列表中标记记“★”的节点为主master节点,标记“☆”的节点为备master节点。2)执行以下命令:vi /opt/Bigdata/om-server/tomcat/bin/catalina.sh在如下图所示处,添加-Dlog4j2.formatMsgNoLookups=true【注意参数两边空格】, 保存并退出3)对主master节点执行以下命令,切换到omm用户并重启tomcatsu - ommsh /opt/Bigdata/om-server/tomcat/bin/shutdown.shsh /opt/Bigdata/om-server/tomcat/bin/startup.sh4)自动重新拉起后ps -ef | grep apache-tomcat查看如下图所示修改完成修改其他大数据组件参照第二节涉及组件范围,对当前集群已安装的组件依次进行配置修改。配置或文件修改需重启后生效,重启过程会影响业务运行,请评估影响后执行。请尽量使用滚动重启,以减少对业务的影响,各涉及组件操作方法如下Hive1) 在Manager页面Hive组件全部配置中,搜索OPTS配置,在HIVE_GC_OPTS、METASTORE_GC_OPTS和WEBHCAT_GC_OPTS中内容末尾添加 -Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】2) 点击保存配置,重启Hive。3) 在对应实例后台查看进程 ps -ef|grep HiveService,查看参数已生效。Tez1) 在Manager页面Tez组件全部配置中,搜索OPTS配置,在TEZUI_GC_OPTS中内容末尾添加 -Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】2) 点击保存配置,重启Tez。3) 在对应实例后台查看进程 ps -ef|grep tez,查看参数已生效。Oozie1) 在Manager页面Oozie组件全部配置中,搜索GC_OPTS配置,在所有角色的GC_OPTS配置项内容末尾添加 -Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】2) 点击保存配置,重启Oozie。3) 在对应实例后台查看进程 ps -ef|grep oozie,查看参数已生效。Ranger1) 在Manager页面Ranger组件全部配置中,搜索GC_OPTS配置,在所有角色的GC_OPTS配置项内容末尾添加 -Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】2) 点击保存配置,重启Ranger。3) 在对应实例后台查看进程 ps -ef|grep ranger,查看参数已生效。Flink1) 在Manager页面Flink组件全部配置中,搜索FLINK_SERVER_GC_OPTS配置,在所有角色的GC_OPTS配置项内容末尾添加 -Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】2) 点击保存配置,重启Flink。3) 在对应实例后台查看进程 ps -ef|grep flink,查看参数已生效。4) 修改Flink客户端安装目录下的Flink/flink/conf/flink-conf.yaml中的env.java.opts,在配置末尾追加-Dlog4j2.formatMsgNoLookups=trueSpark1) 在Manager页面Spark组件全部配置中,搜索GC配置,在SPARK_DAEMON_JAVA_OPTS、spark.driver.extraJavaOptions、spark.yarn.cluster.driver.extraJavaOptions 、spark.executor.extraJavaOptions 中内容末尾添加 -Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】2) 点击保存配置,重启Spark。3) 在对应实例后台查看进程 ps -ef|grep jdbcserver,查看参数已生效。4) 修改spark客户端目录Spark/spark/conf/spark-default.conf,在spark.executor.extraJavaOptions和spark.driver.extraJavaOptions参数末尾追加-Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】Presto1) 停止Presto服务2) 在所有Presto实例安装节点执行命令删除log4j-core包中的jndilookup类su - ommzip -q -d /opt/Bigdata/FusionInsight_Presto_8.1.0.1/install/FusionInsight-Presto-333/presto/plugin/elasticsearch/log4j-core-2.9.1.jar org/apache/logging/log4j/core/lookup/JndiLookup.class3) 重启Presto。Impala1) 登录Impala各实例安装节点,修改脚本/opt/Bigdata/FusionInsight_Impala_8.1.0.1/install/FusionInsight-Impala-3.4.0/impala/sbin/impala-env.sh,在变量JAVA_TOOL_OPTIONS末尾追加-Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】,保存后重启Impala服务
-
一、漏洞情况简介Apache Log4j2是一个基于Java的日志记录工具。该工具重写了Log4j框架,并且引入了大量丰富的特性。该日志框架被大量用于业务系统开发,用来记录日志信息。大多数情况下,开发者可能会将用户输入导致的错误信息写入日志中。此次漏洞触发条件为只要外部用户输入的数据会被日志记录,即可造成远程代码执行。该漏洞影响范围广,漏洞危害大,请尽快采取安全措施,阻止漏洞攻击事件的发生。二、MRS服务受影响的大数据组件LoaderHiveStormPrestoImpalaTezHadoopManager(Tomcat) 三、应用侧(客户端侧)排查指引排查主要以检测Java应用是否包含log4j-api.jar和log4j-core.jar为主,具体措施如下:Windows:在项目目录中搜索关键字“log4j”,查看输出是否含有两个关键jar包,并通过jar包文件名和项目xml文件确认jar包版本是否在2.0-2.14.1版本之间。Linux:切换到项目目录下,运行命令并查看输出是否含有两个关键jar包,并通过jar包文件名和项目xml文件确认jar包版本是否在2.0-2.14.1版本之间:如下分别是执行的两个不同命令以及截图find . / | grep log4j-api搜索结果如下,以下搜索结果除Storm外必须使用如下命令find . / | grep log4j-core将log4j-core-2.8.2.jar,log4j-core-2.9.1.jar,log4j-api-2.9.1.jar和log4j-api-2.8.2.jar的软链接替换为log4j-core-2.10.0.jar和log4j-api-2.10.0.jar。具体执行如下步骤:登录集群所有节点,使用omm用户执行以下命令:find . / | grep log4j-api 查找出相应的jar包和路径替换软连接,备份 log4j-api 包su - ommcd /opt/Bigdata/om-0.0.1/share/om/controller/lib/ ln -s /opt/share/log4j-api-2.10.0/log4j-api-2.10.0.jar log4j-api-2.10.0.jarmv /opt/Bigdata/om-0.0.1/share/om/controller/lib/log4j-api-2.8.2.jar /opt/Bigdata/om-0.0.1/share/om/controller/lib/log4j-api-2.8.2.jar-bakcd /opt/Bigdata/MRS_2.1.1/install/FusionInsight-Presto-316/presto/plugin/presto-elasticsearch/ ln -s /opt/share/log4j-api-2.10.0/log4j-api-2.10.0.jar log4j-api-2.10.0.jarmv /opt/Bigdata/MRS_2.1.1/install/FusionInsight-Presto-316/presto/plugin/presto-elasticsearch/log4j-api-2.9.1.jar /opt/Bigdata/MRS_2.1.1/install/FusionInsight-Presto-316/presto/plugin/presto-elasticsearch/log4j-api-2.9.1.jar-bakcd /opt/Bigdata/apache-tomcat-7.0.78/webapps/web/WEB-INF/lib/cp /opt/share/log4j-api-2.10.0/log4j-api-2.10.0.jar /opt/Bigdata/apache-tomcat-7.0.78/webapps/web/WEB-INF/lib/log4j-api-2.10.0.jarmv /opt/Bigdata/apache-tomcat-7.0.78/webapps/web/WEB-INF/lib/log4j-api-2.8.2.jar /opt/Bigdata/apache-tomcat-7.0.78/webapps/web/WEB-INF/lib/log4j-api-2.8.2.jar-bakcd /opt/Bigdata/MRS_2.1.1/install/FusionInsight-Sqoop-1.99.7/FusionInsight-Sqoop-1.99.7/server/lib/ln -s /opt/share/log4j-api-2.10.0/log4j-api-2.10.0.jar log4j-api-2.10.0.jarmv /opt/Bigdata/MRS_2.1.1/install/FusionInsight-Sqoop-1.99.7/FusionInsight-Sqoop-1.99.7/server/lib/log4j-api-2.8.2.jar /opt/Bigdata/MRS_2.1.1/install/FusionInsight-Sqoop-1.99.7/FusionInsight-Sqoop-1.99.7/server/lib/log4j-api-2.8.2.jar-bakcd /opt/Bigdata/MRS_2.1.1/install/FusionInsight-Impala-3.2.0/impala/dependency/ ln -s /opt/share/log4j-api-2.10.0/log4j-api-2.10.0.jar log4j-api-2.10.0.jarmv /opt/Bigdata/MRS_2.1.1/install/FusionInsight-Impala-3.2.0/impala/dependency/log4j-api-2.8.2.jar /opt/Bigdata/MRS_2.1.1/install/FusionInsight-Impala-3.2.0/impala/dependency/log4j-api-2.8.2.jar-bak cd /opt/client/Impala/impala/dependency/ ln -s /opt/share/log4j-api-2.10.0/log4j-api-2.10.0.jar log4j-api-2.10.0.jarmv /opt/client/Impala/impala/dependency/log4j-api-2.8.2.jar /opt/client/Impala/impala/dependency/log4j-api-2.8.2.jar-bakfind . / | grep log4j-core查找出相应的jar包和路径替换软连接,备份 log4j-core 包cd /opt/Bigdata/om-0.0.1/share/om/controller/lib/ln -s /opt/share/log4j-core-2.10.0/log4j-core-2.10.0.jar log4j-core-2.10.0.jarmv /opt/Bigdata/om-0.0.1/share/om/controller/lib/log4j-core-2.8.2.jar /opt/Bigdata/om-0.0.1/share/om/controller/lib/log4j-core-2.8.2.jar-bakcd /opt/Bigdata/apache-tomcat-7.0.78/webapps/web/WEB-INF/lib/ cp /opt/share/log4j-core-2.10.0/log4j-core-2.10.0.jar /opt/Bigdata/apache-tomcat-7.0.78/webapps/web/WEB-INF/lib/log4j-core-2.10.0.jarmv /opt/Bigdata/apache-tomcat-7.0.78/webapps/web/WEB-INF/lib/log4j-core-2.8.2.jar /opt/Bigdata/apache-tomcat-7.0.78/webapps/web/WEB-INF/lib/log4j-core-2.8.2.jar-bakcd /opt/Bigdata/MRS_2.1.1/install/FusionInsight-Presto-316/presto/plugin/presto-elasticsearch/ln -s /opt/share/log4j-core-2.10.0/log4j-core-2.10.0.jar log4j-core-2.10.0.jarmv /opt/Bigdata/MRS_2.1.1/install/FusionInsight-Presto-316/presto/plugin/presto-elasticsearch/log4j-core-2.9.1.jar /opt/Bigdata/MRS_2.1.1/install/FusionInsight-Presto-316/presto/plugin/presto-elasticsearch/log4j-core-2.9.1.jar-bakcd /opt/Bigdata/MRS_2.1.1/install/FusionInsight-Sqoop-1.99.7/FusionInsight-Sqoop-1.99.7/server/lib/ln -s /opt/share/log4j-core-2.10.0/log4j-core-2.10.0.jar log4j-core-2.10.0.jarmv /opt/Bigdata/MRS_2.1.1/install/FusionInsight-Sqoop-1.99.7/FusionInsight-Sqoop-1.99.7/server/lib/log4j-core-2.8.2.jar /opt/Bigdata/MRS_2.1.1/install/FusionInsight-Sqoop-1.99.7/FusionInsight-Sqoop-1.99.7/server/lib/log4j-core-2.8.2.jar-bakcd /opt/Bigdata/MRS_2.1.1/install/FusionInsight-Impala-3.2.0/impala/dependency/ ln -s /opt/share/log4j-core-2.10.0/log4j-core-2.10.0.jar log4j-core-2.10.0.jarmv /opt/Bigdata/MRS_2.1.1/install/FusionInsight-Impala-3.2.0/impala/dependency/log4j-core-2.8.2.jar /opt/Bigdata/MRS_2.1.1/install/FusionInsight-Impala-3.2.0/impala/dependency/log4j-core-2.8.2.jar-bakcd /opt/client/Impala/impala/dependency/ln -s /opt/share/log4j-core-2.10.0/log4j-core-2.10.0.jar log4j-core-2.10.0.jarmv /opt/client/Impala/impala/dependency/log4j-core-2.8.2.jar /opt/client/Impala/impala/dependency/log4j-core-2.8.2.jar-bakStorm服务应该使用此命令:zip -q -d /opt/Bigdata/MRS_2.1.1/install/FusionInsight-Storm-1.2.1/storm/lib/log4j-core-2.8.2.jar org/apache/logging/log4j/core/lookup/JndiLookup.class 处理,目的是删除JndiLookup.class这个影响的类。(如过想验证是否删除了此类,执行命令后去对应路径查找log4j-core-2.8.2.jar,下载到本地解压后会找不到此类说明执行成功。)四、应用侧(客户端侧)修补指引应急缓解措施:在 JVM 参数中添加 -Dlog4j2.formatMsgNoLookups=true 或者在 log4j 的配置中设置 log4j2.formatMsgNoLookups=True 然后重启应用。五、MRS集群侧组件修复指引1. 修改MRS Manager Tomcat1)登录MRS集群主,备oms节点,执行以下命令: vi /opt/Bigdata/tomcat/bin/catalina.sh在如下图所示处,添加-Dlog4j2.formatMsgNoLookups=true【注意参数两边空格】, 保存并退出注意:查找此参数时,需要用命令“:set number”打开行显示找出相应位置(后续为了方便查找,建议都打开行显示)2)在MRS主节点上查询tomcat进程ps -ef | grep apache-tomcat切换成omm用户su - ommsh /opt/Bigdata/tomcat/bin/shutdown.shsh /opt/Bigdata/tomcat/bin/startup.sh3)重新拉起后ps -ef | grep tomcat | grep NoLook查看如下图所示修改完成2. 修改MRS Controller1)登录MRS集群主,备oms节点,执行以下命令:vi /opt/Bigdata/om-0.0.1/sbin/controller.sh在如下图所示处,添加-Dlog4j2.formatMsgNoLookups=true【注意参数两边空格】, 保存并退出2)在MRS主节点上切换成omm用户,重启controllersu - ommsh /opt/Bigdata/om-0.0.1/sbin/restart-controller.sh3)等待3~5分钟重新拉起后ps -ef | grep ControllerService | grep NoLook查看如下图所示修改完成3. 修改其他大数据组件参照第二节涉及组件范围,对当前集群已安装的组件依次进行配置修改。修改配置后尽量使用滚动重启,以减少对业务的影响。 Loader1)在Manager页面Loader组件全部配置中,搜索OPTS配置,在LOADER_GC_OPTS中内容末尾添加 -Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】2) 点击保存配置,重启Loader。3) 在对应实例后台查看进程 ps -ef | grep Loader| grep NoLook,查看参数已生效。Hive1)在Manager页面Hive组件全部配置中,搜索OPTS配置,在HIVE_GC_OPTS、METASTORE_GC_OPTS和WEBHCAT_GC_OPTS中内容末尾添加 -Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】2) 点击保存配置,滚动重启Hive。3) 在对应实例后台查看进程 ps -ef | grep HiveService | grep NoLook,查看参数已生效。Impala1) 登录Impala各实例安装节点,修改脚本/opt/Bigdata/MRS_2.1.1/install/FusionInsight-Impala-3.2.0/impala/sbin/impala-env.sh,在impala-env.sh末尾追加新一行参数export JAVA_TOOL_OPTIONS="-Dlog4j2.formatMsgNoLookups=true ${JAVA_TOOL_OPTIONS}"2) 保存后重启Impala服务 Presto1) 在Manager页面Presto组件全部配置中,搜索OPTS配置,在Presto->Coordinator和Presto->Worker中内容末尾添加 -Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】2) 点击保存配置,滚动重启(可能不支持滚动重启,则重启即可)。3) 在对应实例后台查看进程ps -ef | grep Presto | grep NoLook,查看参数已生效。 Tez1)在Manager页面Tez组件全部配置中,搜索OPTS配置,在TEZUI_GC_OPTS中内容末尾添加 -Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】2) 点击保存配置,滚动重启(可能不支持滚动重启,则重启即可)Tez3) 在对应实例后台查看进程ps -ef | grep tez | grep NoLook查看参数已生效 Hadoop1)在Manager页面HDFS和MapReduce组件全部配置中,搜索OPTS配置,在HDFS->NameNode、HDFS->Zkfc、HDFS->DataNode、HDFS->JournalNode、Mapreduce->JobHistoryServer中内容末尾添加 -Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】2) 点击保存配置,滚动重启HDFS和MapReduce。3) 在对应实例后台查看进程,查看参数已生效。
-
MRS 服务关于Apache log4j远程代码执行漏洞排查及紧急修复声明一、漏洞情况简介Apache Log4j2是一个基于Java的日志记录工具。该工具重写了Log4j框架,并且引入了大量丰富的特性。该日志框架被大量用于业务系统开发,用来记录日志信息。大多数情况下,开发者可能会将用户输入导致的错误信息写入日志中。此次漏洞触发条件为只要外部用户输入的数据会被日志记录,即可造成远程代码执行。该漏洞影响范围广,漏洞危害大,请尽快采取安全措施,阻止漏洞攻击事件的发生。二、MRS服务受影响的大数据组件• Hive• Flink• Spark• Manager(Tomcat)• Tez• Impala• Ranger• Presto• Oozie三、应用侧(客户端侧)排查指引排查主要以检测Java应用是否包含log4j-api.jar和log4j-core.jar为主,具体措施如下:• Windows:在项目目录中搜索关键字“log4j”,查看输出是否含有两个关键jar包,并通过jar包文件名和项目pom.xml文件确认jar包版本是否在2.0-2.14.1版本之间。• Linux:切换到项目目录下,运行命令 find . -name ‘log4j*.jar’并查看输出是否含有两个关键jar包,并通过jar包文件名和项目pom.xml文件确认jar包版本是否在2.0-2.14.1版本之间。四、应用侧(客户端侧)修补指引应急缓解措施:在 JVM 参数中添加 -Dlog4j2.formatMsgNoLookups=true 或者在 log4j 的配置中设置 log4j2.formatMsgNoLookups=True 然后重启应用。重启应用会影响业务,请评估影响后执行。五、MRS集群侧组件修复指引修改MRS Manager Tomcat1) 登录MRS集群主备master节点,主备节点ip可在 “主机管理”页面获取,主机列表中标记记“★”的节点为主master节点,标记“☆”的节点为备master节点。2)执行以下命令:vi /opt/Bigdata/om-server/tomcat/bin/catalina.sh在如下图所示处,添加-Dlog4j2.formatMsgNoLookups=true【注意参数两边空格】, 保存并退出3)对主master节点执行以下命令,切换到omm用户并重启tomcatsu - ommsh /opt/Bigdata/om-server/tomcat/bin/shutdown.shsh /opt/Bigdata/om-server/tomcat/bin/startup.sh4)自动重新拉起后ps -ef | grep apache-tomcat查看如下图所示修改完成修改其他大数据组件参照第二节涉及组件范围,对当前集群已安装的组件依次进行配置修改。配置或文件修改需重启后生效,重启过程会影响业务运行,请评估影响后执行。请尽量使用滚动重启,以减少对业务的影响,各涉及组件操作方法如下Hive1) 在Manager页面Hive组件全部配置中,搜索OPTS配置,在HIVE_GC_OPTS、METASTORE_GC_OPTS和WEBHCAT_GC_OPTS中内容末尾添加 -Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】2) 点击保存配置,重启Hive。3) 在对应实例后台查看进程 ps -ef|grep HiveService,查看参数已生效。Tez1) 在Manager页面Tez组件全部配置中,搜索OPTS配置,在TEZUI_GC_OPTS中内容末尾添加 -Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】2) 点击保存配置,重启Tez。3) 在对应实例后台查看进程 ps -ef|grep tez,查看参数已生效。Oozie1) 在Manager页面Oozie组件全部配置中,搜索GC_OPTS配置,在所有角色的GC_OPTS配置项内容末尾添加 -Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】2) 点击保存配置,重启Oozie。3) 在对应实例后台查看进程 ps -ef|grep oozie,查看参数已生效。Ranger1) 在Manager页面Ranger组件全部配置中,搜索GC_OPTS配置,在所有角色的GC_OPTS配置项内容末尾添加 -Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】2) 点击保存配置,重启Ranger。3) 在对应实例后台查看进程 ps -ef|grep ranger,查看参数已生效。Flink1) 在Manager页面Flink组件全部配置中,搜索FLINK_SERVER_GC_OPTS配置,在所有角色的GC_OPTS配置项内容末尾添加 -Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】2) 点击保存配置,重启Flink。3) 在对应实例后台查看进程 ps -ef|grep flink,查看参数已生效。4) 修改Flink客户端安装目录下的Flink/flink/conf/flink-conf.yaml中的env.java.opts,在配置末尾追加-Dlog4j2.formatMsgNoLookups=trueSpark1) 在Manager页面Spark组件全部配置中,搜索GC配置,在SPARK_DAEMON_JAVA_OPTS、spark.driver.extraJavaOptions、spark.yarn.cluster.driver.extraJavaOptions 、spark.executor.extraJavaOptions 中内容末尾添加 -Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】2) 点击保存配置,重启Spark。3) 在对应实例后台查看进程 ps -ef|grep jdbcserver,查看参数已生效。4) 修改spark客户端目录Spark/spark/conf/spark-default.conf,在spark.executor.extraJavaOptions和spark.driver.extraJavaOptions参数末尾追加-Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】Presto1) 停止Presto服务2) 在所有Presto实例安装节点执行命令删除log4j-core包中的jndilookup类su - ommzip -q -d /opt/Bigdata/FusionInsight_Presto_8.1.0.1/install/FusionInsight-Presto-333/presto/plugin/elasticsearch/log4j-core-2.9.1.jar org/apache/logging/log4j/core/lookup/JndiLookup.class3) 重启Presto。Impala1) 登录Impala各实例安装节点,修改脚本/opt/Bigdata/FusionInsight_Impala_8.1.0.1/install/FusionInsight-Impala-3.4.0/impala/sbin/impala-env.sh,在变量JAVA_TOOL_OPTIONS末尾追加-Dlog4j2.formatMsgNoLookups=true【注意与前参数有空格】,保存后重启Impala服务
-
-
如图,我已经完成了sigar-lib-1.6.4.jar包的编译与打包,但是只解决了libsigar-aarch64-linux.so的问题,这些so库没有任何变更,查阅过的教程也只是替换了这一个so库就可以通过迁移扫描,具体是什么原因?(注:sigar-lib-1.6.4的源码包大小为2m左右
-
首先需要在IVR的服务器上安装好CTI用户的java运行环境,然后使用Demo中的jar包和流程文件。
-
【功能模块】【操作步骤&问题现象】1、微服务引用的这两个包最终一个引用了validation-api的jar一个依赖了jakarta.validation-api-2.0.2,两个包冲突,怎么办2、【截图信息】【日志信息】(可选,上传日志内容或者附件)Caused by: org.springframework.beans.factory.BeanCreationException Error creating bean with name 'parameterValidatorFilter' defined in URL [jar:file:/usr/local/tomcat/webapps/ROOT/WEB-INF/lib/java-chassis-core-2.3.2.jar!/org/apache/servicecomb/core/filter/impl/ParameterValidatorFilter.class]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: javax.validation.BootstrapConfiguration.getClockProviderClassName()Ljava/lang/String;
-
【问题来源】【必填】 易谷网络 【问题简要】【必填】 AICC中的isale模块部署失败【问题类别】【必填】 可选问题分类: 智能外呼【AICC解决方案版本】【必填】 AICC可选择版本:8.14.1 UAP可选择版本:UAP9600 CTI可选择版本:ICD V300R008C22【问题现象描述】【必填】 isale部署,执行到“安装isale”环节失败, 第一次错误为:cp: cannot stat '/root/breeze/ideploy/20210730151600.202/component/ojdbc8-*.jar': No such file or directory[WARN] [21-07-30 16:19:24 iDeployLog] cp: cannot stat '/root/breeze/ideploy/20210730151600.202/component/ojdbc8-*.jar': No such file or directory[ERROR][21-07-30 16:19:24 func_install_isales] cp package[iSalesService.tar.gz] FAILED! 操作:我发现/root/breeze/ideploy/20210730151600.202/component/目录下没有ojdbc8-开头的jar包,只有一个ojdbc8.jar,于是我把ojdbc8.jar更名为ojdbc8-1.jar,重新执行安装,此问题没再报错。 紧急这出现第二种错误为:inflating: conf/jmxc.propertiesreplace conf/jmxclient.properties? [y]es, [n]o, [A]ll, [N]one, [r]ename:[ERROR]com.huawei.breeze.ideploy.task.ExecuteTimeoutException 操作:重复执行安装依然报此错误,具体见附件中的日志图【期望解决时间】【选填】 立即 【日志或错误截图】【可选】[StepName] 安装 ISALESAPP 开始执行[StepName]command [ isales_main_container.sh install_isales ][INFO] [21-07-30 16:19:24 func_inflatePackage] inflated [/root/breeze/ideploy/20210730151600.202/component/iSalesService.tar.gz] to [/home/isalesinstall] SUCCESSFUL!Archive: /home/isalesinstall/iSalesService/OpenAS_Tomcat9.zipcreating: lib/creating: bin/creating: logs/creating: plugins/creating: temp/creating: conf/creating: webapps/creating: agent/creating: agent/appagent/creating: agent/appagent/logs/creating: agent/appagent/conf/creating: agent/appagent/lib/inflating: conf/jmxc.propertiesinflating: conf/jmxclient.propertiesinflating: conf/jmxremote.propertiesinflating: conf/tomcatKeyStoreinflating: conf/log4j2.xmlinflating: conf/alarm.propertiesinflating: conf/sk.propertiesinflating: conf/jmxclientsk.propertiesinflating: conf/jmxremote.accessinflating: conf/kf.propertiescreating: bin/keymodify/creating: bin/vcs/creating: bin/datacollector/creating: bin/IP/creating: bin/kiddle/inflating: bin/vcs/online.shinflating: bin/vcs/offline.shinflating: bin/vcs/monitor.shinflating: bin/vcs/commons.shinflating: bin/datacollector/getmemory.shinflating: bin/datacollector/gc_collect.shinflating: bin/datacollector/filedescriptor_collect.shinflating: bin/datacollector/threaddump_collect.shinflating: bin/datacollector/physicalmemory_collect.shinflating: bin/datacollector/jvmmemory_collect.shinflating: bin/datacollector/cpu_collect.shinflating: bin/datacollector/net_collect.shinflating: bin/datacollector/diskusage_collect.shinflating: bin/datacollector/common.shinflating: bin/datacollector/ibm_collect.shinflating: bin/datacollector/archive_utils.shinflating: bin/datacollector/diskio_collect.shinflating: bin/datacollector/heapdump_collect.shinflating: bin/datacollector/archive_utils_watchdog.shinflating: bin/kiddle/setkidenv.shinflating: bin/IP/openas_IPModify_interactive.shinflating: bin/IP/openas_IPModify.shinflating: bin/kiddle.shinflating: bin/stop_openas_interactive.shinflating: bin/stop_openas.shinflating: bin/setvmargs.shinflating: bin/config_changed_notification_openas.shinflating: bin/postcheck.shinflating: bin/config_changed_notification_openas_interactive.shinflating: bin/start_openas.shinflating: bin/status.shinflating: bin/setenv.shinflating: bin/kiddle_interactive.shinflating: bin/checkContainer.shinflating: bin/resource_collector.shinflating: bin/keymodify/extendProperty.propertiesinflating: bin/pub.libextracting: bin/kiddle/com.huawei.openas.tomcat.mbeantool-6.2.07.B150.jarcreating: lib/user/creating: lib/openas/creating: lib/ejb/extracting: lib/openas/com.huawei.soa.foundation.cipherutil-6.2.07.B150.jarextracting: lib/openas/log4j-1.2-api-2.13.2.jarextracting: lib/openas/com.huawei.soa.foundation.openas.common-6.2.07.B150.jarextracting: lib/openas/log4j-api-2.13.2.jarextracting: lib/openas/log4j-appserver-2.13.2.jarextracting: lib/openas/com.huawei.openas.tomcat.mbeanregister-6.2.07.B150.jarextracting: lib/openas/com.huawei.openas.tomcat.monitor-6.2.07.B150.jarextracting: lib/openas/com.huawei.openas.tomcat.adapter-6.2.07.B150.jarextracting: lib/openas/commons-lang3-3.11.jarextracting: lib/openas/com.huawei.openas.jmx-6.2.07.B150.jarextracting: lib/openas/log4j-core-2.13.2.jarextracting: lib/openas/com.huawei.openas.tomcat.login-6.2.07.B150.jarextracting: lib/openas/log4j-web-2.13.2.jarcreating: webapps/ROOT/creating: webapps/ROOT/WEB-INF/inflating: webapps/ROOT/ERROR.htmlinflating: webapps/ROOT/WEB-INF/web.xmlinflating: webapps/ROOT/welcome.htmlinflating: conf/web.xmlinflating: conf/catalina.propertiesinflating: conf/server.xmlinflating: conf/context.xmlinflating: conf/jaspic-providers.xmlinflating: conf/tomcat-users.xmlinflating: conf/catalina.policyinflating: bin/tool-wrapper.shinflating: bin/ciphers.shinflating: bin/daemon.shinflating: bin/makebase.shinflating: bin/catalina.shinflating: bin/configcheck.shinflating: bin/digest.shinflating: bin/setclasspath.shinflating: bin/shutdown.shinflating: bin/version.shinflating: bin/startup.shinflating: bin/catalina-tasks.xmlinflating: bin/ciphers.batinflating: bin/makebase.batinflating: bin/shutdown.batextracting: bin/bootstrap.jarinflating: bin/version.batinflating: bin/tool-wrapper.batinflating: bin/configcheck.batextracting: bin/commons-daemon.jarinflating: bin/startup.batinflating: bin/catalina.batinflating: bin/setclasspath.batextracting: bin/tomcat-juli.jarinflating: bin/digest.batextracting: lib/catalina-ssi.jarextracting: lib/tomcat-i18n-ko.jarextracting: lib/jasper.jarextracting: lib/tomcat-websocket.jarextracting: lib/tomcat-util.jarextracting: lib/ecj-4.18.jarextracting: lib/tomcat-jdbc.jarextracting: lib/tomcat-i18n-cs.jarextracting: lib/tomcat-i18n-fr.jarextracting: lib/websocket-api.jarextracting: lib/tomcat-i18n-ja.jarextracting: lib/catalina-tribes.jarextracting: lib/tomcat-api.jarextracting: lib/tomcat-i18n-ru.jarextracting: lib/catalina-ant.jarextracting: lib/annotations-api.jarextracting: lib/catalina-storeconfig.jarextracting: lib/jsp-api.jarextracting: lib/tomcat-dbcp.jarextracting: lib/tomcat-util-scan.jarextracting: lib/jasper-el.jarextracting: lib/el-api.jarextracting: lib/catalina.jarextracting: lib/tomcat-coyote.jarextracting: lib/catalina-ha.jarextracting: lib/tomcat-jni.jarextracting: lib/tomcat-i18n-de.jarextracting: lib/tomcat-i18n-pt-BR.jarextracting: lib/jaspic-api.jarextracting: lib/tomcat-i18n-es.jarextracting: lib/servlet-api.jarextracting: lib/tomcat-i18n-zh-CN.jarextracting: bin/kiddle/commons-cli-1.4.jarextracting: lib/openas/com.huawei.itpaas.paasagent.api-8.120.000038.jarextracting: lib/openas/jackson-databind-2.11.0.jarextracting: lib/openas/jackson-core-2.11.0.jarextracting: lib/openas/log4j-jcl-2.13.2.jarextracting: lib/openas/netty-all-4.1.60.Final.jarextracting: lib/openas/slf4j-api-1.7.30.jarextracting: lib/openas/com.huawei.itpaas.paasagent.common-8.120.000038.jarextracting: lib/openas/jackson-annotations-2.11.0.jarextracting: lib/openas/commons-codec-1.15.jarextracting: lib/openas/com.huawei.itpaas.paasagent.agentlib-8.120.000038.jarextracting: lib/openas/com.huawei.openas.tomcat.component-6.2.07.B150.jarextracting: agent/com.huawei.csc.container.diagnose.javaagent.jarextracting: agent/appagent/lib/com.huawei.csc.container.diagnose.zookeeper-6.2.07.B150.jarextracting: agent/appagent/lib/log4j-slf4j-impl-2.13.2.jarextracting: agent/appagent/lib/jackson-databind-2.11.0.jarextracting: agent/appagent/lib/spring-core-5.2.9.RELEASE.jarextracting: agent/appagent/lib/jackson-core-2.11.0.jarextracting: agent/appagent/lib/com.huawei.csc.container.diagnose.access.view-6.2.07.B150.jarextracting: agent/appagent/lib/log4j-api-2.13.2.jarextracting: agent/appagent/lib/netty-all-4.1.60.Final.jarextracting: agent/appagent/lib/avro-1.10.0.jarextracting: agent/appagent/lib/commons-compress-1.20.jarextracting: agent/appagent/lib/slf4j-api-1.7.30.jarextracting: agent/appagent/lib/commons-lang3-3.11.jarextracting: agent/appagent/lib/jackson-annotations-2.11.0.jarextracting: agent/appagent/lib/com.huawei.csc.container.diagnose.sender-6.2.07.B150.jarextracting: agent/appagent/lib/log4j-core-2.13.2.jarextracting: agent/appagent/lib/com.huawei.csc.container.diagnose.transactiontrace-6.2.07.B150.jarextracting: agent/appagent/lib/commons-logging-1.2.jarextracting: agent/appagent/lib/com.huawei.csc.container.diagnose.common-6.2.07.B150.jarextracting: agent/appagent/lib/com.huawei.csc.container.diagnose.access.ops-6.2.07.B150.jarextracting: agent/appagent/lib/flume-ng-sdk-1.9.0.jarextracting: agent/appagent/lib/log4j-web-2.13.2.jarextracting: agent/appagent/lib/com.huawei.csc.container.diagnose.appagent-6.2.07.B150.jarextracting: agent/appagent/lib/avro-ipc-1.10.0.jarinflating: agent/appagent/conf/jmx-metric.xmlinflating: agent/appagent/conf/appagent.propertiesinflating: agent/appagent/conf/log4j2.xmlinflating: bin/keymodify/key_modify_interactive.shinflating: bin/keymodify/key_postchange.shinflating: bin/keymodify/key_modify.shinflating: bin/keymodify/key_postchange_interactive.shinflating: bin/keymodify/key_precheck.shextracting: bin/keymodify/com.huawei.openas.encryption.keymodify-6.2.07.B150.jarcp: cannot stat '/root/breeze/ideploy/20210730151600.202/component/ojdbc8-*.jar': No such file or directory[WARN] [21-07-30 16:19:24 iDeployLog] cp: cannot stat '/root/breeze/ideploy/20210730151600.202/component/ojdbc8-*.jar': No such file or directory[ERROR][21-07-30 16:19:24 func_install_isales] cp package[iSalesService.tar.gz] FAILED!./isales_main_container.sh: line 137: return: can only `return' from a function or sourced script#[ERROR]---------------------- -------------------------------------Execute Error Exception-Result: "FAILED"------------ -----------------------------------------------[StepName] 安装 ISALESAPP 执行失败 [StepName][StepName] 安装 ISALESAPP 开始执行[StepName]command [ isales_main_container.sh install_isales ][INFO] [21-07-30 16:45:20 func_inflatePackage] inflated [/root/breeze/ideploy/20210730151600.202/component/iSalesService.tar.gz] to [/home/isalesinstall] SUCCESSFUL!Archive: /home/isalesinstall/iSalesService/OpenAS_Tomcat9.zipinflating: conf/jmxc.propertiesreplace conf/jmxclient.properties? [y]es, [n]o, [A]ll, [N]one, [r]ename:[ERROR]com.huawei.breeze.ideploy.task.ExecuteTimeoutException[StepName] 安装 ISALESAPP 开始执行[StepName]command [ isales_main_container.sh install_isales ][INFO] [21-07-30 16:47:51 func_inflatePackage] inflated [/root/breeze/ideploy/20210730151600.202/component/iSalesService.tar.gz] to [/home/isalesinstall] SUCCESSFUL!Archive: /home/isalesinstall/iSalesService/OpenAS_Tomcat9.zipinflating: conf/jmxc.propertiesreplace conf/jmxclient.properties? [y]es, [n]o, [A]ll, [N]one, [r]ename:[ERROR]com.huawei.breeze.ideploy.task.ExecuteTimeoutException[StepName] 安装 ISALESAPP 开始执行[StepName]command [ isales_main_container.sh install_isales ][INFO] [21-07-30 16:49:57 func_inflatePackage] inflated [/root/breeze/ideploy/20210730151600.202/component/iSalesService.tar.gz] to [/home/isalesinstall] SUCCESSFUL!Archive: /home/isalesinstall/iSalesService/OpenAS_Tomcat9.zipinflating: conf/jmxc.propertiesreplace conf/jmxclient.properties? [y]es, [n]o, [A]ll, [N]one, [r]ename:[ERROR]com.huawei.breeze.ideploy.task.ExecuteTimeoutException
-
【功能模块】checkso产品扫描功能【操作步骤&问题现象】请问checkso工具的扫描原理是什么,checkso扫描出来的so文件对应的jar包是否都要编译还是只编译x86对应的jar,如果不是全部编译,筛选的原则是什么?
-
有个项目是用python写的,但是其中有个功能需要调用jar包实现,本地环境是导入jpype来调用jar包的,在CloudIDE实例中,是否支持该调用?
-
这个jar包如何获取?
-
【功能模块】【mrs.6.5.1 】【flink 引入第三方jar包 】flink 怎么配置第三方jar包? flink 版本1.7.2 commit id:3ff30be【操作步骤&问题现象】1、2、【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
jar文件听说过吗,没有?或者陌生!好,没关系,这就是我们的第一站:打包发布。 为什么会有这个玩意呢,首先,这是jar的全称:JavaTM Archive (JAR) file,是的,就是java存档文件。这有点类似zip文件,想一想它是干什么的用的呢,压缩!?没错就是要压缩,将我们原先零散的东西放到一下,重新组织,所有这些目的只有一个:方便!好了,不用管他是怎么压缩的,我们的重点是哪些是我们要压缩的(输入),还有压缩成了什么(输出),进而将它发布(部署)。 那我们的输入(要压缩的东西)主要是class文件,还有辅助的资源(这其中可能有图片,jsp文件,html文件等等)。Jar技术在jdk1.1版本中就已存在,在1.2中又有了增强。接下来说说jar的好处吧,这是官方的描述:安全,快速下载,压缩,猎取包,版本化包,可携。 说了这么多,我们现在开始实施。 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1.1或以上版本),看到什么: 用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ... 选项: -c 创建新的存档 -t 列出存档内容的列表 -x 展开存档中的命名的(或所有的〕文件 -u 更新已存在的存档 -v 生成详细输出到标准输出上 -f 指定存档文件名 -m 包含来自标明文件的标明信息 -0 只存储方式;未用zip压缩格式 -M 不产生所有项的清单(manifest〕文件 -i 为指定的jar文件产生索引信息 -C 改变到指定的目录,并且包含下列文件: 如果一个文件名是一个目录,它将被递归处理。 清单(manifest〕文件名和存档文件名都需要被指定,按'm' 和 'f'标志指定的相同顺序。 示例1:将两个class文件存档到一个名为 'classes.jar' 的存档文件中: jar cvf classes.jar Foo.class Bar.class 示例2:用一个存在的清单(manifest)文件 'mymanifest' 将 foo/ 目录下的所有文件存档到一个名为 'classes.jar' 的存档文件中: jar cvfm classes.jar mymanifest -C foo/ . 来个小例子试试看: 我们只有一个HelloWorld,如下: public class HelloWorld{ public static void main(String[ ] args){ System.out.println(“Hi, Hello World!”); } } 将这个java文件存到C盘跟目录下,ok,接下来, 在先前打开的命令提示符下(跳转到C盘提示符下),我们输入javac HelloWorld.java,然后继续输入:jar cvf hello.jar HelloWorld.class,回车后去你的C盘看看,多了什么,没错 hello.jar 。 基本的步骤我们现在都知道了,你可以自己去尝试一下随着jar后面的参数的不同,结果有什么变化。 紧接着我们看看如何运行我们的jar包。
-
如图所示,在jar包运行过程中报该错误。看了下产品文档里面的错误码:通过对比同逻辑的执行模块,发现两边调用的SQL唯一的区别就是成功的只传入了一个where in (value)的值。如上图报错的则传入了多个value值。也是就select ... from table where a in ('string')和select ... from table where a in ('string1','string2','string3',...)。奇怪的是在库内直接执行报错模块的查询SQL,能正确返回目标数值。但一到虚机上运行jar包就会报如上图的错误,费解。了解到java代码里in(value)中的字符串是通过value(String)传递的,并以逗号做分割。怀疑是传参占位符有问题。求助dalao们,有没有遇到过类似问题的。
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签