Elasticsearch史上最全最常用工具清单
Elasticsearch史上最全最常用工具清单1、题记
工欲善其事必先利其器,ELK Stack的学习和实战更是如此,特将工作中用到的“高效”工具分享给大家。
希望能借助“工具”提高开发、运维效率!
2、工具分类概览
2.1 基础类工具
1、Head插件
1)功能概述:
ES集群状态查看、索引数据查看、ES DSL实现(增、删、改、查操作)
比较实用的地方:json串的格式化
2)地址:http://mobz.github.io/elasticsearch-head/
2、Kibana工具
除了支持各种数据的可视化之外,最重要的是:支持Dev Tool进行RESTFUL API增删改查操作。
——比Postman工具和curl都方便很多。
标签: ansible Elasticsearch elk
数据库从0到0.1 : OLTP VS OLAP VS HTAP
OLTP是Online Transaction Processing的简称;OLAP是OnLine Analytical Processing的简称;HTAP是Hybrid Transactional/Analytical Processing的简称。Transaction是指形成一个逻辑单元,不可分割的一组读,写操作;Online一般指查询延迟在秒级或毫秒级,可以实现交互式查询。
OLTP的查询一般只会访问少量的记录,且大多时候都会利用索引。在线的面向终端用户直接使用的Web应用:金融,博客,评论,电商等系统的查询都是OLTP查询,比如最常见的基于主键的CRUD操作。
OLAP的查询一般需要Scan大量数据,大多时候只访问部分列,聚合的需求(Sum,Count,Max,Min等)会多于明细的需求(查询原始的明细数据)。 OLAP的典型查询一般像:现在各种应用在年末会发布的大数据分析和统计应用,比如2017豆瓣读书报告,2017豆瓣读书榜单,网易云音乐2017听歌报告; OLAP在企业中的一个重要应用就是BI分析,比如2017年最畅销的手机品牌Top5;哪类人群最喜欢小米或华为手机等等。
《Designing-Data-Intensive-Applications》一书指出的OLTP和OLAP的主要区别如下:
在CMU-CS 15-415的课程中对OLAP和OLTP这样介绍:
"Exit Trap” 让你的 Bash 脚本更稳固可靠
有个简单实用的技巧可以让你的 bash 脚本更稳健 -- 确保总是执行必要的收尾工作,哪怕是在发生异常的时候。要做到这一点,秘诀就是 bash 提供的一个叫做 EXIT 的伪信号,你可以 trap 它,当脚本因为任何原因退出时,相应的命令或函数就会执行。我们来看看它是如何工作的。
基本的代码结构看起来像这样:
#!/bin/bash function finish { # 你的收尾代码 } trap finish EXIT
你可以把任何你觉得务必要运行的代码放在这个 finish 函数里。一个很好的例子是:创建一个临时目录,事后再删除它。
#!/bin/bash scratch=$(mktemp -d -t tmp.XXXXXXXXXX) function finish { rm -rf "$scratch" } trap finish EXIT
这样,在你的核心代码中,你就可以在这个 $scratch 目录里下载、生成、操作中间或临时数据了。注1
在 Linux 下 9 个有用的 touch 命令示例
touch 命令用于创建空文件,也可以更改 Unix 和 Linux 系统上现有文件时间戳。这里所说的更改时间戳意味着更新文件和目录的访问以及修改时间。让我们来看看 touch 命令的语法和选项:
语法:
# touch {选项} {文件}
touch 命令中使用的选项:
touch-command-options
touch-command-options
在这篇文章中,我们将介绍 Linux 中 9 个有用的 touch 命令示例。
示例:1 使用 touch 创建一个空文件
要在 Linux 系统上使用 touch 命令创建空文件,键入 touch,然后输入文件名。如下所示:
[root@linuxtechi ~]# touch devops.txt [root@linuxtechi ~]# ls -l devops.txt -rw-r--r--. 1 root root 0 Mar 29 22:39 devops.txt
史上最全Redis高可用技术解决方案大全
Redis常见的几种主要使用方式:
-
Redis 单副本
-
Redis 多副本(主从)
-
Redis Sentinel(哨兵)
-
Redis Cluster
-
Redis 自研
Redis各种使用方式的优缺点:
Redis 单副本,采用单个Redis节点部署架构,没有备用节点实时同步数据,不提供数据持久化和备份策略,适用于数据可靠性要求不高的纯缓存业务场景。
优点:
1、架构简单、部署方便
2、高性价比,当缓存使用时无需备用节点(单实例可用性可以用supervisor或crontab保证),当然为了满足业务的高可用性,也可以牺牲一个备用节点,但同时刻只有一个实例对外提供服务。
如何在 Linux 中查找最大的 10 个文件
当系统的磁盘空间不足时,您可能会使用 df、du 或 ncdu 命令进行检查,但这些命令只会显示当前目录的文件,并不会显示整个系统范围的文件。
您得花费大量的时间才能用上述命令获取系统中最大的文件,因为要进入到每个目录重复运行上述命令。
这种方法比较麻烦,也并不恰当。
如果是这样,那么该如何在 Linux 中找到最大的 10 个文件呢?
我在谷歌上搜索了很久,却没发现类似的文章,我反而看到了很多关于列出当前目录中最大的 10 个文件的文章。所以,我希望这篇文章对那些有类似需求的人有所帮助。
本教程中,我们将教您如何使用以下四种方法在 Linux 系统中查找最大的前 10 个文件。
方法 1
在 Linux 中没有特定的命令可以直接执行此操作,因此我们需要将多个命令结合使用。
# find / -type f -print0 | xargs -0 du -h | sort -rh | head -n 10 1.4G /swapfile 1.1G /home/magi/ubuntu-17.04-desktop-amd64.iso 564M /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqTFU0XzkzUlJUZzA 378M /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqeldzUmhPeC03Zm8 377M /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqRGd4V0VrOXM4YVU 100M /usr/lib/x86_64-linux-gnu/libOxideQtCore.so.0 93M /usr/lib/firefox/libxul.so 84M /var/lib/snapd/snaps/core_3604.snap 84M /var/lib/snapd/snaps/core_3440.snap 84M /var/lib/snapd/snaps/core_3247.snap
详解:
find:在目录结构中搜索文件的命令
/:在整个系统(从根目录开始)中查找
-type:指定文件类型
f:普通文件
-print0:在标准输出显示完整的文件名,其后跟一个空字符(null)
|:控制操作符,将一条命令的输出传递给下一个命令以供进一步处理
xargs:将标准输入转换成命令行参数的命令
-0:以空字符(null)而不是空白字符(LCTT 译者注:即空格、制表符和换行)来分割记录
du -h:以可读格式计算磁盘空间使用情况的命令
sort:对文本文件进行排序的命令
-r:反转结果
-h:用可读格式打印输出
head:输出文件开头部分的命令
n -10:打印前 10 个文件
同为分布式缓存,为何Redis更胜一筹?
如今,市面上的缓存解决方案已经逐步成熟了,今天我将选取其中一些代表性的方案包括Redis、Memcached和Tair进行对比,帮助大家在生产实践中更好地进行技术选型。
一、常用的分布式缓存的对比
常用的分布式缓存包括Redis、Memcached和阿里巴巴的Tair(见下表),因为Redis提供的数据结构比较丰富且简单易用,所以Redis的使用广泛。
下面我们从9个大方面来对比最常用的Redis和Memcached。
ERROR 1010 (HY000): Error dropping database (can't rmdir './******', errno: 39)
今天操作数据库出现以下错误提示:
ERROR 1010 (HY000): Error dropping database (can't rmdir './******', errno: 39)
字面意思是说删除数据失败,不能删除目录./******数据库版本信息:
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.2 |
+-----------+
1 row in set (0.00 sec)
mysql> use 数据库名;
Database changed
mysql> show tables;
Empty set (0.00 sec)
发现数据库中已经没有表了,这个时候为什么drop database不成功呢?奇怪了......
通过以下命令查看数据库文件所在目录:
mysql> select @@datadir;
+--------------+
基于php实现多进制转换与兑换码生成的探索
最近要做一个兑换码生成的功能,之前有做过32位唯一码生成器,但是在业务需求中,32位的兑换码有些过长了,用户在应用内填写的时候会比较麻烦,不是很友好,倒是可以做成二维码的形式扫一下就行了,但是业务中还是存在输入兑换码的行为,所以本篇主要是关于以尽量短的字符来生成兑换码,同时要保证唯一性以及生成机制复用性(也就是利用这套机制可以生成不同种类的兑换码)的探索
以下示例代码均基于TPRCMS编写
探索一: 进制转换
生成的32位唯一码是16进制的哈希字符串,我就在想是不是可以通过提高进制来缩短字符串长度,所以有了如下的代码
代码地址: 多进制转换器ConvertLogic
其中关于10进制与62进制互转的部分,参考了《PHP 10进制与62进制互转,可用于生成短网址》
实例代码
$uuid = "cd5fd2cfeb40aafe060f4d9597348be7";
$str = ConvertLogic::convert( $uuid, 16, 62);
输出
string(32) "cd5fd2cfeb40aafe060f4d9597348be7"
string(22) "6fxdxREtzxq6qNdSghGm7t"
Mac 启动自带PHP php-fpm问题
Mac启动自带PHP php-fpm问题Mac 自带 php-fpm,在终端执行 php-fpm,会报如下错误:
ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2)
ERROR: failed to load configuration file '/private/etc/php-fpm.conf'
ERROR: FPM initialization failed
错误信息显示,不能打开配置文件,cd /private/etc,发现没有 php-fpm.conf 文件,但是有 php-fpm.conf.default 文件。这个文件是默认配置,我们可以复制一份,改名为 php-fpm.conf,然后再根据需要改动配置。
cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf
执行 php-fpm,再次报错:
ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)
ERROR: failed to post process the configuration
热门日志
分类
- Django(4)
- ssdb(1)
- Mac(7)
- C(1)
- memcache(1)
- Python(32)
- Vim(8)
- sed(2)
- ansible(3)
- awk(4)
- shell(3)
- about(1)
- git(9)
- bat(4)
- svn(0)
- docker(1)
- Tornado(1)
- go(2)
- 架构(19)
- Vue(1)
- game(2)
- Html(6)
- Java(8)
- Mysql(37)
- Ajax(2)
- Jsp(1)
- Struts(8)
- Linux(73)
- JavaScript(39)
- Staruml(0)
- Mouth(1)
- Php(102)
- Windows(8)
- Message(48)
- Lua(10)
- Compute(1)
- Redis(7)
- Nginx(12)
- Jquery(1)
- Apache(1)
- cocos2d-x(8)
最新日志
- 成为架构师,如何真正具备“系统思维”?
- DHCP(Dynamic Host Configuration Protocol) 动态主机配置协议
- 从技术专家到战略领袖:成就技术总监的路径与思维
- python 如何读取超大的文件
- python requests 模块
- 如何给自己充电?
- 告别2024,迎接2025:深耕梦想,向前而行
- linux 的 dns 缓存,NSCD 服务
- The following untracked working tree files would be overwritten by checkout
- insecure connection not allowed,产生原因及如何解决