Tag: amazon ec2

无法从类路径上的/AwsCredentials.properties文件加载AWS凭据

使用此代码设置类路径 AWSCredentialsProvider credentialsProvider = new ClasspathPropertiesFileCredentialsProvider(); ec2 = new AmazonEC2Client(credentialsProvider); 以下是AwsCredentials.properties文件的格式 # Fill in your AWS Access Key ID and Secret Access Key # http://aws.amazon.com/security-credentials accessKey = keyHere secretKey = secretKeyHere 以下是我得到的例外情况 Exception in thread “main” com.amazonaws.AmazonClientException: Unable to load AWS credentials from the /AwsCredentials.properties file on the classpath at com.amazonaws.auth.ClasspathPropertiesFileCredentialsProvider.getCredentials(ClasspathPropertiesFileCredentialsProvider.java:81) at com.amazonaws.services.ec2.AmazonEC2Client.invoke(AmazonEC2Client.java:8359)

有人有Hibernate使用Elasticache作为其二级缓存吗?

我发现一些线程说这是可行的,但没有找到具体的说明或配置信息。 我也希望从Beanstalk做到这一点:应用程序应该使用将hibernate指向elasticache实例的配置部署到beanstalk。

httpclient版本与Apache Spark之间的冲突

我正在使用Apache Spark开发Java应用程序。 我用这个版本: org.apache.spark spark-core_2.10 1.2.2 在我的代码中,有一个过渡依赖: org.apache.httpcomponents httpclient 4.5.2 我将我的应用程序打包到一个JAR文件中。 当使用spark-submit在EC2实例上部署它时,我收到此错误。 Caused by: java.lang.NoSuchFieldError: INSTANCE at org.apache.http.conn.ssl.SSLConnectionSocketFactory.(SSLConnectionSocketFactory.java:144) at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.getPreferredSocketFactory(ApacheConnectionManagerFactory.java:87) at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.create(ApacheConnectionManagerFactory.java:65) at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.create(ApacheConnectionManagerFactory.java:58) at com.amazonaws.http.apache.client.impl.ApacheHttpClientFactory.create(ApacheHttpClientFactory.java:50) at com.amazonaws.http.apache.client.impl.ApacheHttpClientFactory.create(ApacheHttpClientFactory.java:38) 此错误清楚地表明SparkSubmit已加载相同Apache httpclient库的旧版本,因此发生此冲突。 解决这个问题的好方法是什么? 出于某种原因,我不能在我的Java代码上升级Spark。 但是,我可以轻松地使用EC2群集。 是否可以在具有更高版本的1.6.1版本的集群上部署我的Java代码?

连接到远程Spark master – Java / Scala

我在AWS中创建了一个3节点(1个主节点,2个工作节点) Apache Spark集群。 我可以从主服务器向集群提交作业,但是我无法远程工作。 /* SimpleApp.scala */ import org.apache.spark.SparkContext import org.apache.spark.SparkContext._ import org.apache.spark.SparkConf object SimpleApp { def main(args: Array[String]) { val logFile = “/usr/local/spark/README.md” // Should be some file on your system val conf = new SparkConf().setAppName(“Simple Application”).setMaster(“spark://ec2-54-245-111-320.compute-1.amazonaws.com:7077”) val sc = new SparkContext(conf) val logData = sc.textFile(logFile, 2).cache() val numAs = logData.filter(line => line.contains(“a”)).count() val […]

hdfs中的文件路径

我想从Hadoop文件系统中读取该文件。 为了实现文件的正确路径,我需要hdfs主机名和端口地址。 所以最后我的文件路径看起来像 Path path = new Path(“hdfs://123.23.12.4344:9000/user/filename.txt”) 现在我想知道提取HostName =“123.23.12.4344”和端口:9000? 基本上,我想访问Amazon EMR上的FileSystem但是,当我使用时 FileSystem fs = FileSystem.get(getConf()); 我明白了 当你应该调用FileSystem.get(uri,conf)来获取支持你的路径的文件系统时,你可能会调用FileSystem.get(conf) 所以我决定使用URI。 (我必须使用URI)但我不知道如何访问URI。

云是否已为企业Java Web应用程序做好准备? 寻求Java EE托管建议

向周围所有聪明人致以问候! 我想问一下,将Java企业Web应用程序部署到Amazon EC2这样的云是否可行或者是个好主意。 更准确地说,我正在寻找一个应用程序的基础架构选项,该应用程序将处理数百个用户,但是CPU和内存密集型会话都很长。 我正在考虑专用服务器,虚拟专用服务器(VPS)和EC2。 我注意到有一个名为JBoss Cloud的项目,所以人们正在努力实现这样的部署,另一方面它似乎还不成熟,我不确定云是否已经准备好进行这种应用程序,与Twitter等典型的基于云的应用程序不同。 您会建议将其部署到云端吗? 优缺点都有什么? 该应用程序是一个Java EE 5 Web应用程序,其主要function是使用户能够通过组合可用的部件来组成他们自己的定制产品。 它使用无状态和有状态会话bean和JPA将实体持久化到RDBMS,并通过Web服务从公司的库存系统中获取有关Parts的信息。 除了外部用户之外,它还被少数内部用户使用,他们通过公司的LDAP进行身份validation。 该应用程序应该处理大约300-400个并发用户构建他们的产品,并且应该具有合理的可扩展性和可用性,尽管这些质量在这个阶段仅具有中等重要性。 我提出了一个由防火墙(FW)和负载平衡器组成的架构,支持粘性会话和https(在云端,这将被EC2的Elastic Load Balancing服务和应用服务器上的FW取代,在物理架构中,负载 – 平衡器将是一个硬件),然后两个物理集群应用程序服务器与Web服务器结合(如果一个失败,用户不会丢失他/她的长期构建产品),最后是数据库服务器。 数据库服务器需要一个从备份实例,如果失败则可以替换主实例。 这应该提供合理的可用性和容错性,并且只要单个RDBMS可以保持负载就可以提供良好的可伸缩性,这应该可以使用很长一段时间,因为大多数操作都是使用有状态bean在内存中完成的,并且只是偶尔存储或从数据库检索,数据量也很低。 一个有问题的部分可能是对远程库存系统webservice的依赖,但是在应用程序中对其输出的良好缓存也应该没问题。 不幸的是,对于几百个用户所需的“普通Java EE应用程序”,我只是模糊地想到了系统资源(内存大小,CPU /内核的数量和速度)。 基于实际亚马逊产品的粗略且毫无根据的估计是1.7GB和单核,2核“现代CPU”,速度大约2.5GHz(高CPU中型实例)应该足够用于两个应用服务器中的任何一个(因为我们可以通过配置更多的负载来处理更高的负载。 或者我会考虑使用大型实例(64b,7.5GB RAM,1GHz,2核) 所以我的问题是,这种云部署在技术上和财务上是否可行,或者专用/ VPS服务器是否是更好的选择,以及是否有类似的实际经验。 非常感谢你! / Jakub Holy PS:我在云案例研究中发现了JBoss EAP ,它表明可以将实际的Java EE应用程序部署到EC2云,但遗憾的是没有关于拓扑,实例类型或任何内容的详细信息: – (

在EC2上运行Java EE应用程序

任何人都可以向我指出描述的步骤/资源: 如何在amazon-EC2上部署Java EE应用程序 在实例重新启动后保持对应用服务器的元数据的更改(部署新应用程序)(可能使用amazon-ebs)

JMeter延迟与加载时间(采样时间)

我在我的HTTP服务器上运行测试,当我将服务器从localhost(使用笔记本电脑)切换到AWS EC2 t.micro服务器时,传输速度非常慢。 我想知道使用JMeter进行测试时延迟和加载时间(或采样时间)之间的差异。 加载时间在“查看结果树”中,采样时间在“查看表中的结果”中。 这是我的问题。 发送大约3.5mb的zip文件时,在localhost中测试时大约需要0.5秒。 但是,当我在EC2服务器上测试它时,大约需要6~8秒。 我知道3.5mb相当大,但是不是8秒太慢了? 在我的测试中,JMeter显示当加载时间为6~8秒时,延迟约为0.5~1秒。 这两者有什么区别?

如何在Amazon EC2上部署Eclipse Java Web动态项目?

我正在尝试创建一个能够与Amazon RDS通信的Web项目。 我知道如何使用JDBC连接到RDS的localhost项目。 但是,问题是我从未尝试过部署我的项目(例如,有人可以输入somePage.com ,然后转到我的网页)。 我有一个Amazon EC2实例 ,我已经编写了一个简单的hello world jsp页面。 我能够使用已安装的Apache Tomcat Server编译它并运行Eclipse Web Dynamic Project ,然后键入localhost:8080/somePage然后我可以看到我的hello world弹出。 但是,如何在此EC2实例上部署项目? 我正在使用Windows Server 2012版。 我的整个想法是,一旦我有一个AMI图像全部设置,那么我可以使用自动缩放来扩展我的网页与该AMI图像。 谁能指出我正确的方向?

通过Java应用程序中的amazon服务器上的JavaMail API发送带附件的邮件时出现空指针exception

使用javamail API在亚马逊服务器上发送带有pdf附件的邮件时,它会在日志中抛出空指针exception。 但是同样的代码在本地工作。 public void sendMail(final String mailTo, final String mailSubject, final String mailText, final String filePath, final String fileName) { logger.info(“Inside sendMail Method…”); final Properties config = createConfiguration(); // Creates a mail session. We need to supply username and password for Gmail authentication. final Session session = Session.getInstance(config, new Authenticator() { @Override protected PasswordAuthentication […]