分布式部署

分布于集群

若如初见. 提交于 2019-11-27 22:15:15
简单的来说: 分布式是以缩短单个任务的执行时间来提高效率的 而集群是通过提高单位时间内执行的任务数来提示效率 分布式:一个业务拆分为多个子业务,部署在不同的服务器上,只要挂了一台服务器,系统就跑不起来了。 集群:同一个业务,部署在多个服务器上,若其中一台出现问题,不会影响其他的服务器。也不会影响业务的执行 来源: https://www.cnblogs.com/changwenjun-666/p/11380142.html

初识Solr(二):Solr集群(SolrCloud)搭建

∥☆過路亽.° 提交于 2019-11-27 17:52:17
一、SolrCloud   SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。当一个系统的索引数据量少的时候是不需要使用SolrCloud的, 当索引量很大,搜索请求并发很高,这时需要使用SolrCloud来满足这些需求 。    SolrCloud是 基于Solr和Zookeeper的分布式搜索方案 ,它的主要思想是使用 Zookeeper 作为 集群的配置信息中心 。 二、Zookeeper   顾名思义zookeeper就是动物园管理员,他是用来管hadoop(大象)、Hive(蜜蜂)、pig(小猪)的管理员, Apache Hbase和 Apache Solr 的分布式集群都用到了zookeeper;    Zookeeper:是一个分布式的、开源的程序协调服务,是hadoop项目下的一个子项目 Zookeeper的功能 1、配置管理   在我们的应用中除了代码外,还有一些就是各种配置。比如数据库连接等。一般我们都是使用配置文件的方式,在代码中引入这些配置文件。但是当我们只有一种配置,只有一台服务器,并且不经常修改的时候,使用配置文件是一个很好的做法。   但是如果我们配置非常多,有很多服务器都需要这个配置,而且还可能是动态的话使用配置文件就不是个好主意了。   

记录下最近看分布式系统设计的一些感想(下)

耗尽温柔 提交于 2019-11-27 16:10:28
上一篇文章讨论了分布式系统中的服务调用和异步消息,今天想在这两个的基础上讨论下分布式系统需要解决的问题,以及常见的解决方案。 其实分布式系统的出现和分布式系统面临的挑战归结到最终都是因为用户数量的急剧增长导致的,随着用户数量和活跃用户数的,应用服务和数据库服务的并发访问压力越来越大,我们不得不进行服务拆分,做数据库的拆分和读写分离。服务拆分之后可以让我们能对每个服务进行针对性的部署,核心服务得到更好的隔离。 对于服务的拆分,我们可以根据领域驱动设计的思想,将整个系统进行域的划分,找出我们的核心子域、支撑子域;服务拆分之后面临的一个问题是服务之间的调用,此时RPC就出现了(当然此前还有webservice等技术),而随着RPC的出现,又带来了新的问题,就是服务的治理,例如新的服务上线之后如何让其他服务发现,服务下线之后如何剔除,服务调用超时之后如何进行处理,还有就是服务的性能监控和可用率监控以及相应的报警措施。 同时,有些场景下可能我们不需要同步的调用一些服务,只需要异步通知就可以了,虽然现在的RPC框架也可以实现异步调用,但是当异步调用失败后还是会影响到通知的准确性,于是就有了消息队列。消息队列可以让我们实现服务之间的异步调用,当需要做某一个通知时,我们只需要往消息队列的服务方发送一条消息,用一个消费者去消费这条消息然后调用其他服务即可。同样每一项技术的引入都会给我们带来新的问题

zabbix分布式监控平台添加服务监控项(http,nginx,mysql)

二次信任 提交于 2019-11-27 16:07:21
一、添加http服务监控项 1.http是zabbix自带的监控模板 2.点击配置–>主机–>server2–>模板–>选择 选择完后点击添加,添加完成后更新 点击主机查看,主机server2的监控项中就出现了HTTP服务 二、监控nginx服务 1. 部署nginx服务 (1)解压nginx安装包 [root@server3 ~]# tar zxf nginx-1.16.0.tar.gz (2)关闭debug日志 [root@server3 ~]# cd nginx-1.16.0 [root@server3 nginx-1.16.0]# vim auto/cc/gcc # debug #CFLAGS="$CFLAGS -g" (3)安装解决依赖性的包 [root@server3 nginx-1.16.0]# yum install gcc pcre-devel zlib-devel -y (4)编译并安装 [root@server3 nginx-1.16.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module [root@server3 nginx-1.16.0]# make && make install (5)编辑nginx配置文件 [root@server3 nginx-1.16.0]

Github管理Eclipse分布式项目

廉价感情. 提交于 2019-11-27 14:09:10
1.Eclipse中下载安装Egit插件; 2.创建代码仓库; 3.在Eclipse中使用Egit插件 1.使用eclipse 3.7安装egit插件 help->intall new software.. 在work with中输入:(这里选用的egit版本是2.3) egit - http://download.eclipse.org/egit/updates-2.3 注:不要勾选EGit Mylyn和Egit Plug-in Inmport Support 不知道我的为什么选了会报错 。可以先试一下勾选。 装完以后可以在window->preferences->Team 中看到git 2.创建代码仓库 登录https://github.com/ Create A Repository 本地安装windows的git工具,这里使用msysgit 安装略 简单的配置(在Git Bash中设置) $git config --global user.name "XXX" $git config --global user.email "XXX" 因为我们这边要把本地的git和github相连需要在github中设置SSH Keys Edit Your Profile->SSH Keys->Add SSH key 关于SSH Keys的生成: $ssh-keygen -t rsa -C

分布式、集群

这一生的挚爱 提交于 2019-11-27 14:05:30
1.什么是分布式架构?什么是集群? 分布式 : 一个业务分拆为多个子业务,分别布署到不同服务器上,需要各子业务之间配合才能完成整个业务逻辑 。比如一个网站,会员系统放在A服务器,消息系统放在B服务器,支付系统放在C服务器等等,那么这个网站也算是一个分布式网站。 集群 : 同一个业务被布署到不同的服务器 以降低单台服务器的压力, 多台服务器一起实现同一个业务 。 区别: 分布式是指将不同的业务分给不同的服务器,每一个服务器都完成不同的业务,每个服务器缺一不可 ;而 集群指的是将几台服务器集中在一起,实现同一业务。每台服务器并不是缺一不可的。 分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率的。 【注】分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。 举个例子说明 :   一个小饭店里,原来只有一个厨师,买菜洗菜切菜炒菜全都是这厨师一人干,这叫 单机结构 。后来饭店客人多了,一个厨师确实忙活不过来,于是饭店又请来了个厨师,现在饭店有了两个厨师,这两个厨师都能从头到尾做一样的菜,这两个厨师就是 集群 。这样两个厨师集群确实能做更多的活,客人点10个菜可以分配每个人抄5个,单个厨师压力减少了。但是这样还不行,为了让厨师专心做菜,把菜做得更好,于是饭店又请来了采购和配菜师,采购负责买菜,配菜师负责把菜挑拣洗好切好给厨师做好准备

zookeeper与分布式系统

大憨熊 提交于 2019-11-27 07:38:08
1.1. 分布式系统基础知识 一个 tomcat 打天下的时代,不能说完全淘汰了,在一个管理系统,小型项目中还经常使用,这并不过分,出于成本的考虑,这反而值得提倡。 1.1.1. 分布式系统是什么 分布式系统:一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统 这是分布式系统,在不同的硬件,不同的软件,不同的网络,不同的计算机上,仅仅通过消息来进行通讯与协调 这是他的特点,更细致的看这些特点又可以有:分布性、对等性、并发性、缺乏全局时钟、 故障随时会发生。 1.1.1.1. 分布性 既然是分布式系统,最显著的特点肯定就是分布性,从简单来看,如果我们做的是个电商项目,整个项目会分成不同的功能,专业点就不同的微服务,比如用户微服务,产品微服务,订单微服务,这些服务部署在不同的 tomcat 中,不同的服务器中,甚至不同的集群中,整个架构都是分布在不同的地方的,在空间上是随意的,而且随时会增加,删除服务器节点,这是第一个特性 1.1.1.2. 对等性 对等性是分布式设计的一个目标,还是以电商网站为例,来说明下什么是对等性,要完成一个分布式的系统架构,肯定不是简单的把一个大的单一系统拆分成一个个微服务,然后部署在不同的服务器集群就够了,其中拆分完成的每一个微服务都有可能发现问题,而导致整个电商网站出现功能的丢失。 比如订单服务,为了防止订单服务出现问题

负载均衡在分布式架构中是怎么玩起来的?

◇◆丶佛笑我妖孽 提交于 2019-11-27 07:22:53
什么是负载均衡(Load balancing) 在网站创立初期,我们一般都使用单台机器对台提供集中式服务,但随着业务量越来越大,无论性能还是稳定性上都有了更大的挑战。这时候我们就会想到通过扩容的方式来提供更好的服务。我们一般会把多台机器组成一个集群对外提供服务。然而,我们的网站对外提供的访问入口都是一个的,比如www.taobao.com。那么当用户在浏览器输入www.taobao.com的时候如何将用户的请求分发到集群中不同的机器上呢,这就是负载均衡在做的事情。 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等。 在实际应用中,在Web服务器集群之前总会有一台负载均衡服务器,负载均衡设备的任务就是作为Web服务器流量的入口,挑选最合适的一台Web服务器,将客户端的请求转发给它处理,实现客户端到真实服务端的透明转发。最近几年很火的「云计算」以及分布式架构,本质上也是将后端服务器作为计算资源、存储资源,由某台管理服务器封装成一个服务对外提供,客户端不需要关心真正提供服务的是哪台机器,在它看来,就好像它面对的是一台拥有近乎无限能力的服务器,而本质上,真正提供服务的是后端的集群。 软件负载解决的两个核心问题是: 选谁、转发

Hadoop-HDFS分布式环境

百般思念 提交于 2019-11-27 06:26:42
HDFS 简单介绍 HDFS 的英文全称是Hadoop Distributed File System,顾名思义,就是 Hadoop 分布式文件系统,是根据 Google 的 GFS 的论文,由 Doug Cutting 使用 Java 开发的开源项目。 HDFS 本身是 H adoop 项目的一部分,为 Hadoop 提供了底层的数据存储,以供上层的各种实际应用使用(如 Map/Reduce )。 HDFS 是典型的 Master/Slave 集群架构,由一个 NameNode 和多个 DataNode 组成, NameNode 只能是一个,扮演着 Master 的角色,负责对具体存储块的元数据进行保存,如某个存储块具体保存在哪个 DataNode 上; DataNode 可以为多个,扮演着 Slave 的角色,负责对具体的存储块进行保存,一个相同的存储块根据配置可以保存到多个 DataNode 上,以保持数据的高可用性。客户端与 HDFS 交互时,典型的,会先询问 NameNode 具体的存储块在哪个 DataNode 上,然后客户端会直接联系相应的 DataNode ,来获取或写入数据。各个 DataNode 会定时发送心跳至 NameNode ,以便 NameNode 了解 DataNode 的可用状态及存储状态,这样可以保证某一个 DataNode 挂掉,

SolrCloud分布式集群部署步骤

百般思念 提交于 2019-11-27 06:09:10
Solr及SolrCloud简介     Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。     SolrCloud是Solr4.0版本以后基于Solr和Zookeeper的分布式搜索方案,它的主要思想是使用Zookeeper作为集群的配置信息中心。它有以下几个特点: 集中式的配置信息管理。 自动容错。 近实时搜索。 查询时自动负载均衡。 将索引存储在HDFS上。 通过MR批量创建索引。     更多关于SolrCloud的相关介绍可参考以下链接: http://www.chepoo.com/solrcloud-introduction.html http://www.cnblogs.com/phinecos/archive/2012/02/10/2345634.html https://cwiki.apache.org/confluence/display/solr/SolrCloud 软件包准备 jdk-7u79-linux-x64.tar.gz apache-tomcat-7.0.62.tar.gz solr-5.2.1.tgz zookeeper-3.4.6.tar.gz