个人服务器模块化部署实录-前言
个人服务器模块化部署实录-前言之前一直用的阿里云服务器作为自己的个人云服务器,用来部署自己的网站及业务。目前采取的是服务器上直接部署服务,通过supervisor的方式进行统一管理。在使用过程中遇到了以下几个问题:
服务的部署操作困难因为一直是在本地开发的,部署发布之前需要把代码推到git,再上服务器从git拉取代码然后进行发布。之所以不用自动发布工具,是因为一来自动化流程构建需要时间,而我每次写一个小程序之后,很少有改动。所以就会变成不停配置自动化步骤。二来自动化发布工具毕竟也是需要硬件资源的,云服务器资源并不是很富裕。两者综合考虑,就一直在用手动的方式进行开发,部署。
服务迁移起来很困难虽然都是自己写的东西,但是因为没有规范化的部署文档,也没有部署等级。一旦遇到需要迁移的场景,就很难受。目前我在更换云服务器的时候,都是采用的打包成快照,生成镜像,然后根据镜像部署服务的方式。这种方式的局限性在于,我只能在阿里云内部进行迁移,如果我以后想使用其他服务商的云服务器,迁移的成本将是巨大的。且这个成本是日间增加的。
服务管理困难之前遇见过服务被爆破,或者由于bug程序自己 ...
Elastic Stack-基础概念
Elastic Stack-基础概念
基础概念
elastic stack = elasticsearch + logstash + kibana + beats
elasticsearch:基于java,是个开源分布式搜索引擎。它的特点是:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源自动搜索负载等。
logstash:基于java,是一个用于收集,分析和存储日志的工具。
kibana:局域node.js。用于汇总,分析和搜索重要数据日志。
beats:是一款采集系统监控数据的代理agent,是在被监控服务器上以客户端形式运行的数据收集器的总称。可以直接把数据发送给elasticsearch或者通过logstash发送给elasticsearch。然后进行后续的数据分析活动。
packetbeat:网络数据包分析
filebeat:用于监控、收集服务器日志文
metricbeat:用于收集各项服务的指标
winlogbeat:用于监控,收集windows系统的日志信息
ETL工具datax kettle对比
1、阿里开源软件: DataX
DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。
2、Apache开源软件: Sqoop
Sqoop(发音:skup)是一款开源的工具,主要用于在HADOOP(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。(摘自百科)
3、Kettle开源软件:水壶(中文名)
Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形 ...
面试问题记录 一
linux启动过程
开机自检,加载BIOS
读取MBR
Boot Loader grub引导菜单
加载kernel内核
init进程依据inittab文件夹来设定运行级别
init进程执行rc.sysinit
启动内核模块
执行不同运行级别的脚本程序
执行/etc/rc.d/rc.local
执行/bin/login程序,启动mingetty,进入登录状态
ha和nginx的区别
Nginx优点:
工作在网络7层之上,可针对http应用做一些分流的策略,如针对域名.目录结构,它的正规规则比HAProxy更为强大和灵活,所以,目前为止广泛流行。
Nginx对网络稳定性的依赖非常小,理论上能ping通就能进行负载功能。
Nginx安装与配置比较简单,测试也比较方便,基本能把错误日志打印出来。
可以承担高负载压力且稳定,硬件不差的情况下一般能支撑几万次的并发量,负载度比LVS小。
Nginx可以通过端口检测到服务器内部的故障,如根据服务器处理网页返回的状态码.超时等,并会把返回错误的请求重新提交到另一个节点。
不仅仅是优秀的负载均衡器/反向代理软件,同时也是强大的Web应用服务器。L ...
Mariadb安装与使用
安装 yum install mariadb mariadb-server.x86_64 -y
关闭网络端口 vim /etc/my.cnf
skip-networking=1
netstat -antlpe | grep mysql # 查看Mariadb使用的端口
systemctl restart mariadb
初始化mysql_secure_installation
# 输入新密码 所有都选择yes
使用mysql -u root -p #密码
SHOW DATABASES; #查看存在的库
CREATE DATABASE linux; #新建name库
USE linux; #使用name库
SHOW TABLES; #显示已有表格
CREATE TABLE name ( #有一个空格 username varchar(10) not null, password varchar(30) not null, age varchar(3) ); #新建表格
DESC n ...

