分布式

【原创】Git版本控制器的基本使用

☆樱花仙子☆ 提交于 2019-12-07 02:09:55
关于git Git,是一个分布式版本控制软件。最初本是为了更好的管理Linux内核开发而被林纳斯·托瓦兹开发,后来因为项目开发中版本控制的强烈需求,而git也日趋成熟,最终成为了一个独立的版本控制软件。 git使用方法 创建远程仓库 建立远程仓库,说得白话一点就是在代码托管服务器上给我分配一片可远程访问的空间。其实跟git的使用没有直接的关系,但是为了更好的说明问题,咱就稍微啰嗦下。 目前支持git的代码托管服务很多,名气最大的莫过于 Github ,其他还有 GitLab 、 Bitbucket 、 CSDN-CODE 、 Git@OSC 等等。我们先来说说为什么需要代码托管服务器,无论我们开发的是个人项目还是团队项目,从长远来看,将代码托管到远程服务器上都是比较好的选择。理由很容易想到: 1、方便多人(有权限)共享,团队开发尤为重要; 2、不怕更换电脑,公司和家里或出差,只要有电脑就可以访问; 3、不怕硬盘损坏代码丢失; 4、其他还有很多。 基于以上代码托管服务器,建立一个远程仓库非常简单,以Github为例,打开 https://github.com首页登录进去后,页面右上角有一个“+”图标,鼠标点上去就看到如图所示的样子: 点击红框标示的那个连接,然后填写关键信息,根据提示就创建好了。 创建本地代码库(init) 本地代码库,其实就是我们的代码目录

分布式日志系统Scribe编译安装

岁酱吖の 提交于 2019-12-06 22:00:56
最近准备整合多个系统的日志,因而想到构建一套分布式日志存储系统,首先考虑的是Scribe,不过编译安装耗费了很多时间(Scribe相关文档确实少了点,相比Flume) 环境:Ubuntu13.04 32bit 组件: scribe 2.x(最新版) thrift 0.9.0 boost 1.54 fb303 thrift自带 至于其他所依赖的相关包(如libevent、automake、flex、bison等)可根据configure的结果进行安装或更新。 1、安装boost 官网下载boost,版本要求高于1.36(作者用的是1.54.0),按照文档中给出的方法编译: $tar --bzip2 -xf /home/vincent/Download/boost_1_54_0.tar.bz2 $cd /home/vincent/Download/boost_1_54_0 $./bootstrap.sh --help $./bootstrap.sh --prefix=opt/boost_1.54 $./b2 install 至此,boost库编译完成,编译时无需指定其他选项,在--prefix参数指定的目录下生成include和lib文件夹存放头文件和库文件。 2、安装thrift 下载thrift包,安装是经典的三大步: $tar zxvf thrift-0.9.0.tar.gz

Solr Cloud 5.4 集群环境搭建

核能气质少年 提交于 2019-12-05 10:46:02
废话不多说,直接开始吧 先声明一下软件的版本: 我用的是 zookeeper 3.4.5 + solr 5.4.0 主机环境: 三台服务器 192.168.15.43 192.168.15.44 192.168.15.45 为了以后ssh方便 我修改了 43 的/etc/hosts: 192.168.15.43 solr1 192.168.15.44 solr2 192.168.15.45 solr3 1. zookeeper 的安装 1.1 zookeeper 下载 复制到服务器上 解压安装 目录: ~/software software下 installed-package 下存储安装软件包 1.2 zookeepe 目录以及配置 新建/software/zookeeper-data 文件夹 //zookeeper的数据存储位置 将/soft/ zookeeper-3.4.5/ conf 下的zoo_sample.cfg文件名改为zoo.cfg 并修改zoo.cfg文件如下: zoo.cfg: # The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 #

#分布式系统架构之# 事件驱动模式以及与之匹配的长时间处理过程讨论

[亡魂溺海] 提交于 2019-12-05 07:33:39
在分布式系统下,可以很多种架构从事设计,或者分布式系统对技术架构本身没有做严格的限制。但是结合自己的实践以及基于《领域驱动设计》的推荐, 采用 【事件驱动模式】是比较好的一种分布式系统架构方式。该模式充分实现了 不同系统之间的代码解耦,所有的业务流转是通过事件广播进行驱动的。所有业务都是在针对 名为【事件总线】的组件在编程,也无需知道事件的生产者,每个业务只监听自己感兴趣的事件,然后根据事件触发不同的业务代码 以及 自己在处理完某种业务后,也对外广播发出事件,则标志着当前业务的完成。 基于【事件驱动模式】是一种比较接近人类自然行为的一种模式,该模式给系统的解耦以及重构带来了先天优势。相对比与传统的业务模式,大量的业务流程都是基于代码或者是某种规则引擎加以实现,而 事件驱动模式 则是针对事件总线注册监听, 【事件总线】总是能够忠实的把消息投递给感兴趣的监听者,并且保证其对应业务逻辑的自然触发。一旦有业务变动,我们仅仅是在【事件总线】上增加 或者 移除对应的事件消费者,或者注册新的事件发布者,这种行为并没有影响到当前的业务代码变动。 用日常通俗讲法:更加接近于 小学老师讲课,老师常常会不自觉的吼一声:“小朋友们,记住了吗?”这时,这要是听到该咨询的小朋友 都会回应道:“听懂了”,在此过程中 ,声音作为事件、空气作为事件总线(忠实的传递事件到达监听者),如果这个时候

Hadoop上路_14-Hadoop2.3.0的分布式集群搭建

雨燕双飞 提交于 2019-12-04 21:42:07
一。配置虚拟机软件 下载地址: https://www.virtualbox.org/wiki/downloads 1. 虚拟机软件设定 1 )进入全集设定 2 )常规设定 2.Linux 安装配置 1 )名称类型 名称最后具有说明意义。版本根据个人情况。 2 )内存 在下物理机系统 Win7x64 ,处理器 i53210 ,内存 8G 。 3 )磁盘选择 4 )磁盘文件 virtualbox 格式 vdi , VMWare 格式 vmdk ,微软格式 vhd ( virtualbox 不支持), Parallels 格式 hdd ( virtualbox 不支持)。 vdi 转 vmdk : VBoxManage.exe clonehd 原镜像 .vmdk 目标镜像 .vdi - -format VDI vdi 转 vhd : VBoxManage.exe clonehd 原镜像 .vdi 目标镜像 .vmdk --format VMDK vmdk 转 vhd : VBoxManage.exe clonehd 原镜像 .vdi 目标镜像 .vhd --format VHD 5 )磁盘空间 根据个人物理机配置,固定大小运行更快。 6 )磁盘位置 7 )数据传输 共享粘贴板和鼠标拖放的实现还需要系统安装结束后安装增强功能。 8 )软驱 去除勾选。 9 ) Linux 镜像 10

基于Docker快速搭建多节点Hadoop集群

两盒软妹~` 提交于 2019-12-04 13:33:00
一. 项目简介 GitHub: kiwanlau/hadoop-cluster-docker 博客: 基于Docker快速搭建多节点Hadoop集群 直接用机器搭建Hadoop集群是一个相当痛苦的过程,尤其对初学者来说。他们还没开始跑wordcount,可能就被这个问题折腾的体无完肤了。而且也不是每个人都有好几台机器对吧。你可以尝试用多个虚拟机搭建,前提是你有个性能杠杠的机器。 我的目标是将Hadoop集群运行在Docker容器中,使Hadoop开发者能够快速便捷地在本机搭建多节点的Hadoop集群。其实这个想法已经有了不少实现,但是都不是很理想,他们或者镜像太大,或者使用太慢,或者使用了第三方工具使得使用起来过于复杂。下表为一些已知的Hadoop on Docker项目以及其存在的问题。 项目 镜像大小 问题 sequenceiq/hadoop-docker:latest 1.491GB 镜像太大,只支持单个节点 sequenceiq/hadoop-docker:2.7.0 1.76 GB sequenceiq/hadoop-docker:2.60 1.624GB sequenceiq/ambari:latest 1.782GB 镜像太大,使用太慢,使用复杂 sequenceiq/ambari:2.0.0 4.804GB sequenceiq/ambari:latest:1.70

如何使用MongoDB+Springboot实现分布式ID

守給你的承諾、 提交于 2019-12-04 11:12:26
如何实现分布式id,一般会给出这几种方案 使用数据库自增Id 使用reids的incr命令 使用UUID Twitter的snowflake算法 利用zookeeper生成唯一ID MongoDB的ObjectId mongodb如何实现分布式ID MongoDB的ObjectId设计成轻量型的,不同的机器都能用全局唯一的同种方法方便地生成它。MongoDB 从一开始就设计用来作为分布式数据库,处理多个节点是一个核心要求。使其在分片环境中要容易生成得多。 实现方式 1.引入mongodb依赖 <!--mongodb --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> 2.创建一个实体类 public class Customer { @Id public String id; public String firstName; public String lastName; public Customer() {} 此处省略get,set } 3.创建mongodb 接口类 public interface CustomerRepository extends

百度架构师是怎样搭建MySQL分布式集群

怎甘沉沦 提交于 2019-12-04 08:09:52
1、准备集群搭建环境 使用6台虚拟机来搭建 MySQL分布式集群 ,相应的实验环境与对应的MySQL节点之间的对应关系如下图所示: 管理节点(MGM):这类节点的作用是管理MySQLCluster内的其他节点,如提供配置数据,并停止节点,运行备份等。由于这类节点负责管理其他节点的配置,应该在启动其他节点之前启动这类节点。MGM节点是用命令“ndb_mgmd”启动的; 数据节点(NDB):这类节点用于保存Cluster的数据,数据节点的数目与副本的数目相关,是片段的倍数。例如,对于两个副本,每个副本有两个片段,那么就有4个数据节点,没有必要设定过多的副本,在NDB中数据会尽量的保存在内存中。数据节点使用命令“ndb”启动的; SQL节点:这是用来访问Cluster数据的节点,对于MySQL Cluster,客户端节点是使用NDB Cluster存储引擎的传统MySQL服务器。通常,SQL节点使用命令“mysqld-ndbcluster”启动的; 2、准备安装包 在官网上下载mysql的安装包: mysql-cluster-gpl-7.4.11-Linux-glibc2.5-x86_64.tar.gz,并进行解压。 3、集群搭建流程 1]将上述安装包解压出来的文件都移到/usr/local/mysql下; 2]运行script目录下的mysql-install-db.sh脚本

Hadoop Job的提交,到底提交了什么?

两盒软妹~` 提交于 2019-12-04 05:04:36
##一个最基本的Hadoo任务 WordCountMapper: <pre class="prettyprint lang-java"> private final static IntWritable one = new IntWritable(1); @Override public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { StringTokenizer tokenizer = new StringTokenizer(value.toString()); while (tokenizer.hasMoreTokens()) { String str = tokenizer.nextToken(); context.write(new Text(StringUtils.trim(str.replaceAll("\\W", ""))), one); } } </pre> WordCountReduce: <pre class="prettyprint lang-java"> @Override public void reduce(Text key, Iterable<IntWritable> values, Context

学习“大型网站系统架构”读书清单

自闭症网瘾萝莉.ら 提交于 2019-12-03 23:18:11
大型分布式网站架构设计与实践(陈康贤 著); 大型网站技术架构:核心原理与案例分析(李智慧 著); 分布式Java应用基础与实践(林昊 著); 企业应用架构模式(Martin Fowler 著); 大型网站系统与JAVA中间件实践(曾宪杰 著); 第一本和第二本大家可以当做科普介绍性质读物,了解一下大型网站的架构和演变历程以及用到的开源软件; 重点推荐曾宪杰写的第五本,文章的内容很充实,由浅入深,值得反复品读。 来源: oschina 链接: https://my.oschina.net/u/124342/blog/656593