SpringCloud十一、虚拟机搭建eureka集群、在Linux安装jdk1.8、bash: /usr/java/jdk1.8.0_11/bin/java: cannot execute bina

用虚拟机搭建springcloud的eureka集群

①借鉴电商六十、Nginx集群的虚拟机搭建(主分发器一台、备分发器两台)(克隆centos虚拟机文件,进度条卡了,按F12,卡在了starting atd [ok])。搭建虚拟机。

先不安装nginx。只安装JDK1.8。

借鉴     电商四、centos系统安装jdk和zookeeper或      一、搭建CentOS 6.4集群 之四 安装JDK 1.7           安装jdk1.8或1.8以上jdk。

由于我们这里安装的是jdk1.8所以,这里重新写一下安装过程。

下载的jdk是:

双击软件:

按Alt+P键

上图,按Tab键补全。

然后到虚拟机,删除nginx内容:

rm -rf nginx-1.8.0
rm -rf nginx-1.8.0.tar.gz 

如下图,没有nginx内容:

在 /usr/local目录下 rm -rf nginx

②安装JDK1.8。

tar -zxvf jdk-8u11-linux-x64.tar.gz

然后ll查看:

进入/usr/目录下新建一个名为java的文件夹

mkdir java

注意:没有/

上图有/是错误的。

下图是对的。

回到~目录,即cd ~

然后把刚刚解压出来的jdk移动到新创建的java文件夹下。

环境变量配置

进入etc目录下通过vim命令进行编辑profile文件

cd  /etc  注意有/

vim profile

在末尾新增:


export JAVA_HOME=/usr/java/jdk1.8.0_11
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}


修改完成后需要通过命令让配置文件立即生效

source /etc/profile

java、javac和java  -version出现错误:

bash: /usr/java/jdk1.8.0_11/bin/java: cannot execute binary file
说明安装的jdk版本不对。

我们的虚拟机是Linux的32位版本,而JDK是64位版本,需要重新更改版本。

删除相关java内容:

上传文件:

看上图:tar -zxvf jdk-8u241-linux-i586.tar.gz 

进入/usr/目录下新建一个名为java的文件夹

mkdir java

注意:没有/

由于前面已经创建,此处无需创建。可以ll检查。

回到~目录,即cd ~

然后把刚刚解压出来的jdk移动到新创建的java文件夹下。

mv jdk1.8.0_241 /usr/java


环境变量配置

进入etc目录下通过vim命令进行编辑profile文件

cd  /etc注意有/

vim profile

在末尾新增:


export JAVA_HOME=/usr/java/jdk1.8.0_241
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

修改完成后需要通过命令让配置文件立即生效

source /etc/profile

java、javac和java  -version无错误。

按照同样的办法,建立另外两台eureka02、eureka03节点。

②将springboot的eureka工程部署到该eureka节点(机器)。

java -jar 你的jar包

需要在要打包的springboot项目的pom文件添加如下内容:

<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<!-- 指定该Main Class为全局的唯一入口 -->
					<mainClass>com.***.EurekaServer7001_App</mainClass>
					<layout>ZIP</layout>
					<includeSystemScope>true</includeSystemScope><!-- 把第三方jar包打进去 -->
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中 -->
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

否则报错:

no main manifest attribute, in 你的jar包
 

java -cp XXX.jar 包.类名字

java -cp microservicecloud.jar com.lss.springcloud.EurekaServer7001_App

java -cp microservicecloud.jar com.lss.springcloud.EurekaServer7002_App

java -cp microservicecloud.jar com.lss.springcloud.EurekaServer7003_App
还是会出错。差jar包。

现将Windows7的hosts文件更改:

192.168.10.109 eureka7001.com
192.168.10.110 eureka7002.com
192.168.10.111 eureka7003.com

注意:中间都只有一个空格。多空格则出错。

microservicecloud-eureka-7002子项目,pom文件需要更改:

<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<executions>
					<execution>
						<goals>
							<goal>repackage</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

注意:因为是给springboot项目打包,所以用的是springboot的maven插件。注意看:spring-boot-maven-plugin

然而,仅仅这个还不够,需要导入相关的maven的jar包,否则会报错。需要加入以下内容:

<dependencies>
		<!--eureka-server服务端 -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-eureka-server</artifactId>
			<version>1.3.1.RELEASE</version>
		</dependency>
		<!-- 修改后立即生效,热部署 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>springloaded</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
		</dependency>

		<!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-core -->
		<dependency>
			<groupId>com.amazonaws</groupId>
			<artifactId>aws-java-sdk-core</artifactId>
			<version>1.11.125</version>
		</dependency>

		<dependency>
			<groupId>com.amazonaws</groupId>
			<artifactId>aws-java-sdk-autoscaling</artifactId>
			<version>1.11.125</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom -->
		<dependency>
			<groupId>com.amazonaws</groupId>
			<artifactId>aws-java-sdk-bom</artifactId>
			<version>1.11.125</version>
			<type>pom</type>
		</dependency>

		<dependency>
			<groupId>com.amazonaws</groupId>
			<artifactId>aws-java-sdk-ec2</artifactId>
			<version>1.11.125</version>
		</dependency>
		<!-- <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-pom</artifactId> 
			<version>1.11.125</version> </dependency> -->
		<dependency>
			<groupId>com.amazonaws</groupId>
			<artifactId>aws-java-sdk-sts</artifactId>
			<version>1.11.125</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.jdom/jdom2 -->
		<dependency>
			<groupId>org.jdom</groupId>
			<artifactId>jdom2</artifactId>
			<version>2.0.6</version>
		</dependency>









		<dependency>
			<groupId>org.apache.maven.shared</groupId>
			<artifactId>maven-dependency-tree</artifactId>
			<version>3.0.1</version>
		</dependency>
		<dependency>
			<groupId>org.vafer</groupId>
			<artifactId>jdependency</artifactId>
			<version>2.1.1</version>
		</dependency>
		<dependency>
			<groupId>org.ow2.asm</groupId>
			<artifactId>asm</artifactId>
			<version>7.0-beta</version>
		</dependency>
		<dependency>
			<groupId>org.ow2.asm</groupId>
			<artifactId>asm-analysis</artifactId>
			<version>7.0-beta</version>
		</dependency>
		<dependency>
			<groupId>org.ow2.asm</groupId>
			<artifactId>asm-tree</artifactId>
			<version>7.0-beta</version>
		</dependency>
		<dependency>
			<groupId>org.ow2.asm</groupId>
			<artifactId>asm-commons</artifactId>
			<version>7.0-beta</version>
		</dependency>
		<dependency>
			<groupId>org.ow2.asm</groupId>
			<artifactId>asm-util</artifactId>
			<version>7.0-beta</version>
		</dependency>







		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-loader-tools</artifactId>
			<version>2.2.4.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>4.3.13.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.apache.maven.shared</groupId>
			<artifactId>maven-shared-utils</artifactId>
			<version>3.2.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.9</version>
		</dependency>
		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-core</artifactId>
			<version>3.3.9</version>
		</dependency>
		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-repository-metadata</artifactId>
			<version>3.3.9</version>
		</dependency>
		<dependency>
			<groupId>org.eclipse.aether</groupId>
			<artifactId>aether-util</artifactId>
			<version>1.0.2.v20150114</version>
		</dependency>
		<dependency>
			<groupId>com.google.inject</groupId>
			<artifactId>guice</artifactId>
			<version>4.0</version>
		</dependency>
		<dependency>
			<groupId>org.codehaus.plexus</groupId>
			<artifactId>plexus-archiver</artifactId>
			<version>3.7.0</version>
		</dependency>
		<dependency>
			<groupId>org.ow2.asm</groupId>
			<artifactId>asm-commons</artifactId>
			<version>7.0</version>
		</dependency>
		<dependency>
			<groupId>com.google.guava</groupId>
			<artifactId>guava</artifactId>
			<version>19.0</version>
		</dependency>


	</dependencies>

microservicecloud-eureka-7002子项目,pom文件的全部内容是:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>com.lss.springcloud</groupId>
		<artifactId>microservicecloud</artifactId>
		<version>0.0.1-SNAPSHOT</version>
	</parent>
	<artifactId>microservicecloud-eureka-7002</artifactId>


	<dependencies>
		<!--eureka-server服务端 -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-eureka-server</artifactId>
			<version>1.3.1.RELEASE</version>
		</dependency>
		<!-- 修改后立即生效,热部署 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>springloaded</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
		</dependency>

		<!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-core -->
		<dependency>
			<groupId>com.amazonaws</groupId>
			<artifactId>aws-java-sdk-core</artifactId>
			<version>1.11.125</version>
		</dependency>

		<dependency>
			<groupId>com.amazonaws</groupId>
			<artifactId>aws-java-sdk-autoscaling</artifactId>
			<version>1.11.125</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom -->
		<dependency>
			<groupId>com.amazonaws</groupId>
			<artifactId>aws-java-sdk-bom</artifactId>
			<version>1.11.125</version>
			<type>pom</type>
		</dependency>

		<dependency>
			<groupId>com.amazonaws</groupId>
			<artifactId>aws-java-sdk-ec2</artifactId>
			<version>1.11.125</version>
		</dependency>
		<!-- <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-pom</artifactId> 
			<version>1.11.125</version> </dependency> -->
		<dependency>
			<groupId>com.amazonaws</groupId>
			<artifactId>aws-java-sdk-sts</artifactId>
			<version>1.11.125</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.jdom/jdom2 -->
		<dependency>
			<groupId>org.jdom</groupId>
			<artifactId>jdom2</artifactId>
			<version>2.0.6</version>
		</dependency>









		<dependency>
			<groupId>org.apache.maven.shared</groupId>
			<artifactId>maven-dependency-tree</artifactId>
			<version>3.0.1</version>
		</dependency>
		<dependency>
			<groupId>org.vafer</groupId>
			<artifactId>jdependency</artifactId>
			<version>2.1.1</version>
		</dependency>
		<dependency>
			<groupId>org.ow2.asm</groupId>
			<artifactId>asm</artifactId>
			<version>7.0-beta</version>
		</dependency>
		<dependency>
			<groupId>org.ow2.asm</groupId>
			<artifactId>asm-analysis</artifactId>
			<version>7.0-beta</version>
		</dependency>
		<dependency>
			<groupId>org.ow2.asm</groupId>
			<artifactId>asm-tree</artifactId>
			<version>7.0-beta</version>
		</dependency>
		<dependency>
			<groupId>org.ow2.asm</groupId>
			<artifactId>asm-commons</artifactId>
			<version>7.0-beta</version>
		</dependency>
		<dependency>
			<groupId>org.ow2.asm</groupId>
			<artifactId>asm-util</artifactId>
			<version>7.0-beta</version>
		</dependency>







		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-loader-tools</artifactId>
			<version>2.2.4.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>4.3.13.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.apache.maven.shared</groupId>
			<artifactId>maven-shared-utils</artifactId>
			<version>3.2.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.9</version>
		</dependency>
		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-core</artifactId>
			<version>3.3.9</version>
		</dependency>
		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-repository-metadata</artifactId>
			<version>3.3.9</version>
		</dependency>
		<dependency>
			<groupId>org.eclipse.aether</groupId>
			<artifactId>aether-util</artifactId>
			<version>1.0.2.v20150114</version>
		</dependency>
		<dependency>
			<groupId>com.google.inject</groupId>
			<artifactId>guice</artifactId>
			<version>4.0</version>
		</dependency>
		<dependency>
			<groupId>org.codehaus.plexus</groupId>
			<artifactId>plexus-archiver</artifactId>
			<version>3.7.0</version>
		</dependency>
		<dependency>
			<groupId>org.ow2.asm</groupId>
			<artifactId>asm-commons</artifactId>
			<version>7.0</version>
		</dependency>
		<dependency>
			<groupId>com.google.guava</groupId>
			<artifactId>guava</artifactId>
			<version>19.0</version>
		</dependency>


	</dependencies>
	<!-- <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> 
		<version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> 
		</configuration> </plugin> <plugin> <artifactId> maven-assembly-plugin </artifactId> 
		<configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> 
		</descriptorRefs> <archive> <manifest> <mainClass>com.lss.springcloud.EurekaServer7001_App</mainClass> 
		</manifest> </archive> </configuration> <executions> <execution> <id>make-assembly</id> 
		<phase>package</phase> <goals> <goal>single</goal> </goals> </execution> 
		</executions> </plugin> </plugins> </build> -->

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<executions>
					<execution>
						<goals>
							<goal>repackage</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>

如下图:等待进度条完成。

然后,maven clean ,再然后,maven install 。需要build success才算成功。

注意:

因为如下图:

defaultZone里面的内容是域名,而不是192.168.10.109、192.168.10.110、192.168.10.111,所以一定需要更改Windows下的hosts文件。如果不更改hosts文件,defaultZone就要用192.168.10.109、192.168.10.110、192.168.10.111这种IP地址,而不是域名。

测试:

http://192.168.10.109:7001

http://192.168.10.110:7002

http://192.168.10.111:7003

发布了155 篇原创文章 · 获赞 1 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/lbh19630726/article/details/104083013