• 关于 java 中cd 的搜索结果

回答

通过Linux的命令执行,来类比的理解一下,在Linux中如果你在命令行中键入 JAVA命令,那么系统执行的顺序是这样的:通过相对路径或者绝对路径来执行,加入说cd的决定路径为bincd,那么你就可以直接输入bincd来执行cd命令由alias找到命令执行,如下图ls本身就被声明为别名的形式(Dos中没有) 3.通过bash的内置命令执行(忽略) 4.通过PATH这个变量的顺序找到第一个命令来执行。也就是说像JAVA这种非系统中命令,必须通过配置环境变量才行。回到你的问题,应该就是路径配置错了,应该为%JAVA_HOME%bin,这也是绝对路径,只是这里的JAVA_HOME是一个表示你JAVA的安装路径的变量而已。

蛮大人123 2019-12-02 02:41:07 0 浏览量 回答数 0

回答

1、下载需要的jdk( 我的是 jdk-6u2-linux-i586-rpm.bin),放在/home目录。2、#cd /home #cp jdk-6u2-linux-i586-rpm.bin /usr/local #cd /usr/local (给所有用户添加可执行的权限) #chmod +x jdk-6u2-linux-i586-rpm.bin ./jdk-6u2-linux-i586-rpm.bin ( 有可能会生成jdk-6u2-linux-i586-rpm文件,若是,则#chmod +x jdk-6u2-linux-i586-rpm, 然后 #rpm -ivh jdk-6u2-linux-i586-rpm. 若非,即直接进入安装程序)出现安装协议,一直enter最后到y接受。3、设置环境变量。若是只是当前用户:#vi /etc/profile在最后加入 (与 xp中cmd设置一样)#set java environment JAVA_HOME = /usr/java/jdk1.6.0_02 CLASSPATH =.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar PATH = $JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PAHTesc 回到命令模式,:wq 退出。若是要在所有用户中使用:vi /etc/profile.d/java.sh在新的java.sh中输入上面情况中在末尾添加的内容:保存退出,然后给java.sh分配权限:chmod 755 /etc/profile.d/java.sh保存/etc/profile之后,别忘了执行下面这个命令,使环境变量的更改马上起作用。代码:source /etc/profile如果执行上面这个命令时报错,请仔细检查你在/etc/profile里新增的文本是不是有错。最后检查环境变量更改是否生效:代码:java -version4、可在终端个查看环境变量设置情况:#echo $JAVA_HOME #echo $CLASSPATH #echo $PATH5、检查JDK 是否成功安装:#java -version#javac -?

小旋风柴进 2019-12-02 02:33:24 0 浏览量 回答数 0

回答

若您在运行一键接入 Java 应用的接入脚本时,遇到以下错误: shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory Error occurred during initialization of VM java.lang.Error: Properties init: Could not determine current working directory. at java.lang.System.initProperties(Native Method) at java.lang.System.initializeSystemClass(System.java:1119) 可能原因是执行脚本过程中误删了当前目录,解决方法为执行 cd 后重新运行脚本。

保持可爱mmm 2020-03-28 20:08:24 0 浏览量 回答数 0

新手开公司,教你化繁为简

开公司到底有没有那么难,传统的手续繁琐,线下跑断腿,场地搞不定等问题,通过阿里云”云上公司注册“解决你的烦恼。

回答

因为您的Country.java源文件以开头package org.apache.geode_examples.serialization;,所以该文件必须命名为org\apache\geode_examples\serialization\Country.java,并且在编译和运行时必须位于父文件夹中。 运行以下3个命令。 cd "C:\Users\Milin\iCloudDrive\ENSE 885AO - Readings in Cloud Computing\geode-examples\serialization\src\main\java" javac org\apache\geode_examples\serialization\*.java java org.apache.geode_examples.serialization.Example 回答来源:Stack Overflow

montos 2020-03-26 14:28:15 0 浏览量 回答数 0

问题

云服务器一键安装SunJavaTomcatTEngineMySQL

liukehong 2019-12-01 20:19:35 13975 浏览量 回答数 5

问题

云服务器一键安装SunJavaTomcatTEngineMySQL

liukehong 2019-12-01 21:09:47 12551 浏览量 回答数 5

问题

如何使用 Saprk/Spark SQL 来查询和链接表格存储中的表

云栖大讲堂 2019-12-01 20:56:14 1688 浏览量 回答数 0

问题

在vscode中初始化Java项目时遇到问题

养狐狸的猫 2019-12-01 20:00:31 6 浏览量 回答数 0

问题

flink将checkpoint写入到hdfs中七天之后token过期

莱昂007 2019-12-01 20:26:05 927 浏览量 回答数 1

回答

Java 应用程序运行中,有时会遇到 Java 应用( JVM )进程 CPU 使用率高的情况。在这种情况下,Java 应用的性能通常会下降,我们可以借助一些工具或命令进行分析诊断,找到并优化造成 Java 应用( JVM )进程 CPU 使用率高的原因。 1. 使用 edas-agent 自带的命令诊断 EDAS 为导入 ECS 集群中的 ECS 提供了一个可以直接显示出应用进程中使用 CPU 的线程及其 StackTrace,可以帮助用户快速找到造成应用进程 CPU 使用率高的问题原因。 使用 root 账号通过 SSH 登录到 CPU 高的应用进程所在的 ECS,然后切换到 admin 账号,执行 edas busy-threads 即可查看到应用进程中消耗 CPU 高的线程(默认前 5 个): [root@iZbp19o2g75lcdht92iaaeZ ~]# su - admin [admin@iZbp19o2g75lcdht92iaaeZ ~]$ edas busy-threads 09/28/19 22:57:07 [INFO] EXECUTING: busy-threads [1] Busy(4.6%) thread(3222/0xc96) stack of java process(3221) under user(admin): "main" #1 prio=5 os_prio=0 tid=0x00002ab68004e800 nid=0xc96 runnable [0x00002ab67c1df000] java.lang.Thread.State: RUNNABLE at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409) at java.net.ServerSocket.implAccept(ServerSocket.java:545) at java.net.ServerSocket.accept(ServerSocket.java:513) at org.apache.catalina.core.StandardServer.await(StandardServer.java:490) at org.apache.catalina.startup.Catalina.await(Catalina.java:819) at org.apache.catalina.startup.Catalina.start(Catalina.java:765) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:309) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:443) [2] Busy(0.9%) thread(2725/0xaa5) stack of java process(2721) under user(admin): "DestroyJavaVM" #13 prio=5 os_prio=0 tid=0x00002ba81004c000 nid=0xaa5 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE [3] Busy(0.0%) thread(3221/0xc95) stack of java process(3221) under user(admin): [4] Busy(0.0%) thread(2721/0xaa1) stack of java process(2721) under user(admin): 该脚本的使用帮助如下: [admin@iZbp19o2g75lcdht92iaaeZ component]$ edas busy-threads -h Usage: busy-threads.sh [OPTION]... [delay [count]] Find out the highest cpu consumed threads of java, and print the stack of these threads. Example: busy-threads.sh # show busy java threads info busy-threads.sh 1 # update every 1 seconds, (stop by eg: CTRL+C) busy-threads.sh 3 10 # update every 3 seconds, update 10 times Options: -p, --pid find out the highest cpu consumed threads from the specifed java process, default from all java process. -c, --count set the thread count to show, default is 5 -a, --append-file specify the file to append output as log -s, --jstack-path specify the path of jstack command -F, --force set jstack to force a thread dump use when jstack does not respond (process is hung) -m, --mix-native-frames set jstack to print both java and native frames (mixed mode) -l, --lock-info set jstack with long listing. Prints additional information about locks --cpu_period period of time for collecting cpu stats, in secs, default 2 (this option is valid only when --current option is set) --current use current cpu stats rather than that since start -h, --help display this help and exit 常用的几个参数及选项(注意使用的是 admin 账号执行): #每隔 2 秒执行一次,共执行 5 次(每次默认显示应用进程中前 5 个使用 CPU 高的线程) edas busy-threads 2 5 #显示指定 Java 进程的前 5 个使用 CPU 高的线程: edas busy-threads -p <jvm_pid> #显示 Java 进程中前 10 个使用 CPU 高的线程: edas busy-threads -c 10 #计算最近的 2 秒种内 CPU 使用较高的线程: edas busy-threads --current 2. 使用开源工具诊断 在非 ECS 集群的环境,可以直接使用下面这个开源的脚本来找到占用指定进程中排名前几位 CPU 高的线程: admin$ wget --no-check-certificate https://raw.github.com/oldratlee/useful-scripts/release/show-busy-java-threads admin$ chmod +x show-busy-java-threads admin$ ./show-busy-java-threads 具体使用方法,请参见 show-busy-java-threads 。 除了这个脚本以外,还可以使用阿里巴巴的 Java 问题综合诊断工具 Arthas。该工具也可以用来显示指定 JVM 进程中使用 CPU 的排名前几位的线程。 #显示当前连接的 JVM 进程中 CPU 占用排名前 3 名的线程及 StraceTrace 信息: admin$ thread -n 3 "as-command-execute-daemon" Id=29 cpuUsage=75% RUNNABLE at sun.management.ThreadImpl.dumpThreads0(Native Method) at sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:440) at com.taobao.arthas.core.command.monitor200.ThreadCommand$1.action(ThreadCommand.java:58) at com.taobao.arthas.core.command.handler.AbstractCommandHandler.execute(AbstractCommandHandler.java:238) at com.taobao.arthas.core.command.handler.DefaultCommandHandler.handleCommand(DefaultCommandHandler.java:67) at com.taobao.arthas.core.server.ArthasServer$4.run(ArthasServer.java:276) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Number of locked synchronizers = 1 - java.util.concurrent.ThreadPoolExecutor$Worker@6cd0b6f8 "as-session-expire-daemon" Id=25 cpuUsage=24% TIMED_WAITING at java.lang.Thread.sleep(Native Method) at com.taobao.arthas.core.server.DefaultSessionManager$2.run(DefaultSessionManager.java:85) "Reference Handler" Id=2 cpuUsage=0% WAITING on java.lang.ref.Reference$Lock@69ba0f27 at java.lang.Object.wait(Native Method) - waiting on java.lang.ref.Reference$Lock@69ba0f27 at java.lang.Object.wait(Object.java:503) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133) 更多参数及解释,详见 thread 命令。 3. 使用传统方式诊断 在没有互联网连接的主机还可以使用下面原始的方式来获取 CPU 占用较高的线程: #在执行 JVM 进程 CPU 高时,每隔 3-5 秒执行一次,执行 3-5 次。 admin$ top -Hbp <jvm_pid> -d 1 -n 1 >> top.<jvm_pid>.txt && jstack <jvm_pid> >> jstack.jvm_pid.txt 例如: admin$ top -Hbp 22801 -d 1 -n 1 >> top.22801.txt && jstack 22801 >> jstack.22801.txt 从收集到的 top.xxxxx.txt 中找到 CPU 占用率最高的线程 ID(注意跟 jstack.xxxxx.txt 文件中的线程堆栈信息一一对应)。 将这些线程 ID (十进制的数字)转换成十六进制(可以用 printf %x 1234)。 用这些转换后的十六进制的线程 ID 去 jstack.xxxxx.txt 文件中搜索,即可找到对应线程的信息(这方面资料较多,这里不再赘述)。

保持可爱mmm 2020-03-28 23:00:23 0 浏览量 回答数 0

问题

荆门开诊断证明-scc

游客5k2abgdj3m2ti 2019-12-01 22:09:00 1 浏览量 回答数 0

问题

Linux 运行有依赖的Jar失败

a123456678 2019-12-01 20:09:09 980 浏览量 回答数 1

回答

意思是:调用javac出错。需要完整的JDK,并不仅仅是JRE.在cmd中,cd D: 后输入javac可以看出JDK是否安装成功,你这就是jdk未安装成功。下面提供安装JDK1.7(windows)步骤:1.下载JDK1.7; 2.添加环境变量:计算机--》系统属性--》高级系统设置--》环境变量;3.新建系统变量,变量名:JAVA_HOME,变量值:C:Program FilesJavajdk1.7.0(JDK的安装目录);4.在原有的系统变量Path后面加上英文分号,再添加 %JAVA_HOME%bin;%AVA_HOME%libdt.jar;%AVA_HOME%jrebin; 5.除win7/2008外,需要重启电脑生效(因为添加的是系统变量);6.测试JDK是否安装成功,运行-->cmd-->cd D:-->javac 若出现很多命令就成功了,exit 退出

蛮大人123 2019-12-02 01:50:37 0 浏览量 回答数 0

问题

如何使用 Hive/HadoopMR 来访问表格存储中的表

云栖大讲堂 2019-12-01 20:56:08 1301 浏览量 回答数 0

回答

" AES 确实是复杂而有效的加密算法. 这里我帮你分析一下加密结果不同的原因.其实代码都是没问题的, 关键问题是在填充(padding)算法和分段大小(segment size). 首先, 密文反馈模式(CFB)模式是基于流的加密方案, 为了制作可以处理任意位情况错误的流密码, CFB 通常要设定一个分段大小, 用来表示通过 AES 加密明文的时候每次会处理多少个字节的明文. 这个过程的细节可以参考: 维基百科:密文反馈(CFB) 和 stackexchange: What is segment size when using Cipher FeedBack mode. 而根据这个 stackoverflow: Encrypt in python and decrypt in Java with AES-CFB,Python 的 PyCrypto 模块默认使用的 segment_size 是 8, Java 则默认采用segment_size为128.所以要使 Python 获的和 Java 一样的加密结果, 必须让 Python 和 Java 使用相同的segment_size. 假设我们让 Python 适应 Java, 使用 segment_size=128, 那么可以这样设置: generator = AES.new(key, AES.MODE_CFB, iv, segment_size=128) 然后我们用这个segment_size去解密一下 Java 的加密结果bRfM0cD63D96il8ZeXhJEw==: import base64 from Crypto.Cipher import AES key = b'B31F2A75FBF94099' iv = b'1234567890123456' PADDING = '\0' def decrypt_aes(cryptedStr): # 注意这里 segment_size=128 generator = AES.new(key, AES.MODE_CFB, iv, segment_size=128) cryptedStr = base64.b64decode(cryptedStr) recovery = generator.decrypt(cryptedStr) print(recovery) decryptedStr = recovery.rstrip(PADDING.encode('utf-8')) return decryptedStr decrypt_aes('bRfM0cD63D96il8ZeXhJEw==') 会发现打印了下面内容: b'\xe4\xbd\xa0\xe5\xa5\xbd\n\n\n\n\n\n\n\n\n\n' 而这正是"你好\n\n\n\n\n\n\n\n\n\n".encode('utf-8'), 也就是你好在UTF-8转码后的字节串值. 我们得到了正确的明文, 提取明文只要rstrip('\n')即可. 但是, 问题还没有这么简单, 因为 Java 这边使用的padding算法是PKCS5Padding. 参考:Java中的AES算法,加密恰好一个block的时候返回两个block,为什么?: 这种 padding模式下,如果末位分组缺少 n个字节,就补足 n个 n. 也就是: If numberOfBytes(clearText) mod 16 == 15, PM = M + 0x01 If numberOfBytes(clearText) mod 16 == 14, PM = M + 0x0202 If numberOfBytes(clearText) mod 16 == 13, PM = M + 0x030303 ... If numberOfBytes(clearText) mod 16 == 1, PM = M + (0x0F0F0F...0F0F) |---15个0x0F---| 所以在设计encrypt_aes方法的时候还要注意使用正确的padding方法, 这里可以这样写对于byte的padding方法: BLOCK_SIZE = 16 def pad_byte(b): bytes_num_to_pad = BLOCK_SIZE - (len(b) % BLOCK_SIZE) byte_to_pad = bytes([bytes_num_to_pad]) padding = byte_to_pad * bytes_num_to_pad padded = b + padding return padded 然后加密方法就要这样写了: def encrypt_aes(sourceStr): # 注意这里 segment_size=128 generator = AES.new(key, AES.MODE_CFB, iv, segment_size=128) # 注意这里先将明文通过 utf-8 转码成为字节串再调用 padding 算法 padded = pad_byte(sourceStr.encode('utf-8')) crypt = generator.encrypt(padded) cryptedStr = base64.b64encode(crypt) return cryptedStr sourceStr = '你好' print(encrypt_aes(sourceStr)) # b'bRfM0cD63D96il8ZeXhJEw==' 最后我们就得到了和 Java 一样的加密结果b'bRfM0cD63D96il8ZeXhJEw=='. 这里我只描述一下如何让 Python 得到和 Java 一样的结果, 如果有兴趣同样也可以对 Java 的方法改进一下让它输出和 Python 一样的结果."

因为相信,所以看见。 2020-05-27 16:24:34 0 浏览量 回答数 0

问题

Docker和CI-CD [暂停]

k8s小能手 2019-12-01 19:30:30 520 浏览量 回答数 1

回答

1. 前言 2020 年 JVM 生态报告已经出炉。该报告由英国软件安全服务商 Snyk 联合 Oracle 官方刊物 The Java Magazine 联合推出。我们来看看 JVM 生态圈最新的情况以及发展的趋势,这对 Java 开发者至关重要。 2. OpenJDK 的崛起 随着 Oracle 修改其 JDK 上的许可协议,用户在选择 JDK 的问题上有了更多顾虑。尽管甲骨文 JDK仍然占主导地位,占 34%,而去年的报告这一比例为 70%。 越来越多的开发者转向了其他 OpenJDK 提供商。每四个开发人员就有一个选择采用 OpenJDK。 究其原因,只有 9% 的参与者愿意付费使用 JDK ,都是钱的锅啊!另外 JDK 发布节奏的加快(每年 3 月、9 月)也影响了用户的 JDK更新策略,也间接影响了这些用户的付费决定。 3. Java 8 依然是主流 Java 8 依然占据着 64% ,去年为 79%。 2018 年 9 月发布了Java 的第一个长期支持(LTS)版本 Java 11, Java 8 的份额正在慢慢降低。参与调查的开发人员中已经有四分之一在生产环境中运行过 Java 11。虽然 JDK 的发布节奏加快了,但是每六个月就需要迁移到新版本对于公司和开发者来说也是成本巨大的。51% 的受访者表示当前版本的工作正常,迁移并不是必须的。而且 55% 的坚持使用 LTS 版本以获取长期支持。 4. Kotlin 成为第二 JVM 语言 Java 语言依然统治着 JVM 平台。 Kotlin 从去年 2.4% 增长到 5.5% 成为第二 JVM 语言, Kotlin 语法简洁,没有 NPE 问题,和 Java 之间有良好的互操作性。连 Spring 5 都对它进行了良好的支持。虽然目前主要 Kotlin 的开发者在安卓移动端,已经有一部分开发者尝试在后端使用 Kotlin 。 5. Spring Framework 傲视群雄 10 个开发者中有 6 个使用 Spring Framework 开发他们的应用程序。经过不断的打磨,Spring 已经演变成 Java 生态系统中最主要的框架。而且 2/3 的 Spring 用户使用了他们最新的主版本 Spring 5。 服务端开发框架也是 Spring 主宰的世界,其中 Spring Boot 就占据了半壁江山。还有 31% 的份额也属于 Spring 自家的 Web 框架 Spring MVC 。新出的框架 Micronaut 和 Quarkus 有可能同 Spring 进行竞争,但是只能等到明年才能得出结论,今年它们并没有排的上号。 另外在 Web 客户端方面依然是三大框架的天下,而且 Jquery 宝刀未老。 # 6. IntelliJ IDEA 最受开发者青睐 IDE 之争由来已久。我们来看看今年的统计图表: 62% 的开发者选择了 JetBrains 出品的 IntelliJ IDEA 作为 IDE ,其中 80% 为付费用户。在有其它众多免费的选择之中获得了如此大的商业成功,也是值得去研究的。 第二名 Eclipse 份额由去年的 38% 下降至 20% ,第三名Apache NetBeans 原地踏步,维持着 10%的份额。 7. Maven 是最常用的构建工具 Maven 占据了 64% 的份额,依然是老大。作为后起之秀的 Gradle 一直保持上升的势头,而且很多优秀框架比如 Spring 都选择了 Gradle 。而老牌的 Ant 五年来一直在下跌,未来很可能退出竞争。 8. Jenkins 占据持续集成的主导地位 和我想的一样,Jenkins 以高达 58% 的份额占据持续集成(CI)的主导地位。而第二选项是“None”, 依然有这么多人不使用任何 CI 服务器 ,这是一个有趣的问题。和 Jenkins 最近的竞争对手是GitLab (占 6%) 和TeamCity (占 5%)。 9. Git 是最大赢家 相比较前面几个统计有一骑绝尘的情况,代码托管还是杀的热火朝天。Gitlab 一直作为私有存储库是非常不错的,而且 CI/CD 也做的不错;GitHub 作为公有代码托管平台非常成功,目前已经被微软收购;BitBucket 我一直觉得他们的 SourceTree 是一个非常好用的客户端。他们各有所长,而且差距不大。 这三家依托的都是 Git 托管系统。所以 Git才是最大的赢家。统计中我们没有看到 SVN 的身影,或许它真的老了。 10. Java 开发者分布 最后我们来看看参与此次全球调查的 Java 开发者都来自哪些地区吧。 以上就是对 2020 JVM 生态报告的解读,原版的报告可通过 2020 JVM 生态报告 获取。希望你能看出当前 Java 的现状和一些未来的趋势。相信无论是对于你学习 Java 和职业规划都有所帮助,如果你有自己的观点可通过留言分享出来。 该回答来自:码农小胖哥

剑曼红尘 2020-03-06 11:35:42 0 浏览量 回答数 0

问题

云服务器 ECS 建站java教程

feiniaoxin 2019-12-01 21:28:18 1677 浏览量 回答数 1

回答

本文档主要介绍文件系统SDK的安装及使用方式。 环境准备 本节以hadoop-mapreduce-examples为例,介绍文件系统SDK的使用方式。其中MapReduce以伪分布式方式运行。有关MapReduce的伪分布方式,请参见Apache Hadoop文档说明。 运行java -version命令,查看JDK版本。 JDK版本不能低于1.8。 按照以下方式设置环境变量,假设安装位置为/opt/install/java。 JAVA_HOME=/opt/install/java PATH=/opt/install/java/bin:$PATH 下载 SDK 您可以下载文件存储HDFS文件系统SDK的JAR文件aliyun-sdk-dfs-x.y.z.jar。 配置 Hadoop 下载hadoop 2.7.2发布包。 运行tar -zxvf hadoop-2.7.2.tar.gz命令,解压缩下载的发布包。 运行export HADOOP_HOME=yourWorkingDir/hadoop-2.7.2命令,设置环境变量。 运行cd hadoop-2.7.2命令,进入Hadoop目录。 修改etc/hadoop/hadoop-env.sh文件,并增加环境准备中设置的JAVA_HOME。 set to the root of your Java installation export JAVA_HOME=youJAVADirt 修改etc/hadoop/core-site.xml文件,core-site.xml文件中需要修改的内容如下所示。 fs.defaultFS dfs://DfsMountpointDomainName:10290 fs.dfs.impl com.alibaba.dfs.DistributedFileSystem fs.AbstractFileSystem.dfs.impl com.alibaba.dfs.DFS 说明 请将MountpointDomainName替换为具体文件存储HDFS实例的挂载地址,如xxx.cn-hangzhou.dfs.aliyuncs.com。 core-site.xml的内容需要同步到所有依赖hadoop-common的节点上。 部署依赖 将上述步骤中获得的aliyun-sdk-dfs-x.y.z.jar拷贝至Hadoop生态系统组件的CLASSPATH 上。推荐将其部署到hadoop-common-x.y.z.jar所在的目录内,并复制到所有Hadoop节点。对于MapReduce组件,该目录为$HADOOP_HOME/share/hadoop/hdfs。 验证安装 请执行以下步骤验证安装。 准备数据。 运行以下命令创建目录。 $HADOOP_HOME/bin/hadoop fs -mkdir -p inputDir 运行以下命令上传文件。 touch a.txt $HADOOP_HOME/bin/hadoop fs -put a.txt inputDir/ 重启yarn服务。 运行以下命令重启yarn服务。 $HADOOP_HOME/sbin/stop-yarn.sh $HADOOP_HOME/sbin/start-yarn.sh 执行样例测试。 在$HADOOP_HOME下执行以下样例。 wordcount样例 bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount inputDir outputDir grep样例 bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep inputDir/ outputDirGrep/ "the"

1934890530796658 2020-03-31 02:56:34 0 浏览量 回答数 0

问题

当yarn崩溃时恢复Flink

flink小助手 2019-12-01 19:26:19 1791 浏览量 回答数 1

回答

在开始按钮中输入cmd出现如图所示的情况,然后按下enter打开cmd窗口。 首先你的电脑要配好了java环境。这是你能打开的前提。如果你已配好,接下来进入到你所要打开的jar文件度所在的目录,比如我现在在desktop上,也就是桌面上,我知先要运行cd 点击enter我们就进入了desktop中。然后,再输道入如下命令就可以成功的打开一个jar文件的,输入的命令为java -jar 后面再加上你的jar文件的名字。 点击enter就可以打开你的jar文件了,不过打开要一点时间,看文件的大小了,要耐心等待一下哦。

剑曼红尘 2020-04-09 12:03:01 0 浏览量 回答数 0

回答

docker在web开发中得使用流程概述: 1、创建java镜像: 把所有的文件都放置在docker目录下,分别为不同的功能创建不同的目录。 $ sudo mkdir docker/java$ sudo cd docker/java接下来在该目录下创建一个jdk的Dockerfile文件,具体内容如下: # openjdk 6# version 1.0FROM ubuntu:14.04MAINTAINER mhy "mhy2011@gmail.com"RUN apt-get updateRUN apt-get install -y -q openjdk-7-jdkWORKDIR /ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64CMD ["/bin/bash"]创建完Dockerfile之后来生成一个jdk的镜像 $ sudo docker build -t pobaby/java . 可以看到已经生成了一个镜像名为pobaby/java的镜像,接下来检验一下该镜像能否正常使用,通过该镜像启动一个容器,然后看看java命令是否能执行。 2、创建resin镜像 这里以使用的webserver是resin,没有使用tomcat,以此说明: 使用刚才创建的pobaby/java的镜像为基础镜像来创建resin镜像 # resin# version 1.0FROM pobaby/javaMAINTAINER mhy "mhy2011@gmail.com"RUN apt-get updateADD resin-3.1.14.tar.gz /opt/WORKDIR /opt/RUN mv resin-3.1.14 resinEXPOSE 8080ENTRYPOINT ["/opt/resin/bin/httpd.sh"]关于这个Dockerfile中有一行 ADD resin-3.1.14.tar.gz /opt/是把当前目录下的resin-3.1.14.tar.gz添加到容器的/opt/目录下并解压,当然也可以指定从网络上下载 接下来再生成一个包含resin的镜像 $ sudo docker build -t pobaby/resin . 这里又生成了一个名为pobaby/resin的镜像。接下来通过该镜像启动一个容器,观察一下环境是否正常。 $ sudo docker run -d -p 80:8080 --name web001 pobaby/resin 3、接下来访问一下该容器,把本机80端口映射到容器的8080端口上 4、启动Web项目 创建一个包含WebServer的基本镜像,然后启动一个容器,在启动容器的时候挂载上本地的web应用,具体如下: $ sudo docker run -d -p 8881:8080 --name web-demo -v $PWD/webapps:/opt/resin/webapps pobaby/resin 以上启动了一个名为web-demo容器,并把webapps下的项目web-demo挂载到容器/opt/resin/webapps下 访问结果如下: 以上已经实现了一个简单的基于Docker容器运行的Java Web程序。 答案来源于网络

养狐狸的猫 2019-12-02 02:18:14 0 浏览量 回答数 0

回答

一、运行环境的配置 ◆ JDK的配置 从java.sun.com 网站上下载JDK,注意是要Linux平台的。 这里我下的是jdk-6u20-linux-i586.bin,不是RPM的包。 在终端用root身份操作,将jdk-6u20-linux-i586.bin文件复制到/opt 下面,复制时使用命令 #cp XX /opt/ 提权操作,使用命令 #chmod a+x jdk-6u20-linux-i586.bin 然后 #./jdk-6u20-linux-i586.bin。按空格阅读用户协议,最后输入”yes”来继续安装。 设置环境变量 在最后面加入 如果只有当前用户使用JDK, vi /etc/profile set java environment JAVA_HOME=/opt/jdk1.6.0_20 CLASSPATH=.JAVA_HOME/lib.tools.jar PATH=$JAVA_HOME/binPATH export JAVA_HOME CLASSPATH PATH 保存退出。 要使JDK在所有的用户中使用,可以这样: vi /etc/profile.d/java.sh 在新的java.sh中输入以下内容: set java environment JAVA_HOME=/opt/jdk1.6.0_20 CLASSPATH=.JAVA_HOME/lib/tools.jar PATH=$JAVA_HOME/binPATH export JAVA_HOME CLASSPATH PATH 保存退出,然后给java.sh分配权限:#chmod 755 /etc/profile.d/java.sh 检查环境变量是否配置成功 echo $JAVA_HOME echo $CLASSPATH echo $PATH 检查JDK是否安装成功。 java –version 如果看到JVM版本及相关信息,即安装成功! ◆ TOMCAT的配置 下载Tomcat 从网站http://tomcat.apache.org/ 下载Tomcat,如apache-tomcat-5.5.29.tar.gz 解压文件 使用解压命令# tar zxvf apache-tomcat-5.5.29.tar.gz 为了方便,将生成的文件修改为tomcat-5.5.29 mv apache-tomcat-5.5.29 tomcat-5.5.29 将文件拷贝到/opt/文件夹下 #cp –R tomcat-5.5.29 /opt/ 设置环境变量 #vi /etc/profile/ 在文件末尾加入 #set tomcat environment export JAVA_HOME=/opt/jdk1.6.0_20 export CLASSPATH=$JAVA_HOME/lib/dt.jarJAVA_HOME/lib/tools.jar:. export CATALINA_HOME=/opt/ tomcat-5.5.29 export PATH=$JAVA_HOME/binPATH 使用命令#source /etc/profile 让修改后的文件立即生效。 启动和关闭tomcat #cd /opt/ tomcat-5.5.29/bin 启动tomcat服务 #./startup.sh 打开浏览器 http://localhost:8080,看是否安装成功。 关闭tomcat服务 #./shutdwon.sh ◆ Mysql据库.sql文件导入导出 1. sql文件导出: 先用cmd到mysql的bin目录下: 如: 1) E:\program files\MySQL\MySQL Server 5.0\bin>下 2) E:\program files\MySQL\MySQL Server 5.0\bin>mysqldump -u root -p userurl>links.sql 3) Enter password:123456 4) 会自动在E:\program files\MySQL\MySQL Server 5.0\bin>---------目录下生成links.sql文件 sql文件导入: C:\mysql\bin>mysql -u 用户名 -p 数据库名 < c:/test.sql (source " c:\adsense.sql" ) 中间的空格是一个空格位。 例如: var\lib\mysql>mysql -u root -p info < c:/myro.sql Enter password: **** 稍等一会,就可以导入数据表。 二、操作中遇到的问题 ◆ 数据库方面 在将.sql文件执行导入到info数据库的时候可能会报出如下错误: ERROR 1045 (28000):Access denied for user 'root'@'localhost' (using password:YES) 解决办法: # service mysqld stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('123') where USER='root'; mysql> FLUSH PRIVILEGES; mysql> quit # service mysqld start # mysql -uroot -p Enter password: <输入新设的密码123> mysql> ② 在将.sql文件导入到info数据库时可能会报如下错误: ERROR 1005 (HY000) at line 25: Can't create table './info/category.frm' (errno: 121) 此错误的原因是自己以前测试时建过info数据库,当时删除时是通过手动直接删除/var/lib/mysql中info数据库。这样做以为是没多大问题,实际上没有删除完全。 解决办法: 再次创建一个info数据库,然后通过命令行执行删除drop database info; ③ 登陆mysql数据库时可能会报如下错误: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 解决办法: 启动mysql的守护进程,执行service mysqld start就行了 ④ mysql数据库表名大小写敏感问题: 解决办法: 用root登录,修改/etc/my.cnf 在[mysqld]下加一行:lower_case_table_names=1 重启数据库 ⑤ 数据库乱码问题: 解决办法: ⅰ、 MYSQL创建数据库时候直接指定编码和排序规则: UTF8:create database `info`default character set utf8 collate utf8_general_ci; ⅱ、 改变系统默认字符集,改变如下: etc/my.cnf中[mysqld]字段后加入如下语句default-character-set=gb2312 ◆ tomcat方面 ① tomcat的server.xml配置问题: 当appBase指向info项目时tomcat无法正常启动。 解决办法: 将sever.xml中的配置修改如下: <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="/opt/tomcat-5.5.29/project/info" debug="0" reloadable="true" ></Context> ....... ② Tomcat中连接池的配置问题: <Context> <!-- Default set of monitored resources --> <WatchedResource>WEB-INF/web.xml</WatchedResource> <!-- Uncomment this to disable session persistence across Tomcat restarts --> <!-- <Manager pathname="" /> --> <Resource auth="Container" name="jdbc/DBD" type="javax.sql.DataSource" password="" driverClassName="org.gjt.mm.mysql.Driver" maxIdle="2" maxWait="5000" username="root url="jdbc:mysql://localhost:3306/info?useUnicode=true&amp;characterSetResults=UTF-8" maxActive="8" removeAbandoned="true" removeAbandonedTimeout="10" logAbandoned="true" /> 三、环境配置存放目录明细 ① jdk : 放在/opt/jdk1.6.0_20目录下 ② tomcat:放在/opt/tomcat-5.5.29目录下 ③ mysql: /var/lib/mysql -- 数据库目录 /usr/bin/mysql -- mysqladmin mysqldump等命令 /etc/rc.d/init.d -- 启动脚本文件mysql的目录 /usr/share/mysql -- mysql.server命令及配置文件 四、启动、关闭服务的命令 ① 启动mysql服务: service mysqld start 关闭mysql服务: service mysqld stop ② 启动tomcat服务:先进入/opt/tomcat-5.5.29/bin 执行 ./startup.sh 关闭tomcat服务:先进入/opt/tomcat-5.5.29/bin 执行 ./shutdown.sh

hiekay 2019-12-02 01:39:26 0 浏览量 回答数 0

回答

假定你安装的jython版本为2.7.0,那么下面是jython的安装方法: 在cmd中输入如下命令:<preclass="brush:shell;toolbar:true;auto-links:false;">cd/dC:\jython2.7.0bin\jython--print 然后会显示如下命令:<preclass="brush:shell;toolbar:true;auto-links:false;">java-Xmx512m-Xss1024k-classpathC:\jython2.7.0\jython.jar;.-Dpython.home=C:\jython2.7.0-Dpython.executable=C:\jython2.7.0\bin\jython.exe-Dpython.launcher.uname=windows-Dpython.launcher.tty=trueorg.python.util.jython 因此可以将批处理编写如下(保存为jython.bat到C:\jython2.7.0目录): <preclass="brush:xml;toolbar:true;auto-links:false;">@echooff::运行方法:执行jythonpy文件名,或者单独执行jythonsetjava_home=C:\ProgramFiles\Java\jdk1.7.0_71setjython_path=C:\jython2.7.0setclasspath=.;%java_home%\lib*;%java_home%\lib\tools.jar;%jython_path%\javalib*"%java_home%\bin\java.exe"-Xmx512m-Xss1024k^-classpath"%classpath%;%jython_path%\jython.jar"^-Dpython.home="%jython_path%"^-Dpython.executable="%jython_path%\bin\jython.exe"^-Dpython.launcher.uname=windows^-Dpython.launcher.tty=trueorg.python.util.jython%1%2%3%4%5%6%7%8%9然后将C:\jython2.7.0添加到环境变量path中,将需要新增的jar,如oracle的jdbc驱动ojdbc6.jar放到C:\jython2.7.0\javalib目录即可。 以后进入cmd,直接执行jython就可以进入jython的控制台了。

爱吃鱼的程序员 2020-06-10 15:19:11 0 浏览量 回答数 0

回答

rc.local由init进程调度,你没有设置当前目录,那么它在执行的时候,当前目录就是 /,跟当前脚本(rc.local)所在目录没关系,当然没有你需要的myapp.conf文件要么你在rc.local里加一句 cd /path/to/jar要么在java代码中制定myapp.conf文件的绝对路径

我的中国 2019-12-02 00:31:22 0 浏览量 回答数 0

回答

rc.local由init进程调度,你没有设置当前目录,那么它在执行的时候,当前目录就是 /,跟当前脚本(rc.local)所在目录没关系,当然没有你需要的myapp.conf文件要么你在rc.local里加一句 cd /path/to/jar要么在java代码中制定myapp.conf文件的绝对路径

蛮大人123 2019-12-02 01:54:49 0 浏览量 回答数 0

问题

PcDuino安装JDK+配置Tomcat服务:报错

kun坤 2020-06-05 22:33:03 0 浏览量 回答数 1

问题

tomcat安装

冯熙贻 2019-12-01 21:47:00 579 浏览量 回答数 0

回答

本教程将以Web+提供的Java样例程序为例,使用CLI来创建并部署应用,使Java应用程序托管上云。 前提条件 开通Web+相关服务并授权 步骤一:下载并安装命令行工具 在Linux与Mac两个系统内,执行以下命令下载并安装CLI。 eval "$(curl -s -L https://webplus-cn-shenzhen.oss-cn-shenzhen.aliyuncs.com/cli/install.sh)" 步骤二:配置命令行工具 执行以下命令:使用您的注册账号的AccessKey ID和AccessKey Secret来完成CLI的注册配置,选择环境所在地域(Region),创建一个例如叫demo的文件夹。 wpctl configure --access-key-id "$ALICLOUD_ACCESS_KEY" --access-key-secret "$ALICLOUD_SECRET_KEY" --region "$ALICLOUD_REGION" --profile demo 说明 ALICLOUD_REGION可填写的参数值参见支持地域的Region ID列。 步骤三:克隆Java样例程序 执行以下命令,克隆Web+提供的样例程序到工程根目录中。 如果您有自己的Java程序,将下面的命令中的地址路径换成您自己样例程序所在的路径即可。 git clone https://github.com/aliyun/alibabacloud-webplus-demo-java.git && cd alibabacloud-webplus-demo-java 步骤四:编译程序包并创建应用 克隆完样例程序后,执行以下命令来打包样例程序。 mvn package 执行以下命令,上传样例程序并创建应用和部署环境。 wpctl env:apply --package target/webplus-demo-java*.jar --label webplusVersion0.1 --category Java --env webplusEnvDemo --app webplusAppDemo --create-on-absent 说明 在这一步中,指定了对应的应用名称与部署环境名称。--create-on-absent用以标明如果不存在此应用或者环境时,将新建一个应用或环境。 步骤五:访问应用 当应用和环境创建完成后,Web+将为您代购模板中的配置资源,需等待约2分钟至资源代购完成。您可执行以下操作来访问应用。 执行以下命令切换至创建的应用和部署环境。 wpctl env:use webplusEnvDemo --app webplusAppDemo 执行以下命令查看事件列表,确认已完成变更。 wpctl env:events 执行以下命令查看环境信息并获取应用链接。 wpctl env:info 打开获取到的链接并访问应用首页。 步骤六:释放部署环境 执行以下命令可以释放部署环境。 默认情况下,当释放部署环境后,Web+将为您代购的ECS实例将被释放并终止计费,新建的SLB实例当前没有其他正在监听的流量和后端机器时也将被释放从而终止计费。 wpctl env:terminate --app webplusAppDemo --env webplusEnvDemo 说明 Web+生成的部署环境的资源的付费模式都是按量付费,如果您想在环境释放后保留ECS实例,您可以登录ECS控制台,将创建的ECS实例转成包年包月的计费模式。 更多信息 安装和升级命令行界面,请参见安装升级Web+命令行界面(wpctl)。 CLI相关的更多命令,请参见CLI命令。 使用控制台快速部署应用,请参见在Web+控制台快速部署应用。 问题反馈 如果您在使用Web+过程中有任何疑问,欢迎您扫描下面的二维码加入钉钉群进行反馈。

1934890530796658 2020-03-23 13:47:04 0 浏览量 回答数 0

回答

1.下载JDK与Tomcat. jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html tomcat下载地址: http://tomcat.apache.org/download-70.cgi 2.jdk安装与配置. (1)jdk安装 rpm包: # rpm -ivh jdk-7u55-linux-x64.rpm tar.gz包:解压缩 # mkdir /usr/java # cd /usr/java # tar -zxvf /software/jdk-7u55-linux-x64.tar.gz 生成链接以便版本升级 # ln -s jdk1.7.0_55 latest # ln -s latest default (2)配置环境变量 # vi /etc/profile export JAVA_HOME=/usr/java/default export JAVA_BIN=$JAVA_HOME/bin export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH 使配置生效 # source /etc/profile 测试jdk. # java -version java version "1.7.0_55" Java(TM) SE Runtime Environment (build 1.7.0_55-b13) Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode) 3.Tomcat的安装 解压缩 # mkdir /usr/local/tomcat # cd /usr/local/tomcat # tar -zxvf /software/apache-tomcat-7.0.54.tar.gz 生成链接以便版本升级 # ln -s apache-tomcat-7.0.54 server 启动Tomcat # cd /usr/local/tomcat/server/bin # ./startup.sh Using CATALINA_BASE: /usr/local/tomcat/server Using CATALINA_HOME: /usr/local/tomcat/server Using CATALINA_TEMDIR: /usr/local/tomcat/server/temp Using JRE_HOME: /usr/java/default Using CLASS_PATH: /usr/local/tomcat/server/bin/bootstrap.jar:/usr/local/tomcat/server/bin/tomcat-juli.jar Tomcat started. 测试Tomcat: 打开防火墙,使外部能访问 # /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT # service iptables save # service iptables restart 或直接修改文件/etc/sysconfig/iptables. # vi /etc/sysconfig/iptables -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT # service iptables restart 在浏览器输入: http://192.168.16.133:8080 如在本机可以输入: http://localhost:8080 出现tomcat的页面表示安装成功. 停止Tomcat # ./shutdown.sh 4.配置web管理帐号 修改文件conf/tomcat-users.xml,在<tomcat-users>元素中添加帐号密码,需要指定角色. # vi /usr/local/tomcat/server/conf/tomcat-users.xml <tomcat-users> <user name="admin" password="admin" roles="admin-gui,manager-gui" /> </tomcat-users> 5.配置web访问端口 可以修改conf目录下的文件server.xml,修改Connector元素(Tomcat的默认端口是8080),需要重新启动Tomcat服务生效. # vi /usr/local/tomcat/server/conf/server.xml <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 6.配置https安全连接(ssl加密连接) https连接需要用到数字证书与数字签名(MD5算法) 网站https连接首先需要申请数字证书,配置加密连接器,浏览器安装证书. ·使用java的工具keytool产生数字证书 # keytool -genkey -alias tomcat -keyalg RSA 生成文件.keystore 注意:CN为主机名称,本机可用localhost ·将文件.keystore放到Tomcat服务器的conf目录下 # cp .keystore /usr/local/tomcat/server/conf/ ·修改conf/server.xml文件,修改加密连接器,添加keystoreFile与keystorePass <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/.keystore" keystorePass="123456"/> ·重新启动tomcat.浏览器输入 https://localhost:8443访问,并安装证书. 7.Tomcat的目录结构 ·bin //存放Tomcat的命令脚本文件 ·conf //存放Tomcat服务器的各种配置文件,最主要是server.xml ·lib //存放Tomcat服务器支撑jar包 ·logs //存放日志文件 ·temp //存放临时文件 ·webapps //web应用所在目录,外界访问web资源的存放目录 ·work //Tomcat的工作目录 8.web应用的目录结构 webapp -- web应用所在目录 |--- html, jsp, css, js文件等 -- 这些文件一般在web应用根目录下,根目录下的文件外界可以直接访问. |--- WEB-INF 目录 -- java类、jar包、web配置文件存在这个目录下,外界无法直接访问,由web服务器负责调用. |--- classes 目录 -- java类 |--- lib 目录 -- java类运行所需要的jar包 |--- web.xml 文件 -- web应用的配置文件 9.虚拟主机的配置 指定虚拟主机名,修改conf/server.xml,添加<host>元素. <host name="hostname.domainname" appBase="/webapps"> <Context path="/webapp" docBase="/webapps/webapp"/> </host> 例: <host name=" www.163.com" appBase="/webapps"> </host> <host name="mail.163.com" appBase="/mailapps"> </host> 须设置DNS解析(host文件或DNS系统). 10.web应用和虚拟目录的映射. 可以修改xml配置文件的<Context>元素来设置web应用和虚拟目录的映射. ·conf/server.xml //在<host>元素下添加<Context path="/webdir" docBase="/webappdir"/>,需要重新启动Tomcat服务生效,不建议使用. ·conf/context.xml //添加<Context>元素所有web应用有效. ·conf/[enginename]/[hostname]/context.xml.default //[enginename]一般是Catalina,主机[hostname]的所有web应用有效. ·conf/[enginename]/[hostname]/ //在目录下任意建一个文件(扩展名xml),文件名即为虚拟目录名.多级目录使用#分割. <Context docBase="/webappdir"/> //缺省值web应用目录可以定义为ROOT.xml,添加<Context docBase="/webappdir"/>,需重新启动Tomcat服务器. ·META-INF/context.xml // 可以将web应用放在webapps目录下让Tomcat服务器自动映射,适用开发环境,实际运用环境中不用自动映射。 如没有修改配置文件,web应用目录为ROOT时则为默认web应用。 11.web应用首页(welcome file)的配置 修改web应用的配置文件: [webapp]/WEB-INF/web.xml <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> “答案来源于网络,供您参考” 希望以上信息可以帮到您!

牧明 2019-12-02 02:17:27 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 云栖号物联网 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 云栖号弹性计算 阿里云云栖号 云栖号案例 云栖号直播