Tag Archives: linux

AWK 简明教程

AWK 简明教程 Shell中使用awk按列求和 [linux@test /tmp]$ awk '{sum += $1};END {print sum}' test [linux@test /tmp]$ awk '/aaa/ {sum += $2};END {print sum}'... Read More | Share it now!

crond和crontab详解

一、crontab是什么? 1. 定时任务软件种类 at... Read More | Share it now!

How to Install Ruby 2.4 on CentOS/RHEL 7/6

Ruby 2.4.2 Released, Ruby is a dynamic, object-oriented programming language focused on simplicity and productivity. RVM (Ruby Version Manager) is a tool for installing and managing multiple Ruby versions on single operating systems. This tutorial will... Read More | Share it now!

[转]跟我一起写 Makefile

原文:https://blog.csdn.net/haoel/article/details/2886 概述 —— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。 因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。 makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual... Read More | Share it now!

Haystack[转]业内公认难题,如何解决小文件存储

https://code.facebook.com/posts/685565858139515/needle-in-a-haystack-efficient-storage-of-billions-of-photos/ http://www.sohu.com/a/112191770_222486 作者简介 陈闯,花名“战士雷欧”,白山云科技超级攻城狮。 Linux内核、nginx模块、存储架构开发老司机,7年以上存储架构、设计及开发经验,先后就职于东软、中科曙光、新浪、美团,擅长独立进行Haystack、纠删码等各种项目研发,爱好不断降低IO、挑战冗余度底线。白山滑板车选手专业十级,会漂移,正积极备战方庄街道第6届动感滑板车运动会,家庭梦想是为爱妻赢得无硅油洗发水。 正文 背景: 当今互联网,数据呈现爆炸式增长,社交网络、移动通信、网络视频、电子商务等各种应用往往能产生亿级甚至十亿、百亿级的海量小文件。由于在元数据管理、访问性能、存储效率等方面面临巨大的挑战,海量小文件问题成为了业界公认的难题。 业界的一些知名互联网公司,也对海量小文件提出了解决方案,例如:著名的社交网站Facebook,存储了超过600亿张图片,专门推出了Haystack系统,针对海量小图片进行定制优化的存储。 白山云存储CWN-X,针对小文件问题,也推出独有的解决方案,我们称之为Haystack_plus。该系统提供高性能数据读写、数据快速恢复、定期重组合并等功能。 Facebook的Haystack简介: Facebook的Haystack对小文件的解决办法是合并小文件。将小文件数据依次追加到数据文件中,并且生成索引文件,通过索引来查找小文件在数据文件中的offset和size,对文件进行读取。 Haystack的数据文件部分: Haystack的数据文件,将每个小文件封装成一个needle,包含文件的key、size、data等数据信息。所有小文件按写入的先后顺序追加到数据文件中。 Haystack的索引文件部分: Haystack的索引文件保存每个needle的key,以及该needle在数据文件中的offset、size等信息。程序启动时会将索引加载到内存中,在内存中通过查找索引,来定位在数据文件中的偏移量和大小。 面临的问题: Facebook的Haystack特点是将文件的完整key都加载到内存中,进行文件定位。机器内存足够大的情况下,Facebook完整的8字节key可以全部加载到内存中。 但是现实环境下有两个主要问题: 1.存储服务器内存不会太大,一般为32G至64G; 2.小文件对应的key大小难控制,一般选择文件内容的MD5或SHA1作为该文件的key。 场景举例: 一台存储服务器有12块4T磁盘,内存为32GB左右。 服务器上现需存储大小约为4K的头像、缩略图等文件,约为10亿个。 文件的key使用MD5,加上offset和size字段,平均一个小文件对应的索引信息占用28字节。 在这种情况下,索引占用内存接近30GB,... Read More | Share it now!

cut Shell linux

文件内容查看 显示行中的指定部分,删除文件中指定字段 显示文件的内容,类似于下的type命令。 说明 该命令有两项功能,其一是用来显示文件的内容,它依次读取由参数file所指明的文件,将它们的内容输出到标准输出上;其二是连接两个或多个文件,如cut... Read More | Share it now!

[转]screen命令

http://man.linuxde.net/screen Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU... Read More | Share it now!

sshfs Mac下挂载远程目录到本地

Mac下挂载远程目录到本地 挂载远程目录到本地,目的是希望能够跟查看本地文件一样,可以方便地浏览远程目录下的文件。 sshfs就是能够满足这项需求的程序,不仅适用于ubuntu/centos等linux系统,也同样适用于Mac. 使用brew安装sshfs brew... Read More | Share it now!

linux日志显示too many open files解决

某linux服务器的日志每隔几天就会报错。内容如下: ERROR ipnet.dc.pmprobe.SnmpScalarQueryJoe.execute()(146) – Too many open files       java.net.SocketException: Too many open files 向同事咨询了一下,一般报Too... Read More | Share it now!

避免’sudo echo x >’ 时’Permission denied’

http://blog.csdn.net/hejinjing_tom_com/article/details/7767127 避免’sudo echo x >’ 时’Permission denied’ 甲: 示例 sudo echo a > 1.txt -bash: 1.txt: Permission denied 乙: 分析: bash... Read More | Share it now!