<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sda1_hacker的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sda1_hacker</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sda1_hacker]]></copyright><item><title><![CDATA[cgo混编，go调用包含回调函数的C语言函数]]></title><link>https://blog.youkuaiyun.com/sda1_hacker/article/details/137838539</link><guid>https://blog.youkuaiyun.com/sda1_hacker/article/details/137838539</guid><author>sda1_hacker</author><pubDate>Tue, 16 Apr 2024 20:23:32 +0800</pubDate><description><![CDATA[能不能不写摘要。]]></description><category></category></item><item><title><![CDATA[Kubernetes资源平台--ratel]]></title><link>https://blog.youkuaiyun.com/sda1_hacker/article/details/122199919</link><guid>https://blog.youkuaiyun.com/sda1_hacker/article/details/122199919</guid><author>sda1_hacker</author><pubDate>Tue, 28 Dec 2021 18:38:33 +0800</pubDate><description><![CDATA[没事儿随便看点东西，发现了很有趣的东西，把自己的集群跑起来玩一玩。
杜宽大佬写的系统，感觉很好用，自己搭建一遍记录一下搭建过程。
原文传送门在这里了： https://github.com/dotbalo/ratel-doc

准备工作：

有一套k8s集群。
安装了网络组件，Flannel、Calico都可以，我使用的是Calico。
安装了dashboard。

所有配置文件都在/root/ratel/ 这个文件夹下。

###
集群信息如下：
使用kubeadm部署的集群，3台master用hapro]]></description><category></category></item><item><title><![CDATA[jenkins构建项目时使用sshpass + scp远程拷贝踩坑。]]></title><link>https://blog.youkuaiyun.com/sda1_hacker/article/details/119608175</link><guid>https://blog.youkuaiyun.com/sda1_hacker/article/details/119608175</guid><author>sda1_hacker</author><pubDate>Wed, 11 Aug 2021 16:05:44 +0800</pubDate><description><![CDATA[我这边的流程是这样的：	（服务器 centos 7.6）
	1. jenkins从gitlab上将代码拉到本地，
	2. 在本地打包之后发送到其他服务器上。

使用jenkins将代码包拷贝到其他服务器上可以使用jenkins提供的插件（自行百度）。
我这里使用了scp将本地的软件包拷贝到其他服务器上。

记录一下踩的坑。

yum -y install sshpass 

使用sshpass，不输入密码。

# jenkins中脚本中关于scp的shell如下：
sshpass -p 'abc@123!!]]></description><category></category></item><item><title><![CDATA[K8S部署服务以及服务的暴露]]></title><link>https://blog.youkuaiyun.com/sda1_hacker/article/details/118635693</link><guid>https://blog.youkuaiyun.com/sda1_hacker/article/details/118635693</guid><author>sda1_hacker</author><pubDate>Tue, 13 Jul 2021 16:22:32 +0800</pubDate><description><![CDATA[基础命令：
1. 创建应用：
kubectl create deployment nginx-test --image=nginx
# 到远程仓库pull一个nginx的docker镜像
# 然后回创建一个名字为nginx-test的deployment
# 同时回创建一个pod

2. 查看pod：
kubectl get pods [-n namespace]
# 查看对应命名空间的 pod，默认命名空间是default

3. 查看deployment：
kubectl get deployment ]]></description><category></category></item><item><title><![CDATA[K8S dashboard]]></title><link>https://blog.youkuaiyun.com/sda1_hacker/article/details/118596437</link><guid>https://blog.youkuaiyun.com/sda1_hacker/article/details/118596437</guid><author>sda1_hacker</author><pubDate>Fri, 09 Jul 2021 10:06:25 +0800</pubDate><description><![CDATA[k8s dashboard，关闭自动生成证书。使用自定义证书。]]></description><category></category></item><item><title><![CDATA[kubeadm 部署 k8s]]></title><link>https://blog.youkuaiyun.com/sda1_hacker/article/details/118539072</link><guid>https://blog.youkuaiyun.com/sda1_hacker/article/details/118539072</guid><author>sda1_hacker</author><pubDate>Wed, 07 Jul 2021 11:32:50 +0800</pubDate><description><![CDATA[打算将自己的小项目搬到K8S上，学习了一波，顺便做一下笔记，方便之后查阅。
环境准备：
centos 7.8，	2核CPU，  2G内存
node2：192.168.157.130			作为master节点
node3：192.168.157.131			作为work节点

保证集群内所有机器可以互相ping通
保证机器可以连接外网（非必要，可以连接本地docker仓库）

1. 禁止swap分区
	swapoff -a		# 临时关闭

	vim /etc/fstab		# 永久关闭，需要重启机器
	# ]]></description><category></category></item><item><title><![CDATA[fastDFS防盗链踩坑]]></title><link>https://blog.youkuaiyun.com/sda1_hacker/article/details/111197965</link><guid>https://blog.youkuaiyun.com/sda1_hacker/article/details/111197965</guid><author>sda1_hacker</author><pubDate>Tue, 15 Dec 2020 12:34:12 +0800</pubDate><description><![CDATA[今天搞一个小东西的时候用到了fastDFS的防盗链功能。遇到了一些坑，过来记录一下。关于fastDFS的配置看之前的内容。
1. 开启fastDFS防盗链功能：（直接贴我的配置文件了）

vim /etc/fdfs/http.conf

# HTTP default content type
http.default_content_type = application/octet-stream

# MIME types mapping filename
# MIME types file format:]]></description><category></category></item><item><title><![CDATA[Java程序运行中动态添加枚举]]></title><link>https://blog.youkuaiyun.com/sda1_hacker/article/details/109584304</link><guid>https://blog.youkuaiyun.com/sda1_hacker/article/details/109584304</guid><author>sda1_hacker</author><pubDate>Fri, 20 Nov 2020 21:40:27 +0800</pubDate><description><![CDATA[今天在工作中遇到这么一个场景：
调用一个service功能，需要传递枚举，如果传递其他的值还需要修改底层的代码。于是就想到用动态的方式添加枚举。参考了其他人写的例子，自己尝试了一下，说不定之后可以用到，所以在这里纪录一下。
枚举：
@Getter
public enum Test {

    PT("服务质量", "bandwidth", "bandwidth", "", "", 1d, false, "带宽", "sum", "服务质量"),

    
    private String quota]]></description><category></category></item><item><title><![CDATA[索引库：solr的搭建和使用，以及springboot链接solr]]></title><link>https://blog.youkuaiyun.com/sda1_hacker/article/details/107640236</link><guid>https://blog.youkuaiyun.com/sda1_hacker/article/details/107640236</guid><author>sda1_hacker</author><pubDate>Wed, 29 Jul 2020 10:13:11 +0800</pubDate><description><![CDATA[solr和ElasticSearch差不多，是一个索引服务器，也可以看做是nosql。
mysql 5.6之后为INNODB存储引擎提供了全文索引，如果有大量的相似度查询，那么压力还是会在sql服务器上。因此可以采用索引库的方式，将mysql中的数据某一些数据同步到索引库上，客户端直接访问索引库，这样就可以减轻sql服务器的压力了。结构图如下：

一、安装solr
jdk 1.8、tomcat
wget http://archive.apache.org/dist/lucene/solr/4.10.4/so]]></description><category></category></item><item><title><![CDATA[安装使用FastDFS，使用Nginx提供访问]]></title><link>https://blog.youkuaiyun.com/sda1_hacker/article/details/107501415</link><guid>https://blog.youkuaiyun.com/sda1_hacker/article/details/107501415</guid><author>sda1_hacker</author><pubDate>Wed, 22 Jul 2020 00:05:36 +0800</pubDate><description><![CDATA[FastDFS：是一种分布式文件系统，主要的组件是tracker和storage，工作流程如下图。

环境准备：
主机：
centos 7.x：192.168.206.135	（tracker和storage在一台主机上。）

软件包：
libfastcommonV1.0.7.tar.gz
FastDFS_v5.05.tar.gz
fastdfs-nginx-module_v1.16.tar.gz
nginx-1.17.3.tar.gz

安装：
一、基础软件包：
	yum -y install gcc g]]></description><category></category></item><item><title><![CDATA[nginx+wordpress遇到的坑]]></title><link>https://blog.youkuaiyun.com/sda1_hacker/article/details/107033988</link><guid>https://blog.youkuaiyun.com/sda1_hacker/article/details/107033988</guid><author>sda1_hacker</author><pubDate>Tue, 30 Jun 2020 11:10:21 +0800</pubDate><description><![CDATA[心血来潮，想用nginx+wordpress搭建一个简单的个人站，结果遇到了很多坑。在这里将心路历程做一个简单的记录。
服务器：阿里云cnetos7.8
数据库：mariadb
nginx：1.17.3（源码安装）
1、安装mariadb：
	yum -y install mariadb mariadb-server mariadb-devel
	systemctl start mariadb
	systemctl enable mariadb
	
	mysql_secure_installation 	#]]></description><category></category></item><item><title><![CDATA[Nginx--TCP/UDP调度]]></title><link>https://blog.youkuaiyun.com/sda1_hacker/article/details/101170459</link><guid>https://blog.youkuaiyun.com/sda1_hacker/article/details/101170459</guid><author>sda1_hacker</author><pubDate>Mon, 29 Jun 2020 18:50:47 +0800</pubDate><description><![CDATA[和nginx反向代理相似，Nginx–TCP/UDP的调度在本质上也是请求的转发，但是在前文配置的反向代理只能试用与web服务。这里通过转发ssh（端口22）服务，来实现TCP/UDP的调度。
如图：

	安装nginx的ngx_stream_core_module模块
	使用 --with-stream开启这个模块
	./configure --user=nginx --group=nginx ...]]></description><category></category></item><item><title><![CDATA[Nginx反向代理（web服务器）]]></title><link>https://blog.youkuaiyun.com/sda1_hacker/article/details/101169700</link><guid>https://blog.youkuaiyun.com/sda1_hacker/article/details/101169700</guid><author>sda1_hacker</author><pubDate>Mon, 29 Jun 2020 18:50:32 +0800</pubDate><description><![CDATA[如图所示：

客户机和两个web服务器不在同一个网段中，因此无法直接请求web服务。但是Nginx代理服务器，有两个ip地址，可以和客户机进行通信，也可以和web服务器进行通信。
在配置之前需要关闭防火墙和selinux。
	配置nginx服务器：
	vim /usr/local/nginx/conf/nginx.conf
	upstream webserver {		# 使用upstream创建...]]></description><category></category></item><item><title><![CDATA[JVM]]></title><link>https://blog.youkuaiyun.com/sda1_hacker/article/details/106985418</link><guid>https://blog.youkuaiyun.com/sda1_hacker/article/details/106985418</guid><author>sda1_hacker</author><pubDate>Sat, 27 Jun 2020 19:30:42 +0800</pubDate><description><![CDATA[这两天看了一些有关JVM的东西，在这里以自己的理解做一个简单的记录。
jvm的主要构成有：
1、类加载器
2、运行时数据区（内存结构）
3、执行引擎
这里主要对1、2以及jvm垃圾回收进行一些简单的说明。
====================================
运行时数据区（内存结构）：
======= 线程之间共享 =======
堆：存储单位，虚拟机启动时自动创建，存放对象的实例，几乎所有的对象都存放在堆上。是垃圾回收的主要区域。主要分为新生代和老年代。

​	新生代：

​		Ede]]></description><category></category></item><item><title><![CDATA[Hadoop-高可用]]></title><link>https://blog.youkuaiyun.com/sda1_hacker/article/details/104777369</link><guid>https://blog.youkuaiyun.com/sda1_hacker/article/details/104777369</guid><author>sda1_hacker</author><pubDate>Thu, 14 May 2020 22:15:38 +0800</pubDate><description><![CDATA[一、namenode高可用：
namenode存储了数据和地址的映射（fsimage），当节点发生故障的时候，
备份节点应该和故障节点具有相同的数据，因此有两种方式实现高可用。
1、使用NFS：将数据放在一个共享的目录下。
2、使用QJM：准备两台namenode，一个用于备份，
datanode向namenode回复数据与地址的映射时，
不仅向namenode回复，也要向备份的namenode回...]]></description><category></category></item><item><title><![CDATA[zookeeper集群]]></title><link>https://blog.youkuaiyun.com/sda1_hacker/article/details/104738801</link><guid>https://blog.youkuaiyun.com/sda1_hacker/article/details/104738801</guid><author>sda1_hacker</author><pubDate>Thu, 14 May 2020 22:14:58 +0800</pubDate><description><![CDATA[一、简介
1、zookeeper是什么：开源的分布式应用程序协调服务，保证数据在集群减的事务一致性

2、应用场景：集群分布式锁、积分统一命名服务、分布式协调服务

3、角色与特性：
	Leader：可以理解为主节点，负责与所有的follower节点进行内部数据交换、接受所有follower节点的提案请求并且发起提案的投票。（一般进行写操作）
	Follower：可以理解为从节点，与Leader节...]]></description><category></category></item><item><title><![CDATA[Hadoop-节点管理与使用]]></title><link>https://blog.youkuaiyun.com/sda1_hacker/article/details/104690657</link><guid>https://blog.youkuaiyun.com/sda1_hacker/article/details/104690657</guid><author>sda1_hacker</author><pubDate>Thu, 14 May 2020 22:14:34 +0800</pubDate><description><![CDATA[192.168.1.60  nn01			# 角色：namenode、secondarynamenode、resourcemanager
	192.168.1.61  node1			# 角色：datanode、nodemanager
	192.168.1.62  node2			# 角色：datanode、nodemanager
	192.168.1.63  node3			# 角色：data...]]></description><category></category></item><item><title><![CDATA[Hadoop-完全分布式]]></title><link>https://blog.youkuaiyun.com/sda1_hacker/article/details/104642448</link><guid>https://blog.youkuaiyun.com/sda1_hacker/article/details/104642448</guid><author>sda1_hacker</author><pubDate>Thu, 14 May 2020 22:14:21 +0800</pubDate><description><![CDATA[1、环境准备：（所有主机）
	# 使用hadoop2.7.7
	# 准备如下主机，修改/etc/hosts，保证所有主机都可以ping通
	192.168.1.60  nn01			# 角色：namenode、secondarynamenode、resourcemanager
	192.168.1.61  node1			# 角色：datanode、nodemanager
	192.168.1.6...]]></description><category></category></item><item><title><![CDATA[Hadoop基础]]></title><link>https://blog.youkuaiyun.com/sda1_hacker/article/details/104597834</link><guid>https://blog.youkuaiyun.com/sda1_hacker/article/details/104597834</guid><author>sda1_hacker</author><pubDate>Thu, 14 May 2020 22:14:01 +0800</pubDate><description><![CDATA[1、常用组件
HDFS：分布式文件系统
MapReduce：分布式计算框架
Yarn：集群资源管理系统
-------- 以上是三者是Hadoop核心组件 --------
Zookeeper：分布式协作服务
Hbase：分布式列存储数据库
Hive：数据仓库
Sqoop：数据同步工具
Pig：基于hadoop的数据流系统
Mahout：数据挖掘算法库
Flume：日志收集工具

2、HDFS角色...]]></description><category></category></item><item><title><![CDATA[分布式ELK-Logstash、Kibana]]></title><link>https://blog.youkuaiyun.com/sda1_hacker/article/details/104580786</link><guid>https://blog.youkuaiyun.com/sda1_hacker/article/details/104580786</guid><author>sda1_hacker</author><pubDate>Thu, 14 May 2020 22:13:45 +0800</pubDate><description><![CDATA[一、Logstash：用于收集、分析、处理日志。
1、准备主机
准备主机192.168.1.57，修改/etc/hosts文件（ELK所有主机上都相同）
192.168.1.51 es1
192.168.1.52 es2
192.168.1.53 es3
192.168.1.54 es4
192.168.1.55 es5
192.168.1.56 kibana
192.168.1.57 logst...]]></description><category></category></item></channel></rss>