作者文章

fwq

FWQ
服务器教程
说说Zookeeper中的ACL
Access Control List,简称ACL,即访问控制列表,在分布式系统中重要性是毋庸置疑的。   概述 传统的文件系统中,ACL分为两个维度,一个是属组,一个是权限,子目录/文件默认继承父目录的ACL。而在Zookeeper中,node的ACL是没有继承关系的,是独立控制的。Zookeeper的ACL,可以从三个维度来理解:一是scheme; 二是user; 三是permission,通常表示为scheme:id:permissions, 下面从这三个方面分别来介绍: scheme scheme对应于采用哪种方案来进行权限管理,zookeeper实现了一个pluggable的ACL方案,可以通过扩展scheme,来扩展ACL的机制。zookeeper-3.4.4缺省支持下面几种scheme: world: 它下面只有一个id, 叫anyone, world:anyone代表任何人,zookeeper中对所有人有权限的结点就是属于world:anyone的 auth: 它不需要id, 只要是通过authentication的user都有权限(zookeeper支持通过kerberos来进行authencation, 也支持username/password形式的authentication) digest: 它对应的id为username:BASE64(SHA1(password)),它需要先通过username:password形式的authentication ip: 它对应的id为客户机的IP地址,设置的时候可以设置一个ip段,比如ip:192.168.1.0/16, 表示匹配前16个bit的IP段 super: 在这种scheme情况下,对应的id拥有超级权限,可以做任何事情(cdrwa) 另外,zookeeper-3.4.4的代码中还提供了对sasl的支持,不过缺省是没有开启的,需要配置才能启用,具体怎么配置在下文中介绍。 sasl: sasl的对应的id,是一个通过sasl…
2024-11-19 阅读全文 →
FWQ
服务器教程
Kafka的安装与命令
官方的网站:http://kafka.apache.org 官方的下载:http://kafka.apache.org/downloads   选择使用scala2.11编译kafka最新稳定版本: kafka_2.11-0.10.1.1.tgz 安装 下载的是已经使用scala编译过的,可以直接使用。但在使用前需要安装zookeeper,安装zookeeper 参考:Zookeeper的安装、Zookeeper配置 配置zookeeper后,采用如下的代码启动: ./kafka-server-start.sh ../config/server.properties  & kafka的详细配置参考:kafka的配置 命令 在bin的目录下(除windows外)有众多的shell脚本,这些都是kafka的管理命令,是不是觉得有点多,下面 来逐个介绍下: connect-distributed.sh distributed的中文释义分布式, connect-standalone.sh kafka-acls.sh kafka-configs.sh kafka-console-consumer.sh kafka-console-producer.sh kafka-consumer-groups.sh kafka-consumer-offset-checker.sh kafka-consumer-perf-test.sh kafka-mirror-maker.sh kafka-preferred-replica-election.sh kafka-producer-perf-test.sh…
2024-11-19 阅读全文 →
FWQ
服务器教程
Haproxy的安装与启动
haproxy的官方地址:http://www.haproxy.org HAproxy的官方学习文档:http://cbonte.github.io/haproxy-dconv/1.7/intro.html   下载:http://www.haproxy.org/download/1.7/src/haproxy-1.7.2.tar.gz # tar xzf haproxy-1.7.2.tar.gz # cd haproxy-1.7.2 # make PREFIX=/usr/local/haproxy/ TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 # make install PREFIX=/usr/local/haproxy/ 安装可参考:https://github.com/haproxy/haproxy-1.5 Tips 1:为什么目录中没有configure?先来熟悉下一般软件的安装过程 使用configure配置软件(例如:prefix=/usr/local/xxx),会生成 Makefile make,开始编译,把源代码编译成可执行二进制代码…
2024-11-19 阅读全文 →
FWQ
服务器教程
Haproxy中的log的设置原理解析
在理解Haproxy的Log设置原理之前,先来了解下Linux中的系统日志服务。系统日志服务和其他服务一样(如web服务nginx、httpd),也有启动、停止、配置等,运行原理这里不详细介绍了。   下面以centos7为例: 配置 配置文件:/etc/rsyslog.conf 配置目录:/etc/rsyslog.d/ 也是在rsyslog.conf中include下rsyslog.d下的所有文件 启动、重启、停止命令 systemctl start rsyslog systemctl stop rsyslog systemctl restart rsyslog 命令logger的使用: logger [options] [messages] options: -d, --udp  使用数据报(UDP)而不是使用默认的流连接(TCP) -i, --id 逐行记录每一次logger的进程ID…
2024-11-19 阅读全文 →
FWQ
服务器教程
Haproxy中的Log的相关配置详解
在官方的文档中:http://cbonte.github.io/haproxy-dconv/1.7/configuration.html#log 定义Log的使用格式: log <address> [len <length>] [format <format>] <facility> [max level [min level]] #支持global、defaults、frontend、backend、listen Tips 1:log 支持多条,在配置中可以配置多条log,例如配置access,error 2个日志. Tips 2:日志的级别 emerg  alert  crit   err    warning notice info  debug,共8个…
2024-11-19 阅读全文 →
FWQ
服务器教程
HTTP协议中的14种请求方法
请求方法是请求一定的Web页面的程序或用于特定的URL。 可选用下列几种:   GET: 请求指定的页面信息,并返回实体主体。 HEAD: 只请求页面的首部。 POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。 PUT: 从客户端向服务器传送的数据取代指定的文档的内容。 DELETE: 请求服务器删除指定的页面。 OPTIONS: 允许客户端查看服务器的性能。 TRACE: 请求服务器在响应中的实体主体部分返回所得到的内容。 PATCH: 实体中包含一个表,表中说明与该URI所表示的原内容的区别。 MOVE: 请求服务器将指定的页面移至另一个网络地址。 COPY: 请求服务器将指定的页面拷贝至另一个网络地址。 LINK: 请求服务器建立链接关系。 UNLINK: 断开链接关系。 WRAPPED:…
2024-11-19 阅读全文 →
FWQ
服务器教程
Haproxy中几种健康检查的使用
在Haproxy中有httpchk、ssl-hello-chk 下面来逐个介绍下这几种健康检查的使用,了解了这些就应该清楚知道怎么设置haproxy对后端服务的检查检查了。   一、option httpchk 从字面理解,我都能知道大概含义,http check,没错,这个设置表示开启后端服务器的http健康检查。下面来看下在haproxy中是如何设置的。 通用格式: option httpchk option httpchk <uri> option httpchk <method> <uri> option httpchk <method> <uri> <version> 在default、backend、listen使用,禁止在frontend使用。 method:可以指定http协议中的方法,可参考:HTTP协议中的14种请求方法,默认使用 OPTIONS,然使用OPTIONS  对后端服务器的性能影响最小。 uri:默认 /…
2024-11-19 阅读全文 →
FWQ
服务器教程
Haproxy中的后端服务器server的使用
server的设置包括server和default-server两种,这两种区别在于default-server是多组server的公用设置。一般涉及到多组服务器,可以设置公用default-server,其他的server将继承default-server的设置。 官方的参考文档:http://cbonte.github.io/haproxy-dconv/1.7/configuration.html#5.2-addr 这2个命令的设置格式:   server <name> <address>[:port] [settings ...] default-server [settings ...] 其中name、address是必须的,port是可选,省略的话,默认是80端口。 Tips 1:请注意以下2种设置的区别, port设置的健康检查的端口 server web1 192.168.80.121 port 8080 check //请求转发到80端口,而健康检查是8080端口 server web2 192.168.80.122:8080 check //请求转发和健康检查都是用8080端口…
2024-11-19 阅读全文 →
FWQ
服务器教程
DNS服务器的基础知识
一、什么是DNS DNS定义: DNS的全名Domain Name System,中文可以翻译成领域名称系统(通俗叫域名系统)。主要作用是将我们容易记忆的域名(Domain Name)转化成IP地址。未来网络的发展IPv6会取代IPv4,此时将会出现16位0-9A-Z的组合,替换现在的0.0.0.0的地址,基本上不可能记住IPv6的地址,此时DNS更会凸显它的重要性。   Hosts与DNS的区别: 在/etc/hosts(以linux举例说明)中,也可以实现将域名转换成IP地址,但如果一旦网域内出现多台服务器,使用hosts会是一灾难,假设现在有10台服务器,需要配置10台服务器的host,如果新增1台,之前的10台也需要做相应的更改,如果增加到30台,100台,如果没有DNS服务器这个基本上是个灾难。 什么是FQDN? FQDN的全名是 Full Qualified Domain Name,中文翻译成全部合格领域名称,比较难翻译哈…理解就好了,其实这个概念就是包括Domain Name和HostName,Domain Name是领域名称(通俗叫域名),HostName这个地方不太好翻译,举个例子看下吧,需要注意的是,因为整个 Internet 的DNS服务器的分层的。比方说解析bbs.taisha.org.cn的过程。 从 . (根域)中查找cn ,此时Domain Name是. ,而Host Name 是cn 从.cn中查找org,此时Domain…
2024-11-19 阅读全文 →
FWQ
服务器教程
CentOS 7 设置DNS方法同之前版本不同
在CentOS 7下,手工设置 /etc/resolv.conf 里的DNS,过了一会,发现被系统重新覆盖或者清除了。和CentOS 6下的设置DNS方法不同,有几种方式:   1、使用全新的命令行工具 nmcli 来设置 #显示当前网络连接 #nmcli connection show NAME UUID TYPE DEVICE eno1 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 802-3-ethernet eno1 #修改当前网络连接对应的DNS服务器,这里的网络连接可以用名称或者UUID来标识 #nmcli con mod eno1 ipv4.dns "114.114.114.114…
2024-11-19 阅读全文 →