听他们讲Spring Cloud的微服务创设学习-3 Spring Cloud Eureka配置详解

实例名配置

InstanceInfo中的instanceId参数,它是分别同一服务中差异实例的唯一标识。在Netflix
Eureka的原生完成中,实例名采纳主机名作为私下认可值,那样会使得在同一
主机上无法起动多个一样的服务实例。所以,在Spring Cloud
Eureka的布署中,针对统一主机中运维多实例的气象,对实例名的默许命名作了尤其客观的恢弘,它选用了如下暗中同意规则:

${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id:${server.port}}

对此实例名的命名规则,大家也足以通过eureka.instance.instanceId参数来举行配。如:

  eureka.instance.instanceId=${spring.application.name}:${random.int}

经过地点的布局,利用应用名加随机数的法门来分别分裂的实例,从而达成在统一主机上,不点名端口就能自在运行多少个实例的成效。

3.3.4修改 hadoop-env.sh

输入:

vim hadoop-env.sh

${JAVA_HOME} 修改为投机的JDK路径

export   JAVA_HOME=${JAVA_HOME}

修改为:

export   JAVA_HOME=/home/java/jdk1.8

图片 1

配置详解

在Eureka的劳务治理系列中,首要分为服务端与客户端。服务端为服务注册大旨,而客户端为顺序提供接口的微服务应用。当铺排高可用注册中央时,每个服务端也一度改为了客户端,由此,在动用Spring
Cloud
Eureka的进程中,大家所做的布局内容大概都以对Eureka客户端配置举行的操作,所以精晓那部分的配置内容,对于用好Eureka十三分有扶持。
而Eureka服务端更多类似于三个现成产品,大多数意况下,大家不需要修改它的配置消息。

3.3.3修改 core-site.xml

输入:

vim core-site.xml

<configuration>添加:

<configuration>
<property>
        <name>hadoop.tmp.dir</name>
        <value>/root/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
   </property>
   <property>
        <name>fs.default.name</name>
        <value>hdfs://test1:9000</value>
   </property>
</configuration>

图片 2
申明: test1 能够轮换为主机的ip。

元数据

元数据是Eureka客户端在想服务登记焦点发送注册请求时,用来叙述本身服务音讯的指标,当中涵盖了部分规则的元数据,比如服务名称、实例名称、实例IP、实例端口等用于服务治理的要害新闻;以及部分用来负载均衡策略或是其余特殊用途的自定义元数据新闻。
大家能够通过eureka.instance.<properties>=<value>的格式对标准化元数据直接实行布置,当中properties就是EurekaInstanceConfigBean对象中的成员变量名。而对于自定义元数据,可以通过eureka.instance.metadataMap.<key>=<value>的格式来进展安排,比如:

eureka.instance.metadataMap.zone=shanghai

1,更改主机名

率先更改主机名,指标是为着方便管理。
输入:

hostname 

翻看本机的名称
接下来输入:

vim /etc/sysconfig/network

修改主机名称
将HOSTNAME 的称谓改成为您想要设置的称谓
图片 3
注:主机名称改成之后,要重启(reboot)才会立见成效。

输入

vim /etc/hosts

添加 主机IP 和对应的主机名称,做映射。
图片 4

注:在布局文件中动用主机名的话,这一个映射必须做!

其余布置

均以eureka.instance为前缀:

参数名 说明 默认值
preferIpAddress 是否优先使用IP地址作为主机名的标识 false
leaseRenewalIntervalInSeconds Eureka客户端向服务端发送心跳的时间间隔,单位为秒 30
leaseExpirationDurationInSeconds Eureka服务端在收到最后一次心跳之后等待的时间上限,单位为秒。超过该时间之后服务端会将该服务实例从服务清单中剔除,从而禁止服务调用请求被发送到该实例上 90
nonSecurePort 非安全的通信端口号 80
securePort 安全的通信端口号 443
nonSecurePortEnabled 是否启用非安全的通信端口号 true
securePortEnabled 是否启用安全的通信端口号  
appname 服务名,默认取spring.application.name的配置值,如果没有则为unknown  
hostname 主机名,不配置的时候讲根据操作系统的主机名来获取  

参考文献
spring cloud 微服务实战

3.2.1 profile 文件更改

编辑 /etc/profile 文件
输入:

vim /etc/profile

总体的配备文件:

export JAVA_HOME=/home/java/jdk1.8
export JRE_HOME=/home/java/jdk1.8/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=.:${JAVA_HOME}/bin:$PATH

图片 5
注: JAVA_HOME的不二法门是 JDK的途径

应用vim 编辑之后 记得输入

source /etc/profile 

使配置生效

布置完后,输入java -version 查看版本新闻
图片 6

任何常用配置

那些常用配置均已eureka.client为前缀

参数名 说明 默认值
enabled 启用Eureka客户端 true
registryFetchIntervalSeconds 从Eureka服务端获取注册信息的间隔时间,单位为秒 30
instanceInfoReplicationIntervalSeconds 更新实例信息的变化到Eureka服务端的间隔时间,单位为秒 30
initialInstanceInfoReplicationIntervalSeconds 初始化实例信息到Eureka服务端的间隔时间,单位为秒 40
eurekaServiceUrlPollIntervalSeconds 轮询Eureka服务端地址更改的间隔时间,单位为秒。当我们与Spring CLoud Config整合,动态刷新Eureka的serviceURL地址时需要关注该参数 300
eurekaServerReadTimeoutSeconds 读取Eureka Server信息的超时时间,单位为秒 8
eurekaServerConnectTimeoutSeconds 链接Eureka Server的超时时间,单位为秒 5
eurekaServerTotalConnections 从Eureka客户端到所有Eureka服务端的连接总数 200
eurekaServerTotalConnectionsPerHost 从Eureka客户端到每个Eureka服务端主机的连接总数 50
eurekaConnectionIdleTimeoutSeconds Eureka服务端连接的空闲关闭时间,单位为秒 30
heartbeatExecutorThreadPoolSize 心跳连接池的初始化线程数 2
heartbeatExecutorExponentialBackOffBound 心跳超时重试延迟时间的最大乘数值 10
cacheRefreshExecutorThreadPoolSize 缓存刷新线程池的初始化线程数 2
cacheRefreshExecutorExponentialBackOffBound 缓存刷新重试延迟时间的最大乘数值 10
useDnsForFetchingServiceUrls 使用DNS来获取Eureka服务端的serviceUrl false
registerWithEureka 是否要将自身的实例信息注册到Eureka服务端 true
preferSameZoneEureka 是否偏好使用处于相同Zone的Eureka服务端 true
filterOnlyUpInstances 获取实例时是否过滤,仅保留UP状态的实例 true
fetchRegistry 是否从Eureka服务端获取注册信息 true

壹 、环境选拔

点名注册主题

点名注册宗旨重点透过eureka.client.serviceUrl参数完毕。
如若大家构建了高可用注册中央集群时,咱们得以为参数的value值配置多个登记中央的地点。例如:

eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka,http://peer2:1112/eureka/

为了服务登记中央的平安考虑,很多时候我们都会为劳动登记大旨投入安全校验。这些时候,在配置serviceUrl时,要求在value值得UTucsonL中投入相应的平安校验消息,比如:
http://<username>:<password>@localhost:1111/eureka

3,下载地址

官网地址:
JDK:
http://www.oracle.com/technetwork/java/javase/downloads

Hadopp:
http://www.apache.org/dyn/closer.cgi/hadoop/common

百度云:

链接:http://pan.baidu.com/s/1pLqS4kF 密码:yb79

端点配置
  • homePageUrl:应用主页的ULANDL
  • statusPageUrl:状态页的UENCOREL
  • healthCheckUrl:健检的U大切诺基L
    内部,状态页和健检的U逍客L在Spring Cloud
    Eureka中暗中认可使用了spring-boot-actuator模块提供的/info端点和/health端点。并且这个端点起着很要紧的意义

为了服务的例行运作,大家必须确认保证Eureka客户端的/health端点在出殡和埋葬元数据的时候,是3个能被登记中央访问到的地方,不然服务注册大旨不会依照使用的健检来改变状态(仅当打开了healthcheck成效时,以该端点音讯作为健检标准)。而/info端点假如不科学的话,会导致在Eureka面板中单机服务实例时,不能够访问到服务实例提供的音信接口。
大部动静下,大家并不需求修改那多少个UEvoqueL配置。

3.4.5修改 hdfs-site.xml

输入:

vim hdfs-site.xml

<configuration>添加:

<property>
   <name>dfs.name.dir</name>
   <value>/root/hadoop/dfs/name</value>
   <description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
</property>
<property>
   <name>dfs.data.dir</name>
   <value>/root/hadoop/dfs/data</value>
   <description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
   <name>dfs.replication</name>
   <value>2</value>
</property>
<property>
      <name>dfs.permissions</name>
      <value>false</value>
      <description>need not permissions</description>
</property>

图片 7

表达:dfs.permissions配置为false后,能够允许不要检查权限就生成dfs上的文书,方便倒是便宜了,但是你需求防止误删除,请将它设置为true,也许直接将该property节点删除,因为私下认可就是true。

劳务注册类配置

有关劳动注册类的配备音讯,大家得以经过翻看org.springframework.cloud.netflix.eureka.EurekaClientConfig的源码来获得比官方文书档案中更是详细的始末。那些安顿音讯都已eureka.client为前缀。

贰 、服务器的连锁布署

在布局Hadoop从前,应该先做以下配置

常规检查和测试

暗许情况下,Spring CLoud
Eureka中逐一服务实例的寻常检查和测试并不是透过spring-boot-actuator模块的/health端点来达成的,而是借助客户端心跳的章程来保险服务实例的水土保持。因而,默许的心跳方式作为健检和测试并不保障。因为无法检查和测试服务是还是不是能有效提供劳务。
在Spring Cloud
Eureka中,大家得以经过简单的布署,把Eureka客户端的符合规律检查和测试交给spring-boot-actuator模块的/health端点,以贯彻更为完善的不荒谬化意况维护。
详见步骤如下:

  1. 在pom.xml中引入spring-boot-starter-actuator模块的依赖
    xml
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
  2. application.properties中增添参数配置eureka.client.healthcheck.enabled=true

3,Hadoop 环境布署

Eureka客户端配置分类

  1. 劳动注册相关布署,包含劳动登记中央的地址、服务赢得的年月间隔、可用区域等。
  2. 劳务实例相关布署,包蕴劳动实例的称号、IP地址、端口号、健检路径等。

2,关闭防火墙

关门防火墙,方便外部访问。
CentOS 7版本以下输入:
关门防火墙

service   iptables stop

CentOS 7 以上的版本输入:

systemctl   stop   firewalld.service

劳务实例类配置

有关劳动实例类配置音讯,咱们得以经过翻看org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean的源码来博取详细内容,那一个安插消息都是eureka.instance为前缀。

1,服务器选择

Ali云服务器:入门型(按量付费)
操作系统:linux CentOS 6.8
Cpu:1核
内存:1G
硬盘:40G
ip:39.108.77.250
图片 8

③ 、Hadoop环境设置

3.3.1 profile 文件更改

编辑 /etc/profile 文件
输入:

vim /etc/profile

完全的铺排文件:

export HADOOP_HOME=/home/hadoop/hadoop2.8
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH

图片 9
输入:

source  /etc/profile

使配置生效

修改配置文件

四、Hadoop启动

先是次运营Hadoop需求起初化
切换来 /home/hadoop/hadoop2.8/bin索引下输入

  ./hadoop  namenode  -format

图片 10
图片 11

发轫化成功后,能够在/root/hadoop/dfs/name
目录下(该路线在hdfs-site.xml文件中实行了相应布署,并新建了该公文夹)新增了一个current
目录以及一些文本。
图片 12

起先Hadoop 首假如开发银行HDFS和YA宝马7系N
切换到/home/hadoop/hadoop2.8/sbin目录
启动HDFS
输入:

start-dfs.sh

登录会询问是或不是连接,输入yes ,然后输入密码就能够了
图片 13

启动YARN
输入:

start-yarn.sh

图片 14

能够输入 jps 查看是还是不是成功运营

在浏览器输入:
http://39.108.77.250:8088/cluster
图片 15

输入:
http://39.108.77.250:50070
图片 16
注:当时忘记截图了,那张选取的是地点用虚拟机搭建环境的图样。
到此,Hadoop的单机配置就终止了。

1,下载jdk、hadoop

将下载下来的 jdk、hadoop 解压包放在home 目录下
并新建java、hadoop文件夹
图片 17

2,JDK环境安排

第贰输入

java -version 

查阅是不是安装了JDK,若是设置了,但版本不切合的话,就卸载

3.3.2新建文件夹

在改动配置文件此前,未来root目录下树立部分文本夹。
输入:

mkdir  /root/hadoop  
mkdir  /root/hadoop/tmp  
mkdir  /root/hadoop/var  
mkdir  /root/hadoop/dfs  
mkdir  /root/hadoop/dfs/name  
mkdir  /root/hadoop/dfs/data

注:在root目录下新建文件夹是防止被莫名的删除。

先是切换成 /home/hadoop/hadoop2.8/etc/hadoop/ 目录下

3.4.6 修改mapred-site.xml

一旦没有 mapred-site.xml
该文件,就复制mapred-site.xml.template文本同仁一视命名为mapred-site.xml
输入:

vim mapred-site.xml

修改这一个新建的mapred-site.xml文件,在<configuration>节点内投入配置:

<property>
    <name>mapred.job.tracker</name>
    <value>test1:9001</value>
</property>
<property>
      <name>mapred.local.dir</name>
       <value>/root/hadoop/var</value>
</property>
<property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
</property>

图片 18

使用的授命:
图片 19
到此 Hadoop 的单机形式的布局就成功了。

3.1.1解压文件

输入:
tar -xvf jdk-8u144-linux-x64.tar.gz
tar -xvf hadoop-2.8.2.tar.gz
解压jdk和hadoop ,分别运动文件到java和hadoop文件下,
并将文件夹重命名为jdk1.8和hadoop2.8
图片 20

2,配置接纳

JDK:1.8 (jdk-8u144-linux-x64.tar.gz)
Hadoop:2.8.2 (hadoop-2.8.2.tar.gz)

3,时间设置

输入:

date

翻开服务器时间是还是不是一致,若不均等则改变
变更时间命令

date -s ‘MMDDhhmmYYYY.ss’

发表评论

电子邮件地址不会被公开。 必填项已用*标注