-
概览涉及操作系统Huawei JDKOracle JDK应对策略功能Java Web Start(仅win包含)win通过icedtea-web开源软件实现,在itweb-settings.bat进行设置,启动界面不一样,有cmd弹窗原生支持,在java控制面板进行设置正常使用JavaFXwin/linux通过开源OpenJFX实现已将javafx部分开源成OpenJFX社区正常使用applet(过旧,oracle不再继续维护)win/linux不支持支持建议使用javascript等方式进行整改,参考http://3ms.huawei.com/km/groups/3712085/blogs/details/5864289?moduleId=JMC(辅助调试工具)win/linux不支持支持华为HiProfiler补齐功能JFR(问题定位工具)win/linux不支持支持华为HiProfiler补齐功能jvisualvm(问题定位工具)win/linux支持华为HiProfiler补齐功能Java Control Panel(Java控制面板,仅用于win)win不支持支持大多数场景不涉及,建议绕过Java DB(Derby)win/linux不支持8u181版本开始不支持可用GaussDB,大多数场景不涉及,见下一sheetcacerts(默认根证书)win/linux包含93个证书,从SPC050开始提供包含96个证书满足绝大多数场景要求,见下一sheet字体win/linux包含基本字体包含Lucida等8种字体满足绝大多数场景要求JavaAPIwin/linux规格等同8u191规格等同8u191均满足Java标准规范,接口相同兼容性win不支持win 2003/xp支持暂不支持snmpwin/linux不支持支持,但使用范围极小,后续考虑删除绝大多数场景不涉及,建议绕过AWT/Swingwin读取注册表中的BorderWidth和PaddedBorderWidth预设值建议产生影响时调整UI实现。JavaDBJavaDB是一套基于Java编程语言和SQL的关系数据库管理系统。根据Oracle官网的描述,JavaDB是Oracle在Apache Derby项目上发布的二进制版本,且没有修改其源代码。这项功能在OpenJDK中没有对应实现,可选用Apache Derby实现一比一的完全替换 (参考https://db.apache.org/derby/ )OracleJDK在8u181版本中已将JavaDB移除,见 https://www.oracle.com/technetwork/java/javase/8u181-relnotes-4479407.html
-
JDK11新特性说明,请参看附件!
-
JDK10新特性说明,欢迎参考!
-
本文附件提供JDK9新特性说明
-
2019-03-15 14:44:07,109 [WARN] keyStore [server.p12] file not exist, please check! org.apache.servicecomb.foundation.vertx.VertxTLSBuilder.buildTCPSSLOptions(VertxTLSBuilder.java:118)2019-03-15 14:44:07,109 [WARN] trustStore [trust.jks] file not exist, please check! org.apache.servicecomb.foundation.vertx.VertxTLSBuilder.buildTCPSSLOptions(VertxTLSBuilder.java:138)2019-03-15 14:44:07,110 [WARN] keyStore [server.p12] file not exist, please check! org.apache.servicecomb.foundation.vertx.VertxTLSBuilder.buildTCPSSLOptions(VertxTLSBuilder.java:118)2019-03-15 14:44:07,110 [WARN] trustStore [trust.jks] file not exist, please check! org.apache.servicecomb.foundation.vertx.VertxTLSBuilder.buildTCPSSLOptions(VertxTLSBuilder.java:138)2019-03-15 14:44:07,295 [ERROR] org.apache.servicecomb.foundation.vertx.client.ClientVerticle.start(ClientVerticle.java:38)io.vertx.core.VertxException: ALPN not available for JDK SSL/TLS engineat io.vertx.core.net.impl.SSLHelper.resolveEngineOptions(SSLHelper.java:86)at io.vertx.core.net.impl.SSLHelper.<init>(SSLHelper.java:144)at io.vertx.core.http.impl.HttpClientImpl.<init>(HttpClientImpl.java:133)at io.vertx.core.impl.VertxImpl.createHttpClient(VertxImpl.java:298)at org.apache.servicecomb.foundation.vertx.client.http.HttpClientPoolFactory.createClientPool(HttpClientPoolFactory.java:36)at org.apache.servicecomb.foundation.vertx.client.http.HttpClientPoolFactory.createClientPool(HttpClientPoolFactory.java:27)at org.apache.servicecomb.foundation.vertx.client.ClientPoolManager.createClientPool(ClientPoolManager.java:60)at org.apache.servicecomb.foundation.vertx.client.ClientVerticle.start(ClientVerticle.java:35)at io.vertx.core.AbstractVerticle.start(AbstractVerticle.java:106)at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$8(DeploymentManager.java:483)at io.vertx.core.impl.ContextImpl.lambda$wrapTask$2(ContextImpl.java:339)at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:463)at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)at java.lang.Thread.run(Thread.java:748)2019-03-15 14:44:07,315 [ERROR] deploy vertx failed, cause org.apache.servicecomb.foundation.vertx.VertxUtils.lambda$blockDeploy$0(VertxUtils.java:102)io.vertx.core.VertxException: ALPN not available for JDK SSL/TLS engineat io.vertx.core.net.impl.SSLHelper.resolveEngineOptions(SSLHelper.java:86)at io.vertx.core.net.impl.SSLHelper.<init>(SSLHelper.java:144)at io.vertx.core.http.impl.HttpClientImpl.<init>(HttpClientImpl.java:133)at io.vertx.core.impl.VertxImpl.createHttpClient(VertxImpl.java:298)at org.apache.servicecomb.foundation.vertx.client.http.HttpClientPoolFactory.createClientPool(HttpClientPoolFactory.java:36)at org.apache.servicecomb.foundation.vertx.client.http.HttpClientPoolFactory.createClientPool(HttpClientPoolFactory.java:27)at org.apache.servicecomb.foundation.vertx.client.ClientPoolManager.createClientPool(ClientPoolManager.java:60)at org.apache.servicecomb.foundation.vertx.client.ClientVerticle.start(ClientVerticle.java:35)at io.vertx.core.AbstractVerticle.start(AbstractVerticle.java:106)at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$8(DeploymentManager.java:483)at io.vertx.core.impl.ContextImpl.lambda$wrapTask$2(ContextImpl.java:339)at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:463)at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)at java.lang.Thread.run(Thread.java:748)
-
在现有平台编解码插件Demo基础上进行开发、制作插件包时,需要先了解普通Java工程和Maven工程的区别。一、Maven工程简介Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。使用Maven构建的Java项目,对源代码、单元测试代码、资源乃至后续需要的文件都有专门的目录规划。Maven工程目录结构如下:src/main/java:储存主要的java代码src/main/resources:储存主要的资源文件,如spring的xml配置文件和log4j的properties文件。src/test/java:储存测试用的类,如JUNIT的测试一般放在这个目录下src/test/resources:储存测试用的资源文件target:存放源代码编译后生成的class文件pom.xml:Maven项目的基础配置文件如果是Web项目,还会有一个src/main/webapp目录,存放Web应用相关代码。以上只是Maven工程的简单介绍,更多资料请自行百度。 二、Maven环境搭建 在导入Maven工程前,需要先搭建好Maven环境。一旦Eclipse中集成了Maven功能,在pom.xml中设置好dependence后,所需的jar包就会自动下载到指定的路径。 配置Maven环境变量在配置Maven环境变量之前,需要先配置好JDK环境变量。Java Development Kit (JDK)版本要求:JDK 1.7及以上版本,建议使用JDK 1.8。Maven插件下载地址:http://maven.apache.org/download.cgi,下载最新版本即可。配置Maven环境变量的具体操作,同配置JDK环境变量。 安装m2e 插件 配置完Maven环境变量后,在Eclipse中选择菜单“help > Eclipse Marketplace...”,在搜索框中输入“maven”,选中搜索结果“Maven Integration for Eclipse”,单击“Install”进行安装即可。 修改JRE为JDK路径安装好m2e插件后,需要在Eclipse中修改Java默认的JRE路径为JDK路径。Step 1 选择“Windows > Preferences > Java > Installed JREs”,将“Installed JREs”框中默认的JRE路径修改为本地JDK安装路径。 Step 2 选择“Installed JREs”菜单下的“Execution Enviroment”项,在弹出的对话框中选择JavaSE版本,同时勾选配套使用的JDK。注意:选择的JavaSE版本必须和本地安装的JDK版本保持一致,建议使用1.8版本。 刷新Maven工程在执行完以上操作后,需要刷新Maven工程,新的配置才会生效。具体操作为:选中Maven工程,单击右键,选择“Maven > Update Project...”,在弹出的对话框中勾选工程名和“Force Update of Snapshots/Releases”,其他选项保持默认,即可刷新工程配置。
-
问题背景和描述报告 ALPN not available 分两种场景:第一种场景:初始化 HTTP 2 Client 的时候。 CSE (ServiceComb Java Chassis) 默认会初始化 HTTP 2 Client,方便和启用了 HTTP 2 协议的 Provider 进行通信。 io.vertx.core.VertxException: ALPN not available for JDK SSL/TLS engine at io.vertx.core.net.impl.SSLHelper.resolveEngineOptions(SSLHelper.java:88) at io.vertx.core.net.impl.SSLHelper.<init>(SSLHelper.java:134) at io.vertx.core.http.impl.HttpClientImpl.<init>(HttpClientImpl.java:131) at io.vertx.core.impl.VertxImpl.createHttpClient(VertxImpl.java:317) at org.apache.servicecomb.foundation.vertx.client.http.HttpClientPoolFactory.createClientPool(HttpClientPoolFactory.java:36) at org.apache.servicecomb.foundation.vertx.client.http.HttpClientPoolFactory.createClientPool(HttpClientPoolFactory.java:27) at org.apache.servicecomb.foundation.vertx.client.ClientPoolManager.createClientPool(ClientPoolManager.java:60) at org.apache.servicecomb.foundation.vertx.client.ClientVerticle.start(ClientVerticle.java:35) at io.vertx.core.AbstractVerticle.start(AbstractVerticle.java:106) at io.vertx.core.Verticle.start(Verticle.java:66) at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$8(DeploymentManager.java:556)这种场景报告的错误在没有使用 HTTP 2 的情况下都可以忽略,不用处理。可以通过下面的配置项关闭 HTTP2 客户端的 ALPN:servicecomb.rest.client.http2.useAlpnEnabled: false如果使用 servicecomb-java-chassis 2.0.2 及其以上版本,还可以使用如下配置项,不初始化 HTTP 2客户端。servicecomb.rest.client.http2.enabled: false第二种场景:初始化 HTTP 2 Server 的时候。 CSE (ServiceComb Java Chassis) 默认不会启用 HTTP 2 Server。 用户需要通过配置项开启 HTTP2, 分为 H2 和 H2C两种模式, 如果使用 H2 模式 ( SSL),必须开启ALPN, 可能报告如下错误。 启用 H2 的配置参考: https://docs.servicecomb.io/java-chassis/zh_CN/transports/http2/io.vertx.core.VertxException: ALPN not available for JDK SSL/TLS engine at io.vertx.core.net.impl.SSLHelper.resolveEngineOptions(SSLHelper.java:88) at io.vertx.core.net.impl.SSLHelper.<init>(SSLHelper.java:155) at io.vertx.core.http.impl.HttpServerImpl.<init>(HttpServerImpl.java:93) at io.vertx.core.impl.VertxImpl.createHttpServer(VertxImpl.java:308) at org.apache.servicecomb.transport.rest.vertx.RestServerVerticle.createHttpServer(RestServerVerticle.java:247) at org.apache.servicecomb.transport.rest.vertx.RestServerVerticle.start(RestServerVerticle.java:99) at io.vertx.core.Verticle.start(Verticle.java:66) at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$8(DeploymentManager.java:556)如果使用 H2C 模式, 不需要启用 ALPN,可以通过下面的配置项关闭:servicecomb: server: http2: useAlpnEnabled: false可能原因和解决方案CSE 提供两种方式使用 ALPN, 第一种是 openssl, 第二种是 JDK 原生 SSL。 默认使用原生 SSL, 使用 openssl 需要加上下面的配置项:ssl.engine: openssl在使用 opensssl 时可能的原因* netty 和 boringssl 版本不匹配。或者 netty-tcnative-boringssl-static-*.jar 没有包含对应操作系统的库文件,比如 ARM 环境。 CSE 3.0.0 版本在 foundation-auth 模块包含了 ARM 版本的库文件, 其他环境的库文件在 netty-tcnative-boringssl-static-*.jar 压缩包中。 * 操作系统 openssl 版本过低也可能导致这个问题。 使用 JDK 原生 SSL 时可能的原因* alpn 和 JDK 的版本不匹配,或者没有正确使用安装 ALPN 包。 CSE 默认没有携带 ALPN 包, 需要开发者自行配置。 参考: https://www.eclipse.org/jetty/documentation/current/alpn-chapter.html#alpn-versions 获取 JDK的对应版本;参考: https://github.com/Blazemeter/jmeter-http2-plugin/blob/master/README.md 了解如何配置。* 本机的JDK版本和操作系统版本位数不一样HTTP2和JDK8配合使用建议JDK8的HTTP2支持不是很好,在实际项目中,发现每次JDK的版本升级,都导致HTTP2支持有些变更,报告一些非常奇怪的错误,给开发者定位带来诸多不便。 如果使用JDK8和HTTP2,建议使用openssl,配置文件中指定:ssl.engine: openssl
-
【问题描述】 经常有新手朋友在LINUX平台通过编译安装完软件后不知道如何将软件加入PATH路径。以下我们在CentOS7.1以JDK环境变量设置为例进行演示。【解决方法】1. 下载JDK软件包。 通过http://www.oracle.com/technetwork/java/javase/downloads/jdk10-downloads-4416644.html下载jdk-10.0.1_linux-x64_bin.tar.gz。17292 2. 上传jdk-10.0.1_linux-x64_bin.tar.gz到云主机/tmp目录(这里我们使用Filezilla来完成文件上传)。17293 3. 使用root用户登录linux云主机,切换工作路径到/tmp目录,解压jdk-10.0.1_linux-x64_bin.tar.gz到/opt目录。 17294 4. 我们从步骤3可以看到,解压到/opt目录下的JDK为可执行二进制文件,现在我们需要把这些二进制文件的路径加入到$PATH变量里,在这之前我们先看一下当前$PATH变量包含哪些路径。17295 5. JDK环境变量配置方法。部分依赖java的应用程序除需要通过PATH路径找到java相关二进制执行文件外,还依赖JAVA_HOME环境变量。所以我们这在里同时配置JAVA_HOME环境变量,所谓JAVA_HOME就是我们解压出来的jdk-10.0.1文件夹的路径。使用vi打开/etc/profile文件,加入如下两行:export JAVA_HOME=/opt/jdk-10.0.1 export PATH=$PATH:$JAVA_HOME/bin如果想要马上生效,可以执行source /etc/profile执行java命令确认生效。17300正确配置PATH变量后,我们在终端打印出当前变量的值,可以看到PATH变更新增加了jdk二进制可执行文件的路径,同时保留了原来路径。17301
-
Java 平台首席架构师 Mark Reinhold 近日在邮件列表上表示,按计划,JDK 10 将于 2 月 8 日星期四进入候选发布(Release Candidate)阶段。他建议 JDK 10 在该阶段采用和 JDK 9 相同的发布流程,将 Bug 修复分为 P1 - P5 五个不同的级别。候选阶段将重点修复那些能直接影响 JDK 10 能否成功发行的 P1 级错误,并将那些非关键或短期内无法解决的 P1 级错误推迟处理。此外,所有 P2 - P5 级的错误均留给后续版本修复。 JDK 10 的十二项新特性已确定,包括: JEP 286: 局部变量的类型推导。该特性在社区讨论了很久并做了调查,可查看 JEP 286 调查结果。 JEP 296: 将 JDK 的多个代码仓库合并到一个储存库中。 JEP 304: 垃圾收集器接口。通过引入一个干净的垃圾收集器(GC)接口,改善不同垃圾收集器的源码隔离性。 JEP 307: 向 G1 引入并行 Full GC。 JEP 310: 应用类数据共享。为改善启动和占用空间,在现有的类数据共享(“CDS”)功能上再次拓展,以允许应用类放置在共享存档中。 JEP 312: 线程局部管控。允许停止单个线程,而不是只能启用或停止所有线程。 JEP 313: 移除 Native-Header Generation Tool (javah) JEP 314: 额外的 Unicode 语言标签扩展。包括:cu (货币类型)、fw (每周第一天为星期几)、rg (区域覆盖)、tz (时区) 等。 JEP 316: 在备用内存设备上分配堆内存。允许 HotSpot 虚拟机在备用内存设备上分配 Java 对象堆。 JEP 317: 基于 Java 的 JIT 编译器(试验版本)。 JEP 319: 根证书。开源 Java SE Root CA 程序中的根证书。 JEP 322: 基于时间的版本发布模式。“Feature releases” 版本将包含新特性,“Update releases” 版本仅修复 Bug 。 此外,JDK 11 的页面已经出现了四个 JEP ,包括:动态类文件常量(JEP 309,Dynamic Class-File Constants)、低开销垃圾收集器 Epsilon(JEP 318)、移除 Java EE 和 CORBA 模块(JEP 320),以及 Lambda 参数的本地变量语法(JEP 323)。JDK 11 计划于 2018 年 9 月发布,并有望成为新的 LTS 版本。
-
本帖最后由 那人好像一条狗 于 2018-6-8 11:52 编辑Kafka-Manager是由Yahoo公司开源的一款基于Web的Kafka管理工具,可以对Kafka集群中的Broker、Topic、Partition、Consumer等进行监控查看和管理。 1 获取Kafka-Manager编译包 Kafka-Manager的官网上只提供了源码包,并没有提供编译包,因此获取Kafka-Manager编译包有两种途径: (1)直接从网上获取其他人自己编译好的Kafka-Manager编译包; (2)从官网下载Kafka-Manager源码包,然后自己手动编译。 此种方式见本文最后,非开发人员可以不关注。 1.1 直接获取已有Kafka-Manager编译包 由于Kafka-Manager是利用SBT进行编译构建的,这个过程由于网络等限制比较麻烦和耗时。可以直接从网上获取别人已经编译好的Kafka-Manager包,这样就直接省去了1.2整个章节中的工作。 Kafka-Manager编译包可以直接从下面这个链接获取: http://blog.wolfogre.com/posts/kafka-manager-download/ 下载完成后,直接到本文中的《2 Kafka-Manager部署运行部分》 2 Kafka-Manager部署运行 由于当前MRS集群中根据是否开启了Kerberos认证分成非安全集群和安全集群两种模式。2.1 非安全模式Kafka集群(未开启Kerberos认证)2.1.1 修改Kafka JMX监控的相关配置 由于当前集群中在安装配置Kafka的监控时,默认的只允许Kafka服务所在的本节点访问当前节点的JMX服务;这样导致运行在其他节点上的Kafka-Manager无法访问JMX服务,从而无法获取相关的监控信息。所以需要进行以下配置修改: 到Manager的管理界面上,修改Kafka服务的服务配置,如下图所示: 将KAFKA_JMX_IP配置项修改为${BROKER_IP} 然后再保存配置,重启Kafka服务,以便让修改的配置生效。 2.1.2 修改Kafka-Manager中关于访问JMX服务的配置 说明: MRS 1.7.1以前版本需要做2.1.2步骤,1.7.1不需要 由于当前集群中的Kafka服务在开启JMX服务时,JMX服务的访问地址的后缀为kafka,Kafka-Manager中的访问JMX服务的地址的后缀为jmxrmi,因此需要修改Kafka-Manager中的访问地址的后缀。 修改kafka-manager-master/app/kafka/manager/jmx/KafkaJMX.scala中的doWithConnection方法中的urlString,即第36行【限Kafka-Manager 2.11-1.3.3.17版本】。 原UrlString:[code]val urlString = s"service:jmx:rmi:///jndi/rmi://$jmxHost:$jmxPort/jmxrmi"[/code] 修改为: [code]val urlString = s"service:jmx:rmi:///jndi/rmi://$jmxHost:$jmxPort/kafka"[/code] 2.1.3 将前面编译生成的kafka-manager-1.3.3.17.zip包进行解压,比如存放在/opt目录下2.1.4 修改Kafka-Manager的配置1、修改Kafka-Manager中关于Kafka集群对应的Zookeeper集群的配置以及与consumer相关的配置:[code]cd /opt/kafka-manager-1.3.3.17 vi conf/application.conf kafka-manager.zkhosts="IP1:24002" vi conf/application.conf kafka-manager.consumer.properties.file=/opt/kafka-manager-1.3.3.17/conf/consumer.properties #该consumer.properties在kafka-manager-1.3.3.17/conf目录中,最好写全路径[/code]2、修改/opt/kafka-manager-1.3.3.17/conf/consumer.properties文件:[code]cd /opt/kafka-manager-1.3.3.17 vi /conf/consumer.properties [/code]3、修改Kafka-Manager相关日志文件的存放路径[code]cd /opt/kafka-manager-1.3.3.17[/code] 修改conf/logback.xml和conf/logger.xml文件 将和两个地方修改为你期望的日志存放路径。 2.1.5 启动Kafka-Manager[code]cd /opt/kafka-manager-1.3.3.17 nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port=9000 &[/code]如果需要使用JMX Polling,在启动之前先执行以下命令 export JMX_PORT=21006 在浏览器中输入IP1:9000,若出现以下界面则说明Kafka-Manager启动成功。 2.2 安全模式Kafka集群(开启Kerberos认证) 2.2.1 修改Kafka JMX监控的相关配置 由于当前集群中在安装配置Kafka的监控时,默认的只允许Kafka服务所在的本节点访问当前节点的JMX服务;这样导致运行在其他节点上的Kafka-Manager无法访问JMX服务,从而无法获取相关的监控信息。1、到Manager的管理界面上,修改Kafka服务的服务配置,如下图所示: 将KAFKA_JMX_IP配置项修改为${BROKER_IP} 然后再保存配置,重启Kafka服务,以便让修改的配置生效。 2.2.2 修改Kafka-Manager中关于访问JMX服务的配置 说明: MRS 1.7.1以前版本需要做2.2.2步骤,1.7.1不需要 由于当前集群中的Kafka服务在开启JMX服务时,JMX服务的访问地址的后缀为kafka,Kafka-Manager中的访问JMX服务的地址的后缀为jmxrmi,因此需要修改Kafka-Manager中的访问地址的后缀。 修改kafka-manager-master/app/kafka/manager/jmx/KafkaJMX.scala中的doWithConnection方法中的urlString,即第36行【限Kafka-Manager 2.11-1.3.3.17版本】。 原UrlString:[code]val urlString = s"service:jmx:rmi:///jndi/rmi://$jmxHost:$jmxPort/jmxrmi"[/code] 修改为:[code]val urlString = s"service:jmx:rmi:///jndi/rmi://$jmxHost:$jmxPort/kafka"[/code] 2.2.7 启动Kafka-Manager 在启动kafka manager之前先做以下几件事情 1. 修改kafka服务端,将allow.everyone.if.no.acl.found配置成true。原因是Kafka Manager会调用SimpleConsumer API去获取每个consumer的offset,新SimpleConsumer的API不支持认证,即需要开启不认证也能消费。 2. 导出环境变量 export JAVA_OPTS="-Djava.security.auth.login.config=/opt/kafka-manager-1.3.3.17/conf/jaas.conf -Dzookeeper.server.principal=zookeeper/hadoop.hadoop.com -Djava.security.krb5.conf=/opt/huawei/Bigdata/MRS_1.7.0/etc/1_4_KerberosClient/kdc.conf -Dzookeeper.request.timeout=120000 -Dkerberos.domain.name=hadoop.hadoop.com" 注意将路径和kerberos.domain.name替换成实际值 [code]/opt/kafka-manager-1.3.3.17 nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port=9000[/code] 在浏览器中输入IP1:9000,若出现以下界面则说明Kafka-Manager启动成功。 附录: 利用源码手动编译 Kafka-Manager的编译打包是基于SBT的,因此在编译Kafka-Manager要先预先准备以及Java JDK与SBT。1.2.1 配置Java JDK 这里要求JDK的版本为JDK 1.8。具体的JDK的安装与配置,比较常见,这里就不赘述。1.2.2 安装SBT 到SBT官网:http://www.scala-sbt.org/download.html 下载SBT压缩包。将下载的SBT压缩包进行解压并配置SBT环境变量。【目前先讨论下Windows环境下的编译】。 本文主要是针对Windows操作系统下的SBT的安装,至于Linux操作系统下SBT的安装可自行搜索安装。1. Windows环境: 假设解压的SBT放在D:\sbt目录。 添加SBT_HOME环境变量,[code]SBT_HOME ="D:\sbt"[/code] 并在Path中追加[code];%SBT_HOME%\bin;[/code] 然后通过在命令行窗口中输入sbt,如果sbt被识别则说明已经安装配置成功。1.2.3 配置SBT 由于在利用SBT工具编译项目时,需要下载很多SBT工程编译时依赖的jar包等资源,由于SBT默认的资源都是在国外,由于网络原因可以会很慢甚至无法连接,所以为了能更快速地下载这些资源,可以对SBT进行一些配置。1、 先配置SBT的本地资源存放目录,以便在下载一次后可以为之后的编译使用。 打开“SBT安装目录:\conf\sbtconfig.txt”文件,在文件最后追加[code]-Dsbt.boot.directory=D:/boot/ -Dsbt.global.base=D:/.sbt -Dsbt.ivy.home=D:/.ivy2[/code]2、 在“SBT安装目录:\conf\”目录下,新建文件repo.properties文件,将以下内容复制到文件中。[code][repositories] local store_1:http://repo.typesafe.com/typesafe/ivy-releases/ store_2:http://repo2.maven.org/maven2/ typesafe: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly typesafe2: http://repo.typesafe.com/typesafe/releases/ sbt-plugin: http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/ sonatype: http://oss.sonatype.org/content/repositories/snapshots uk_maven: http://uk.maven.org/maven2/ ibibli: http://mirrors.ibiblio.org/maven2/ repo2: http://repo2.maven.org/maven2/ aliyun: http://maven.aliyun.com/nexus/content/groups/public comp-maven:http://mvnrepository.com/artifact/ store_cn:http://maven.oschina.net/content/groups/public/ store_mir:http://mirrors.ibiblio.org/maven2/ store_0:http://maven.net.cn/content/groups/public/ sbt-releases-repo: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext] sbt-plugins-repo: http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext] maven-central: http://repo1.maven.org/maven2/[/code]3、 打开“SBT安装目录:\conf\sbtconfig.txt”文件,在文件最后追加:[code]-Dsbt.repository.config= SBT安装目录:/conf/repo.properties[/code]4、 如果依旧有一些repo无法访问,可以考虑为SBT设置代理,由于走HTTPS时,由于证书问题,还是走HTTP较好。 打开“SBT安装目录:\conf\sbtconfig.txt”文件,在文件最后追加[code]-Dsbt.repository.secure=false #配置项告知SBT使用HTTP而非HTTPS来更新和下载artifacts -Dhttp.proxyHost= proxy host -Dhttp.proxyPort= proxy port -Dhttp.proxyUser=用户名 -Dhttp.proxyPassword=密码[/code] 1.2.4 利用SBT编译Kafka-Manager1、下载Kafka-Manager工程 到https://github.com/yahoo/kafka-manager界面上直接下载Kafka-Manager工程。2、将步骤1中下载的kafka-manager-master.zip文件进行解压,并进入kafka-manager-master目录,如:D:\kafka-manager-master。[code]cd D:\kafka-manager-master sbt clean dist[/code] 该步骤由于需要下载很多的jar包等资源文件,比较耗时,需要耐心等待。 如果最后出现如下输出,则说明Kafka-manager编译成功。 3、到D:\kafka-manager-master\target\universal目录中找到编译好的kafka-manager包即kafka-manager-1.3.3.17.zip。
-
本帖最后由 码小玩 于 2017-12-27 09:55 编辑今天推荐的内容包括:Java JDK 10:下一代Java新特性展望、我们该如何在敏捷软件开发领域始终占据优势、开源软件业务中的四大核心成功模式和区块链技术的十种重要现实用例等。 7757 一、Java JDK 10:下一代Java新特性展望 原文标题:Java JDK 10: What new features to expect in the next Java 开发者朋友们可能已经习惯了2017年9月发布的Java 9,但距离下一代Java的正式面世只剩下几个月时间。今年12月中旬,计划内的Java Development Kit 10升级正逐渐放缓脚步。在今天的文章中,我们将对Java JDK 10作出全面概述。 1. JDK何时正式发布 2. 在哪里下载JDK 10 3. JDK 10中的新型与改进功能 4. JDK 10的预期发展阶段 5. Java长期发展路线图 二、我们该如何在敏捷软件开发领域始终占据优势? 原文标题:How to excel in agile software development 7758 如果你身为领导者或者正参与敏捷开发流程,且选择了Scrum等敏捷模式,那么接下来无疑需要建立基本流程以确保产品所有者、客户需求同开发团队之间协调一致,从而顺利实现结果。那么,对于相关负责团队来说,他们该如何确保应用能够随时准备就绪,采用简化流程,从而将变的更轻松推向生产环境及其它计算环境?在今天的文章中,我们将逐步找出答案。 1. 在敏捷开发中定义并解决技术债务 2. 在敏捷开发中实现质量保证 3. 发现代码分支标准 4. 利用代码审查提升质量与开发者协作性 5. 实现持续集成与持续交付 6. 利用敏捷驱动自动化与流程改进 三、开源软件业务中的四大核心成功模式 原文标题:4 successful open source business models to consider 在第一次接触开源时,我感到其建立业务的思路似乎有些反直觉。然而,随着对这一活动的愈发熟悉,我意识到开源软件公司并不是什么天方夜谭。正如GNU项目创始人Richard Stallman所言,“Free是指自由而非免费”。而如果屏幕前的你有意以开源为核心建立一家企业,那么,以下四种成功模式无疑值得考量。 1. 支持与服务 2. 付费额外功能 3. SaaS 4. “打赏”或“付费获取需要的功能” 四、区块链技术的十种重要现实用例 原文标题:How to Use Blockchain: 10 Use Cases 许多专家预测,区块链技术将很快对全球企业产生巨大影响。Gartner将其视为“将引发整个行业的改革”,而Forrester则认为只要得到适当实施,区块链将能够支持新的业务与信任模式。但抛开这些乐观的整体性展望,我们具体该将其怎样落地到实际用例当中?今天的文章将给出一些令人信服的思路。 1. 食物(及其它货物)追踪 2. 安全软件开发 3. 数字化内容管理 4. 医疗记录 5. 贷款审批 6. 保险理赔 7. 审计追踪 8. 投票 9. 智能合同 10. 加密货币
-
http://support.huaweicloud.com/qs-cse/cse_qs_0003.html环境准备操作步骤 [*]安装JDK [list=a] [*]JDK版本JDK版本要求1.8版本。 [*]JDK下载请到JDK官方地址下载。 ================================================== http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html Java SE Development Kit 9 DownloadsThank you for downloading this release of the Java™ Platform, Standard ** Development Kit (JDK™). The JDK is a development environment for building applications, and components using the Java programming language.The JDK includes tools useful for developing and testing programs written in the Java programming language and running on the Java platform.See also: [*]Java Developer Newsletter: From your Oracle account, select Subscriptions, expand Technology, and subscribe to Java. [*]Java Developer Day hands-on workshops (free) and other events [*]Java Magazine JDK 9.0.1 checksum [tr=rgb(224, 224, 224)]Product / File DescriptionFile SizeDownloadLinux304.99 MBjdk-9.0.1_linux-x64_bin.rpmLinux338.11 MBjdk-9.0.1_linux-x64_bin.tar.gzmacOS382.11 MBjdk-9.0.1_osx-x64_bin.dmgWindows375.51 MBjdk-9.0.1_windows-x64_bin.exeSolaris SPARC206.85 MBjdk-9.0.1_solaris-sparcv9_bin.tar.gz
-
本帖最后由 华为开源镜像站 于 2017-11-20 22:48 编辑 首先,下载JDK, 地址为: http://www.oracle.com/technetwor ... ownloads/index.html, 由于Windows和Linux的配置有一定差异,因此分别进行说明。 Windows 从官网下载JDK,如下图所示,直接运行exe可执行程序,默认安装即可。(备注:路径可以选择其他盘符,但是不建议路径中包含中文及特殊字符) 5185 安装好之后需要设置环境变量,以jdk1.8.0_151版本为例,进入到系统环境变量的管理界面:右键计算机图标=>属性=>高级系统设置=>环境变量 5186 在系统环境变量中,点击新建,输入变量名: JAVA_HOME, 输入变量值:C:\Program Files\Java\jdk1.8.0_151(地址请根据自身情况进行修改) 5188 打开PATH变量,在变量值的最前边添加:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 5189 新建变量名:CLASSPATH,变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 5187 Linux 从官网下载JDK,如下图所示,也可以通过curl命令下载,命令如下:[code]curl -O http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz[/code]5184 通过如下命令将下载后的压缩包解压至特定的目录,以/usr/local为例: [code]tar -zxvf -C /usr/local/ jdk-8u151-linux-x64.tar.gz[/code]在命令行中输入vim /etc/profile,编辑文件,在文件末尾增加如下的内容: [code]export JAVA_HOME=/usr/local/jdk-8u151 export JRE_HOME=/usr/local/jdk-8u151/jre export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin[/code]然后执行 source /etc/profile命令使设置生效。 验证JAVA windows打开CMD命令窗口,Linux打开终端端口,输入java -version命令,如果出现如下提示则Java安装成功。 5183
推荐直播
-
华为云码道-玩转OpenClaw,在线养虾2026/03/11 周三 19:00-21:00
刘昱,华为云高级工程师/谈心,华为云技术专家/李海仑,上海圭卓智能科技有限公司CEO
OpenClaw 火爆开发者圈,华为云码道最新推出 Skill ——开发者只需输入一句口令,即可部署一个功能完整的「小龙虾」智能体。直播带你玩转华为云码道,玩转OpenClaw
回顾中 -
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中
热门标签