Kafka

背景优劣Kafka技术产生的背景。优势:劣势:安装部署准备磁盘 磁盘冗余阵列:一般至少一个副本,做raid5即可 磁盘分区格式:文件系统建议用 xfs (kakfa love xfs),服务器默认 ext4,如果重新格式化,请修改 /etc/fstab 并修改文件系统类型 禁用交换分区:sudo swapoff -a安装软件1.Download the code> tar -xzf kafka_2.12-2.4.0.tgz> cd kafka_2.12-2.4.02.Start the server> bin/zookeeper-server-start.sh config/zookeeper.properties> bin/kafka-server-start.sh config/server.properties3.Create a topic> bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions...

Homebrew 使用

Homebrew 简介Homebrew 是一款自由及开放源代码的软件包管理系统,用以简化 macOS 系统上的软件安装过程。它拥有安装、卸载、更新、查看、搜索等很多实用的功能,通过简单的一条指令,就可以实现包管理,十分方便快捷。Homebrew 更换镜像阿里云开发者社区提供了阿里云官方镜像站,为广大开发者提供了极速全面稳定的系统镜像服务。具体更换 Homebrew 更换镜像源,详见官方文档:https://developer.aliyun.com/mirror/homebrewHomebrew 配置代理因为 brew 是支持全局代理的,我们只需要在当前环境当中加入代理配置即可,就能通过 ss 来更新了。# bashecho export ALL_PROXY=socks5://127.0.0.1:1080 >> ~/.bash_profile# zshecho export ALL_PROXY=socks5://127.0.0.1:1080 >> ~/.zsh_profileHomebrew 命令# 检查Homebrew是否正常brew doctor# 搜索...

MacOS实用技巧

访达侧边栏添加自定义目录操作步骤1、首先通过快捷建方式【command+ shift+ G 】到达自定义文件的地址;2、点击【前往】按钮 或者【ENTER】按钮到达;3、将要添加的文件夹【data】拖向左边侧边栏,即成功添加;系统普通用户启动80端口由于系统限制非root用户不能启动1024以下端口,而我们平时使用Mac一般都是非root用户,所以如果想启动80端口必须用root用户sudo vim /etc/pf.conf1.在pf.conf文件的rdr-anchor “com.apple/*“这一行后面添加如下代码rdr on lo0 inet proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1 port 80802.其中 lo0 通过 ifconfig 看自己那个设备绑定的是127.0.0.1, lo0是这个网络设备的名字。 8080是要转发的端口sudo pfctl -f /etc/pf.confsudo pfctl -e这时,应用启动8080端口即可以,访问的话就可以通过80端口来访问了!系统完整性保护 SIP...

iTerm2配置Zmodem文件传输

在 Windows 上用 XShell、SecureCRT 等工具时,只要在服务端装好 lrzsz 工具包就可以实现方便的文件上传下载;在 Mac 上用 iTerm 的时候发现 iTerm 原生不支持 rz/sz 命令,也就是不支持 Zmodem 来进行文件传输;介绍iterm2-zmodem脚本在Github上作者mmastrac通过脚本实现了对Zmodem的支持,该脚本可用于自动执行从OSX桌面到可运行lrzsz的服务器(理论上,支持SSH的任何计算机)的ZModem传输,反之亦然。源码地址如下:https://github.com/mmastrac/iterm2-zmodem安装iterm2-zmodem脚本1.在OSX上安装lrzszbrew install lrzsz2.保存脚本至/usr/local/bin目录wget -P /usr/local/bin https://raw.githubusercontent.com/mmastrac/iterm2-zmodem/master/iterm2-send-zmodem.sh https://raw.githubuser...

基于栈与基于寄存器的虚拟机架构

虚拟机的通用实现是什么?虚拟机模拟物理CPU执行的操作,因此,虚拟机应该包含如下的概念: 将程序源码编译为符合虚拟机规范的字节码 用于存储指令和操作数的一个数据结构 用于函数调用操作的一个调用栈结构 一个指令指针,其指向下一条将要执行指令的指针 一个虚拟的CPU,负责如下的指令调度:取指令、解码操作数、执行指令虚拟机实现的两种方式 基于堆栈的虚拟机架构(eg. Java VM .Net CLR) 基于寄存器的虚拟机架构(eg. Lua VM Dalvik VM) 基于堆栈的虚拟机架构(Stack Based Virtual Machines)基于堆栈的虚拟机实现了一个虚拟机的通用特性,但是存储数据的内存结构是一个栈结构,依照栈FIFO的操作方式,数据出栈执行操作后,操作结果又入栈。在基于栈的虚拟机中,计算两个数值之和的操作通常会按如下方式执行:1. POP 202. POP 73. ADD 20, 7, result4. PUSH result由于需要PUSH和POP操作,执行一次加法运算需要执行四条指令。基于栈的虚拟机架构的优势在于,存储在栈...

linux-tc-tcpdump

tcpdump是数据包嗅探工具,可以抓取流动在网卡上的数据包默认情况,tcpdump不会抓取本机内部的通讯报文。根据网络协议栈的规定,对于报文,即使是目的地是本机,也需要经过本季度额网络协议层,所以本机通讯肯定是通过API进入了内核,并且完成了路由。如果要使用tcpdump抓取其他主机MAC地址的数据包,必须开启网卡混杂模式,所谓混杂模式,用最简单的语言就是让网卡抓取任何经过它的数据包,不管这个数据包是不是发给它或者是它发出的。一般而言,Unix不会让普通用户设置混杂模式,因为这样可以看到别人的信息,比如telnet的用户名和密码,这样会引起一些安全上的问题,所以只有root用户可以开启混杂模式,开启混杂模式的命令是:ifconfig en0 promisc, 其中,en0是你要打开混杂模式的网卡。// 指定主机tcpdump host 172.26.41.23tcpdump src host 172.26.41.23tcpdump dst host 172.26.41.23// 指定网卡与协议tcpdump -i eth0tcpdump -i eth0 arptcpdump -...