初用网易蜂巢遇到的问题

网易蜂巢是网易推出的一个基于docker容器技术的云服务,最近需要用到网易蜂巢的容器。

可以直接用支持ssh连接的终端连到蜂巢

ssh -i id_rsa [email protected]106.2.61.90

蜂巢用的是debian系统

[email protected]170598-2252272e-hl3nx:~# cat /etc/issue
Debian GNU/Linux 7 \n \l

将项目从github克隆到蜂巢

git clone https://github.com/scarlettxu/restaurant.git

因为蜂巢没有publickey,所以用https协议

编译打包项目

mvn package

将项目包拷贝到tomcat

cp *.war /var/lib/tomcat7/webapps

在浏览器访问发布的服务

http://106.2.61.90:8080/restaurant/noodles

出现了如下错误

type Exception report

message com/sx/NoodlesServlet : Unsupported major.minor version 51.0 (unable to load class com.sx.NoodlesServlet)

description The server encountered an internal error (com/sx/NoodlesServlet : Unsupported major.minor version 51.0 (unable to load class com.sx.NoodlesServlet)) that prevented it from fulfilling this request.

exception

java.lang.UnsupportedClassVersionError: com/sx/NoodlesServlet : Unsupported major.minor version 51.0 (unable to load class com.sx.NoodlesServlet)
	org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2905)
	org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1170)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:461)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1003)
	org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
	org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	java.lang.Thread.run(Thread.java:701)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.28 logs.

这个由于编译项目所用的java版本和运行是用的java版本不同

maven打包时所用的java版本

[email protected]170598-2252272e-hl3nx:/usr/lib/jvm/default-java/jre# mvn -version
Apache Maven 3.0.4
Maven home: /usr/share/maven
Java version: 1.7.0_95, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux", version: "3.18.20-nce-amd64", arch: "amd64", family: "unix"

tomcat运行用的default java

[email protected]170598-2252272e-hl3nx:/usr/lib/jvm/default-java/jre# ps -ef|grep tomcat
root         1     0  0 10:27 ?        00:00:00 /bin/sh -c /etc/init.d/tomcat7 start && /etc/init.d/mysql start && /usr/sbin/sshd -D
tomcat7   1601     1  2 11:20 ?        00:00:03 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/var/lib/tomcat7/conf/logging.properties -Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/share/tomcat7/endorsed -classpath /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar -Dcatalina.base=/var/lib/tomcat7 -Dcatalina.home=/usr/share/tomcat7 -Djava.io.tmpdir=/tmp/tomcat7-tomcat7-tmp org.apache.catalina.startup.Bootstrap start
root      1643   483  0 11:22 pts/0    00:00:00 grep tomcat

default java 版本

[email protected]170598-2252272e-hl3nx:/# java -version
java version "1.6.0_38"
OpenJDK Runtime Environment (IcedTea6 1.13.10) (6b38-1.13.10-1~deb7u1)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)

查看安装的所有java版本和default版本

[email protected]170598-2252272e-hl3nx:/usr/lib/jvm/default-java/jre# update-alternatives --display java
java - auto mode
  link currently points to /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java
/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java - priority 1061
  slave java.1.gz: /usr/lib/jvm/java-6-openjdk-amd64/jre/man/man1/java.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java - priority 1051
  slave java.1.gz: /usr/lib/jvm/java-7-openjdk-amd64/jre/man/man1/java.1.gz
Current ‘best‘ version is ‘/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java‘.

更改default java版本

[email protected]170598-2252272e-hl3nx:/usr/lib/jvm/default-java/jre# update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      auto mode
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1051      manual mode

Press enter to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java to provide /usr/bin/java (java) in manual mode

更改后的java版本

[email protected]170598-2252272e-hl3nx:/usr/lib/jvm/default-java/jre# java -version
java version "1.7.0_95"
OpenJDK Runtime Environment (IcedTea 2.6.4) (7u95-2.6.4-1~deb7u1)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)

这还没有解决问题,最后是更改了项目里面的pom.xml里面的编译的版本,从1.6改为1.7,才解决了问题

<plugin>    <groupId>org.apache.maven.plugins</groupId>    <artifactId>maven-compiler-plugin</artifactId>    <configuration>        <source>1.6</source>        <target>1.6</target>        <encoding>UTF-8</encoding>    </configuration></plugin>
时间: 2024-10-17 00:55:11

初用网易蜂巢遇到的问题的相关文章

网易蜂巢微服务架构:用RabbitMQ实现轻量级通信

本次分享内容由三个部分组成: 微服务架构与MQ RabbitMQ场景分析与优化 RabbitMQ在网易蜂巢中的应用和案例分享 1微服务架构与MQ 微服务架构是一种架构模式,它将单体应用划分成一组微小的服务,各服务之间使用轻量级的通信机制交互. 上图左边是单体架构应用,把所有业务功能放在单个进程中,需要扩展时以进程为单位水平复制到多台机器. 上图右边是微服务架构应用,将每个业务功能以独立进程(服务)的方式部署,可以按需将微服务分别部署在多台机器,实现水平扩展. 微服务各服务之间使用“轻量级”的通信

网易云,都踩过了网易20年的哪些坑儿?

(上图为网易杭州研究院执行院长汪源) 云计算的核心与本质是什么?网易杭州研究院云计算平台产品部总监.网易云基础服务(网易蜂巢)容器云研发负责人陈谔讲了一个故事:网易云基础服务(网易蜂巢)最初的版本,从申请资源开始监测到虚拟机.容器全部启动,大概需要两分半钟,陈谔认为这个速度太慢,希望20秒内启动容器. "大家觉得这个事情太困难,几乎不可能完成.于是,接下来分解阶段性目标,先优化到1分钟.再到40秒.再到20秒,让大家看自己的环节还有哪些潜力可以挖掘.最后,实现了20秒左右完成一个容器的建立(除去

Java开发工程师(Web方向) - 01.Java Web开发入门 - 第6章.蜂巢

第6章--蜂巢 蜂巢简介 网站开发完,就需要测试.部署.在服务器上运行. 网易蜂巢: 采用Docker容器化技术的云计算平台 https://c.163.com 容器管理:容器可被视作为云主机的服务器 服务管理:服务可由多个容器组成,可以有多个副本 镜像仓库:可快速创建容器和服务 后端服务:blahblahblah 特点: 保证环境一致: 实际中开发环境.测试环境.生产环境等会不大相同 环境差异可能会导致业务代码运行得到不同结果 蜂巢底层采用Docker容器:把业务代码和运行环境打包成为一个镜像

2018数字化转型将爆发,网易云信探索PaaS三大商业模式

在云服务的三种形态中,IaaS.PaaS和SaaS分别代表了云基础设施服务.云应用开发服务和云应用服务.根据市场调查公司IDC最新的2017年上半年全球市场数据:SaaS占云服务市场份额68.7%,但增长率却只有同比22.9%:IaaS是最经典的云服务形式,占整个云服务市场的17.8%达同比增长38.1%:而PaaS虽然目前只占最少的份额为13.6%,但却是最高的同比增长达50.2%. 以AWS亚马逊云和阿里云为代表的IaaS业务和以微软.Oracle为代表的SaaS业务已经取得了市场的认可并形

docker化java web应用

一.简介 Docker是一个使用Go语言开发的开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的机器上.Docker的发展速度和火爆程度着实令人惊叹,一发不可收拾,形成了席卷整个IT界的新浪潮.学完本课程你将了解到什么是docker,docker的思想以及诸如镜像,仓库,容器等核心概念.你将学会怎样运行一个容器,如何搭建私有仓库,怎么写dockerfile以及怎样把自己的应用放到容器中运行. Docker为什么这么火?它确实解决了大部分企业的痛点,

docker swarm集群及其UI部署

一.规划 ①swarm01作为manager节点,swarm02和swarm03作为worker节点. # cat /etc/hosts 127.0.0.1   localhost 192.168.139.175  swarm01  192.168.139.176  swarm02  192.168.139.177  swarm03 ②配置SSH免密登陆 # ssh-keygen -t rsa -P '' # ssh-copy-id -i .ssh/id_rsa.pub [email prote

docker学习-docker仓库

docker仓库中心:https://hub.docker.com/ 网易蜂巢仓库中心:https://c.163.com/hub#/m/home/

Ubuntu 16.04 docker安装

一.准备 Docker需要64位的操作系统 Linux kernel 版本不得低于3.10 1. 更新源 $ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificates 2. 添加GPG key $ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070AD

三个角度解构云计算,商业驱动or技术驱动?

从云计算的使用者到云服务的输出者,大多互联网公司在过去一年完成了角色的转换,也让云计算的未来更加扑朔迷离.不过,抛却进入时间这个评判因素,单从技术和商业化的角度来解构云计算的话,对于云计算的格局以及未来可能的竞争局面,似乎并非那么模糊不清. 第一类玩家:商业驱动技术 之前在互联网圈流行着这样一个段子,如何打造一个牛逼的产品,在研发.产品.投入等都不给力的情况下,最后的担子居然落到了公关头上.事实上,云计算行业也存在这样的玩家,更准确的形容是商业驱动技术的类型.简单来说就是,先在商业上画一张饼,然