-
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服务
-
1 介绍简要介绍大数据组件flink-shaded-netty module。2 环境要求硬件要求硬件要求如表2-1所示。表2-1 硬件要求项目说明服务器Taishan服务器CPU鲲鹏920处理器 或 鲲鹏916处理器磁盘分区对磁盘分区无要求网络可访问外网 软件要求表2-2 软件要求项目说明CentOS7.6OS Kernel4.14.0GCC4.8.5Openjdk1.8.0_252Maven3.5.4Protobuf2.5.0jna1.0.1 3 配置编译环境3.1 安装基础库 步骤 1 安装gcc等相关软件。确保有外网环境后,执行yum -y install gcc.aarch64 gcc-c++.aarch64 gcc-gfortran.aarch64 libgcc.aarch64XXXX 步骤 2 解决-fsigned-char问题(修改gcc)a、寻找gcc所在路径(一般位于“/usr/bin/gcc”)。command -v gcc b、更改gcc的名字(例如改成gcc-impl)。mv /usr/bin/gcc /usr/bin/gcc-impl c、新建gcc文件。vi /usr/bin/gcc d、填入如下内容保存。#! /bin/sh/usr/bin/gcc-impl -fsigned-char "$@" e、给脚本添加执行权限。chmod +x /usr/bin/gcc f、确认命令是否可用。gcc --version 步骤 3 解决-fsigned-char问题(修改g++)a、寻找gcc所在路径(一般位于“/usr/bin/g++”)。command -v g++ b、更改g++的名字(例如改成g++-impl)。mv /usr/bin/gcc /usr/bin/g++-impl c、新建g++文件。vi /usr/bin/g++ d、填入如下内容保存。#! /bin/sh/usr/bin/g++-impl -fsigned-char "$@" e、给脚本添加执行权限。chmod +x /usr/bin/g++ f、确认命令是否可用。g++ --version 步骤 4 安装依赖 yum安装依赖的相关软件。yum install -y wget vim openssl-devel zlib-devel automake libtool make libstdc++-static glibc-static git snappy snappy-devel fuse fuse-devel ----结束 3.2 安装OpenJDK 步骤 1 下载并解压安装到指定目录(此处以指定“/opt/tools/installed”目录为例)wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gztar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gzmkdir -p /opt/tools/installed/mv jdk8u252-b09 /opt/tools/installed/ 步骤 2 配置Java环境变量vim /etc/profile在文件末尾添加如下代码。export JAVA_HOME=/opt/tools/installed/jdk8u252-b09export PATH=$JAVA_HOME/bin:$PATH 步骤 3 使修改的环境变量生效source /etc/profile 步骤 4 查看配置是否生效 3.3 安装Maven 步骤 1 下载并安装到指定目录(此处以指定“/opt/tools/installed”目录为例)wget https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gztar -zxf apache-maven-3.5.4-bin.tar.gzmv apache-maven-3.5.4 /opt/tools/installed/ 步骤 2 修改Maven环境变量vim /etc/profile在“/etc/profile”文件末尾增加下面代码。export MAVEN_HOME=/opt/tools/installed/apache-maven-3.5.4export PATH=$MAVEN_HOME/bin:$PATH 步骤 3 使修改的环境变量生效source /etc/profile 步骤 4 查看配置是否生效。mvn -v 步骤 5 查看配置是否生效。修改Maven配置文件中的:本地仓路径、远程仓等。配置文件路径:“/opt/tools/installed/apache-maven-3.5.4/conf/settings.xml”远程仓库配置(修改成自己搭建的Maven仓库,如果没有,可以按照下面示例配置),在<mirrors>标签内添加以下内容: <mirror> <id>huaweimaven</id> <name>huawei maven</name> <url>https://mirrors.huaweicloud.com/repository/maven/</url> <mirrorOf>central</mirrorOf></mirror> 若编译环境需要代理才能访问外网,需要在settings.xml配置文件中添加代理配置,具体内容如下:<proxies> <proxy> <id>optional</id> <active>true</active> <protocol>http</protocol> <username>用户名</username> <password>密码</password> <host>代理服务器网址</host> <port>代理服务器端口</port> <nonProxyHosts>local.net|some.host.com</nonProxyHosts> </proxy></proxies> 3.4 安装Protobuf 步骤 1 查看配置是否生效。yum install -y protobuf protobuf-devel 步骤 2 通过执行以下命令,指定安装的Protoc可执行文件mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=2.5.0 -Dclassifier=linux-aarch_64 -Dpackaging=exe -Dfile=/usr/bin/protoc3.5 安装ant 步骤 1 下载ant并安装到指定目录。wget https://archive.apache.org/dist/ant/binaries/apache-ant-1.10.8-bin.tar.gztar -zxf apache-ant-1.10.8-bin.tar.gzmv apache-ant-1.10.8-bin /opt/tools/installed/ 步骤 2 配置ant环境变量。vim /etc/profile在“/etc/profile”文件末尾增加下面代码。export ANT_HOME=/opt/tools/installed/ pache-ant-1.10.8export PATH=$ANT_HOME/bin:$PATH 步骤 3 使修改的环境变量生效source /etc/profile 步骤 4 查看配置是否生效。ant -version4 编译4.1 编译jna根据《jna-3.0.9移植指南》编译jna-3.0.9,编译完成后将会在“jna-3.0.9/jnalib/build-d64”目录下生成jna.jar。4.2 编译jython-standalone步骤 1 下载frozen-mirror-2.5.2安装包和frozen-mirror-2.5.3安装包。wget https://github.com/jython/frozen-mirror/archive/v2.5.1.tar.gzwget https://github.com/jython/frozen-mirror/archive/v2.5.3.tar.gz 步骤 2 解压安装包。tar -zxf v2.5.1.tar.gztar -zxf v2.5.3.tar.gz步骤 3 进入解压后目录cd frozen-mirror-2.5.1步骤 4 替换jar将在4.1获取的jna.jar复制到frozen-mirror-2.5.1/extlibs并覆盖原来的jna.jar下mv xxx/jna.jar extlibs其中xxx为jna.jar所在的目录步骤 5 将frozen-mirror-2.5.3/lib-python/2.5/文件夹复制到frozen-mirror-2.5.1下cp -r frozen-mirror-2.5.3/lib-python/2.5/ frozen-mirror-2.5.1/CPythonLib步骤 6 修改xml文件在目标<target name=”init”>内最后一行加上<property name="jython.standalone.jar" value="jython-standalone.jar" />在目标<target name="jar-complete" depends="jar">的下方,目标<target name="jar" depends="compile,expose">的上方,加上如下内容<target name="jar-standalone" depends="jar-complete, copy-lib"> <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="extlibs/jarjar-0.7.jar"/> <jarjar destfile="${dist.dir}/${jython.standalone.jar}"> <zipfileset src="${dist.dir}/${jython.deploy.jar}"/> <fileset dir="${dist.dir}" includes="Lib/**" excludes="Lib/test/**,Lib/email/test/**"/> <manifest> <attribute name="Main-Class" value="org.python.util.jython" /> <attribute name="Built-By" value="${user.name}" /> <!-- info section. ATTN: no blanks, no '.' in the names --> <section name="Build-Info"> <attribute name="version" value="${jython.version}" /> <attribute name="svn-build" value="${do.checkout}" /> <attribute name="oracle" value="${oracle.present}" /> <attribute name="informix" value="${informix.present}" /> <attribute name="build-compiler" value="${build.compiler}" /> <attribute name="jdk-target-version" value="${jdk.target.version}" /> <attribute name="debug" value="${debug}" /> </section> </manifest> </jarjar></target> 步骤 7 执行编译ant jar-standalone生成的jar包在dist下步骤 8 使用鲲鹏分析扫描工具扫描编译生成的jar包,确保没有包含有x86的so和jar包。步骤 9 安装到本地仓由于ant命令不会将jar包放到本地maven仓,我们可以将jar-standalone安装到本地maven仓或私仓,方便后面调用,如下示例为安装到本地maven仓:mvn install:install-file -DgroupId=org.python -DartifactId=jython-standalone -Dversion=2.5.2 -Dpackaging=jar -Dfile=dist/jython-standalone.jar执行成功后,查看本地maven仓是否有jython-standalone-2.5.2.jar----结束 5 故障排除5.1 首次编译失败 现象描述:首次编译时失败。 处理步骤:执行一次失败后,再执行ant jar-standalone,编译成功。 5.2 CPythonLib does not exist现象描述:提示没有CPythonLib 处理步骤:按4.2的步骤5将frozen-mirror-2.5.3/lib-python/2.5/文件夹复制到frozen-mirror-2.5.1/CPythonLib下 5.3 Target “jar-standalone” does not exist in the project “jython”现象描述:提示没有目标“jar-standalone” 处理步骤:按4.2的步骤6将jython-standalone目标加到build.xml
-
-
如图,我已经完成了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实例中,是否支持该调用?
-
您好,我们有一台aarch64架构、centos 7.5系统的服务器,在上面跑java的jar包,大部分jar包功能正常,但是其中有一个jar包能正常启动,一旦调用API就报“segmentation fault”程序退出(下图) 这个jar包在intel酷睿i7CPU的windows7系统下用oracle jdk8跑一直是好的,把jar包放到鲲鹏的这台服务器后,先后用自带的openjdk8和到oracle官网下载aarch64下的oracle jdk8_291都跑出了段错误,更换另一台服务器也是一样的错误。我们只能定位到段错误这一步,请帮忙定位一下根因,以及在jdk8下怎么解决,谢谢!
-
【功能模块】现有需求需使用Java开发一个串口通信模块,需依赖rxtx jar包,此jar包官方不支持在arm64架构的服务器上使用,所以自行下载了源码进行编译,但编译后的so文件不可用【操作步骤&问题现象】1、获取可以串口列表可正常获取,但进行打开串口时,会出现如下图上的错误,jvm虚拟机自行退出【截图信息】【日志信息】(可选,上传日志内容或者附件)报错日志附于附件
-
这个jar包如何获取?
上滑加载中
推荐直播
-
TinyEngine低代码引擎系列第2讲——向下扎根,向上生长,TinyEngine灵活构建个性化低代码平台
2024/11/14 周四 16:00-18:00
王老师 华为云前端开发工程师,TinyEngine开源负责人
王老师将从TinyEngine 的灵活定制能力出发,带大家了解隐藏在低代码背后的潜在挑战及突破思路,通过实践及运用,帮助大家贴近面向未来低代码产品。
回顾中 -
华为云AI入门课:AI发展趋势与华为愿景
2024/11/18 周一 18:20-20:20
Alex 华为云学堂技术讲师
本期直播旨在帮助开发者熟悉理解AI技术概念,AI发展趋势,AI实用化前景,了解熟悉未来主要技术栈,当前发展瓶颈等行业化知识。帮助开发者在AI领域快速构建知识体系,构建职业竞争力。
去报名 -
华为云软件开发生产线(CodeArts)10月新特性解读
2024/11/19 周二 19:00-20:00
苏柏亚培 华为云高级产品经理
不知道产品的最新特性?没法和产品团队建立直接的沟通?本期直播产品经理将为您解读华为云软件开发生产线10月发布的新特性,并在直播过程中为您答疑解惑。
去报名
热门标签