<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[baishancha的博客]]></title><description><![CDATA[分享一下学习笔记]]></description><link>https://blog.youkuaiyun.com/baishancha</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; baishancha]]></copyright><item><title><![CDATA[zabbix监控hadoop集群]]></title><link>https://blog.youkuaiyun.com/baishancha/article/details/109285864</link><guid>https://blog.youkuaiyun.com/baishancha/article/details/109285864</guid><author>baishancha</author><pubDate>Mon, 26 Oct 2020 10:59:39 +0800</pubDate><description><![CDATA[**
Git地址：https://github.com/jihang-web/zabbix-hadoop.git
**

]]></description><category></category></item><item><title><![CDATA[zookeeper的选举机制]]></title><link>https://blog.youkuaiyun.com/baishancha/article/details/109280585</link><guid>https://blog.youkuaiyun.com/baishancha/article/details/109280585</guid><author>baishancha</author><pubDate>Sun, 25 Oct 2020 22:54:59 +0800</pubDate><description><![CDATA[一、选举机制
1. 第一阶段：数据恢复阶段
每台Zookeeper服务器在启动的时候，都会从本地的数据目录中找到自己所拥有的最大事务id。
2. 第二阶段：选举阶段
每一个Zookeeper的服务器都会推荐自己当leade并且提交选举协议：
	a. 自己所拥有的最大事务id - Zxid
	b. 自己的选举id - myid
	c. 逻辑时钟值，作用是确保每一台Zookeeper服务器都会处在同一轮选举中
3. 节点状态
	a. Looking - 选举状态
	b. follower - 追随者
	c. l]]></description><category></category></item><item><title><![CDATA[ZAB协议和2PC算法]]></title><link>https://blog.youkuaiyun.com/baishancha/article/details/109280517</link><guid>https://blog.youkuaiyun.com/baishancha/article/details/109280517</guid><author>baishancha</author><pubDate>Sun, 25 Oct 2020 22:52:39 +0800</pubDate><description><![CDATA[ZAB协议
一、概述
1. ZAB（Zookeeper Atomic Broadcast）协议是为分布式协调服务ZooKeeper专门设计的一种支持崩溃恢复的原子广播协议
2. ZAB协议是一种特别为ZooKeeper设计的崩溃可恢复的原子消息广播算法。这个算法是一种类2PC算法，在2PC基础上做的改进
3. ZAB协议包括两种基本的模式，分别是：
	a. 消息原子广播（保证数据一致性）
	b. 崩溃恢复（解决2pc算法的单点问题）

二、消息原子广播
1. 在ZooKeeper中，主要依赖ZAB协议来实现]]></description><category></category></item><item><title><![CDATA[Canal]]></title><link>https://blog.youkuaiyun.com/baishancha/article/details/109280442</link><guid>https://blog.youkuaiyun.com/baishancha/article/details/109280442</guid><author>baishancha</author><pubDate>Sun, 25 Oct 2020 22:44:52 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[单节点mongo安装]]></title><link>https://blog.youkuaiyun.com/baishancha/article/details/109277750</link><guid>https://blog.youkuaiyun.com/baishancha/article/details/109277750</guid><author>baishancha</author><pubDate>Sun, 25 Oct 2020 19:50:47 +0800</pubDate><description><![CDATA[TODO:mongo集群等
一、目录规划
/export/server/mongodb
二、下载安装
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.3.tgz，并将文件解压或移动/export/server/mongodb
tar -xzf mongodb-linux-x86_64-3.6.3.tgz -C /export/server/
三、配置
1)在 /export/server/mongodb/bin 文件夹添加mong]]></description><category></category></item><item><title><![CDATA[GrayLog日志平台]]></title><link>https://blog.youkuaiyun.com/baishancha/article/details/109277565</link><guid>https://blog.youkuaiyun.com/baishancha/article/details/109277565</guid><author>baishancha</author><pubDate>Sun, 25 Oct 2020 19:43:32 +0800</pubDate><description><![CDATA[graylog由Graylog Collector -&gt; Graylog Server -&gt; Graylog Web 三部分组成，在官方给出的参考文档(http://docs.graylog.org/)中，给出的推荐方案是：MongoDB + elasticsearch + graylog的方案。
建议与考虑：
在为Graylog扩展资源时，有一些经验法则：
•	Graylog节点应重点关注CPU功能。这些还可以为浏览器提供用户界面。
•	Elasticsearch节点应具有尽可能多的RAM和可]]></description><category></category></item><item><title><![CDATA[graylog-server配置文件详解]]></title><link>https://blog.youkuaiyun.com/baishancha/article/details/109277390</link><guid>https://blog.youkuaiyun.com/baishancha/article/details/109277390</guid><author>baishancha</author><pubDate>Sun, 25 Oct 2020 19:26:52 +0800</pubDate><description><![CDATA[graylog-server
•	is_master = true
o	如果您正在运行多个Graylog服务器实例，则只需选择一个graylog-server节点作为主节点。该节点将执行从属节点不会执行的定期和维护操作。
o	每个从属节点都将像主节点一样接受消息。如果集群中已存在主节点，则节点将退回到从属模式。
•	node_id_file = /etc/graylog/server/
o	自动生成的节点ID将存储在此文件中，并在重新启动后读取。如果要从初始化脚本或类似脚本启动Graylog服务器，则在此处]]></description><category></category></item><item><title><![CDATA[MINIO分布式集群搭建]]></title><link>https://blog.youkuaiyun.com/baishancha/article/details/107615279</link><guid>https://blog.youkuaiyun.com/baishancha/article/details/107615279</guid><author>baishancha</author><pubDate>Mon, 27 Jul 2020 17:01:25 +0800</pubDate><description><![CDATA[搭建分布式集群

使用docker-compose

中文文档：https://docs.min.io/cn/deploy-minio-on-docker-compose.html
Docker Compose允许定义和运行单主机，多容器Docker应用程序。
使用Compose，您可以使用Compose文件来配置MinIO服务。 然后，使用单个命令，您可以通过你的配置创建并启动所有分布式MinIO实例。 分布式MinIO实例将部署在同一主机上的多个容器中。 这是建立基于分布式MinIO的开发，测试和分期环]]></description><category></category></item><item><title><![CDATA[zabbix集成微信公众号报警]]></title><link>https://blog.youkuaiyun.com/baishancha/article/details/107467825</link><guid>https://blog.youkuaiyun.com/baishancha/article/details/107467825</guid><author>baishancha</author><pubDate>Mon, 20 Jul 2020 17:21:50 +0800</pubDate><description><![CDATA[注册企业微信
添加一个部门，并记住ID，将用户加入创建的部门中

创建一个自建的程序


记住AgentID和Secret的号
在我的企业的栏中找到我的企业ID，记录下
获取weixin脚本

#!/usr/bin/env python

import requests
import sys
import os
import json
import logging

logging.basicConfig(level = logging.DEBUG, format = '%(asctime)s, %(fi.]]></description><category></category></item><item><title><![CDATA[linux切换用户非常慢]]></title><link>https://blog.youkuaiyun.com/baishancha/article/details/107464613</link><guid>https://blog.youkuaiyun.com/baishancha/article/details/107464613</guid><author>baishancha</author><pubDate>Mon, 20 Jul 2020 15:35:42 +0800</pubDate><description><![CDATA[linux切换用户非常慢问题解决
问题描述：
当执行命令 su - 用户  的时候非常慢，高达20秒
解决过程：
先查看cpu，负载等问题，经查看，处于正常水平
查看/etc/hosts文件内容是否正常
查看进程状态：
systemctl status systemd-logind
发现如下报错

解决方法
systemctl restart  systemd-logind

...]]></description><category></category></item><item><title><![CDATA[rabbitmq]]></title><link>https://blog.youkuaiyun.com/baishancha/article/details/98470751</link><guid>https://blog.youkuaiyun.com/baishancha/article/details/98470751</guid><author>baishancha</author><pubDate>Sun, 04 Aug 2019 16:15:13 +0800</pubDate><description><![CDATA[1.RabbitMQ是什么
实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用erlang语言编写的，企业级消息代理软件。实现了服务之间的解耦
2.为什么要使用RabbitMQ 解耦、异步、削峰
在分布式系统下具备异步,削峰,负载均衡等一系列高级功能;
拥有持久化的机制，进程消息，队列中的信息也可以保存下来。
实现消费者和生产者之间的解耦。
对...]]></description><category></category></item><item><title><![CDATA[mycat]]></title><link>https://blog.youkuaiyun.com/baishancha/article/details/98468353</link><guid>https://blog.youkuaiyun.com/baishancha/article/details/98468353</guid><author>baishancha</author><pubDate>Sun, 04 Aug 2019 14:17:59 +0800</pubDate><description><![CDATA[1.Mycat
号称中国第一开源数据库中间件，支持高性能的读写分离，最大的百亿级的达标水平分片并行计算，支持数据整合输入和整合输出
2.Mycat的原理
实现的是对客户端发起的sql访问做拦截，计算分片的位置，计算读写分离的逻辑，获取一个要执行的sql语句的后端数据库连
接，获取数据，返回客户端。 3.同类的产品
cobar：存在后端数据库假死的情况，在高并发环境中，由于后端开发的技术基于阻塞线程...]]></description><category></category></item><item><title><![CDATA[reids面试题]]></title><link>https://blog.youkuaiyun.com/baishancha/article/details/98458390</link><guid>https://blog.youkuaiyun.com/baishancha/article/details/98458390</guid><author>baishancha</author><pubDate>Sun, 04 Aug 2019 12:39:28 +0800</pubDate><description><![CDATA[1.redis是什么？
是一个支持nosql，key-value数据类型，内存，可以持久化，缓存，分布式的，非关系型数据库

内存：redis在运行几件，使用的是内存资源作为数据库存储数据，具有内存的致命缺陷(容量上限)
可持久化：存储在redis内存中的数据，可以设置持久化策略，在断电内存数据丢失时，重启redis可以从磁盘文件重新读取数据(这是占据市场的重要技术点)
支持分布式集群，可以使用r...]]></description><category></category></item><item><title><![CDATA[SpringMVC]]></title><link>https://blog.youkuaiyun.com/baishancha/article/details/98039221</link><guid>https://blog.youkuaiyun.com/baishancha/article/details/98039221</guid><author>baishancha</author><pubDate>Thu, 01 Aug 2019 11:03:25 +0800</pubDate><description><![CDATA[1.SpringMVC是什么？
SpringMVC是一个web层，控制层框架，主要用来负责与客户端交互，业务逻辑的调用，简化开发，实现解耦
可以支持各种视图技术,而不仅仅局限于JSP；
支持各种请求资源的映射策略
2.SpringMVC的组件
a.前端控制器
本质上是一个servlet，相当于一个中转站，所有的访问都会走到这个servlet中，再根据配置进行中转到相应的Handler中进行处理，获...]]></description><category></category></item><item><title><![CDATA[Spring面试题]]></title><link>https://blog.youkuaiyun.com/baishancha/article/details/98033180</link><guid>https://blog.youkuaiyun.com/baishancha/article/details/98033180</guid><author>baishancha</author><pubDate>Thu, 01 Aug 2019 10:07:59 +0800</pubDate><description><![CDATA[1.Spring是什么？
spring是一个轻量级的IOC和aop的容器框架，是为Java程序提供基础性服务的框架，用于简化程序的开发。
2.Spring的优点？
spring属于低侵入式设计，代码的污染低
spring的ioc称之为控制反转，简答的来说就是将对象的创建以及对象生命周期的管理交给了spring框架来管理，
从此在开发的过程中，不在需要关注这些细节，而是在需要的时候有spring框架...]]></description><category></category></item><item><title><![CDATA[#{} 和 ${}区别]]></title><link>https://blog.youkuaiyun.com/baishancha/article/details/94574127</link><guid>https://blog.youkuaiyun.com/baishancha/article/details/94574127</guid><author>baishancha</author><pubDate>Wed, 03 Jul 2019 16:35:49 +0800</pubDate><description><![CDATA[{} 和 ${}区别
#{}在引用时，如果发现目标是一个字符串，则会将其值作为一个字符串拼接在sql上,即拼接时自动包裹引号
${}在引用时，即使发现目标是一个字符串，也不会作为字符串处理，拼接在sql时不会自动包裹引号
例如：
所以通常情况下，使用#{}
insert into user values (null,#{name},55); --&gt; insert into user valu...]]></description><category></category></item><item><title><![CDATA[hash一致性]]></title><link>https://blog.youkuaiyun.com/baishancha/article/details/94569945</link><guid>https://blog.youkuaiyun.com/baishancha/article/details/94569945</guid><author>baishancha</author><pubDate>Wed, 03 Jul 2019 16:06:26 +0800</pubDate><description><![CDATA[1.分片计算中,hash取余算法的缺点
在使用redis集群时,hash取余(key.hashCode()&amp;Integer.MAX_VALUE%N),存在两个缺点
• 数据倾斜不可避免(只要是散列hash,数据计算结果倾斜必定存在)
• 扩容缩容集群时,数据迁移量过大(重点)

	@Test
	public void test08(){
		int count=0;
		for(int i...]]></description><category></category></item><item><title><![CDATA[redis集群命令]]></title><link>https://blog.youkuaiyun.com/baishancha/article/details/94567978</link><guid>https://blog.youkuaiyun.com/baishancha/article/details/94567978</guid><author>baishancha</author><pubDate>Wed, 03 Jul 2019 15:39:07 +0800</pubDate><description><![CDATA[集群
cluster info&nbsp;：打印集群的信息
cluster nodes&nbsp;：列出集群当前已知的所有节点（ node），以及这些节点的相关信息。
节点
cluster meet  &nbsp;：将 ip 和 port 所指定的节点添加到集群当中，让它成为集群的一份子。
cluster forget &lt;node_id&gt;&nbsp;：从集群中移除 node_id 指定...]]></description><category></category></item><item><title><![CDATA[槽道原理]]></title><link>https://blog.youkuaiyun.com/baishancha/article/details/94565274</link><guid>https://blog.youkuaiyun.com/baishancha/article/details/94565274</guid><author>baishancha</author><pubDate>Wed, 03 Jul 2019 15:28:27 +0800</pubDate><description><![CDATA[1. 槽道原理解决的2个问题
• 节点redis-server接收写命令之后,根据key的计算结果槽道号判断所属权?
• 判断所属权失败(false),从哪获取正确槽道的管理信息(节点ip:port)?
2. 槽道原理
2.1槽道的组成部分
• 16384位的二进制,本质上一个2048个元素的byte数组;通过对二进制的计算,获取(自定义的)下标,下标正好对应的槽道号,每个维护槽道的节点都会存储这...]]></description><category></category></item><item><title><![CDATA[SpringMVC字符编码过滤器对于中文get请求乱码问题的解决方法]]></title><link>https://blog.youkuaiyun.com/baishancha/article/details/94299585</link><guid>https://blog.youkuaiyun.com/baishancha/article/details/94299585</guid><author>baishancha</author><pubDate>Sun, 30 Jun 2019 11:31:29 +0800</pubDate><description><![CDATA[&lt;filter&gt;
        &lt;filter-name&gt;encodingFilter&lt;/filter-name&gt;
        &lt;filter-class&gt;
            org.springframework.web.filter.CharacterEncodingFilter
        &lt;/filter-class&g...]]></description><category></category></item></channel></rss>