存档

‘linux’ 分类的存档

awk简明使用

2018年9月12日 没有评论

完整结构:
“`
awk -F”,” ‘BEGIN{sum1=0;sum2=0;sum3=0};{if($3==100 && NR=265){sum1+=$263;sum2+=$264;sum3+=265} fi};END{print sum1,sum2,sum3}’ file_path
“`

格式化后的样子,\是shell中多行脚本的换行,便于和其他语言的逻辑做对比:
“`
# 定义字段分隔符
awk -F”,” ‘ \
#循环开始前的操作
BEGIN{sum1=0;sum2=0;sum3=0}; \
{\
# 遍历日志每行内容进行操作
if($3==100 && NR=265)\
{\
sum1+=$263;\
sum2+=$264;\
sum3+=265\
}\
fi\
};\
#循环结束后输出几个和
END{print sum1,sum2,sum3}\
‘ file_path

“`

其中很多时候BEGIN{}和END{}因为没有实际操作是可以省略
注意:
一般使用完整写法,这样脚本结构相对清晰,容易理解
BEGIN{初始化部分设置}
{遍历每行时的处理逻辑}
END{结束时的输出,以前会输出求和的值}

另外awk的变量,是没有$符号前缀的,注意
只有分割的列会用$1,$2,$3这样的来表示
每个处理语句之间用;分割

awk常用内部变量
NR
NF

参考:

https://jackxiang.com/post/1874/
https://my.oschina.net/wolx/blog/351601
https://blog.csdn.net/xiyangyang052/article/details/45462505

分类: linux 标签: , ,

hive中group by 提示Expression Not In Group By Key的解决办法

2014年3月5日 没有评论

hive中group by的时候

select col_1,col_2 from table_name group by col_1;

会提示:

FAILED: SemanticException [Error 10025]: Line 1:12 Expression not in GROUP BY key ‘col_2’

这里网上查了下,有两种解决方法:

1、不关心col_2的值,且有多个col_2,那么语句改成

select col_1, collect_set( col_2 )[0] from table_name group by col_1;

2、如果每个col_2的值不同且关心col_2的值,那么可以改成

select col_1,col_2 from table_name group by col_1,col_2;

http://one-line-it.blogspot.com/2012/11/hive-expression-not-in-group-by-key.html

Technorati : , ,
Del.icio.us : , ,
Zooomr : , ,
Flickr : , ,

分类: linux, 技术 标签: , ,

conky配置文件

2012年12月2日 没有评论

conky是linux下一个可定制化程度很高的系统监视工具,这里有我用的一个简单的配置文件

内容放在用户根目录下的.conkyrc中。要用到的第三方工具:hddtmp,sensors,获取硬盘和cpu的温度.

阅读全文…

分类: linux 标签:

ubuntu 12.10 mac os 化

2012年12月2日 没有评论

突然喜欢上了mac os 的视觉效果,但是又没有米玩apple的东西,黑苹果又不是很爽,只能玩玩linux,装上了ubuntu,觉得太难看,网上查了查,有类mac的美化,就自己试了试:

wget https://launchpad.net/ubuntu-tweak/0.8.x/0.8.2/+download/ubuntu-tweak_0.8.2-1~precise1_all.deb #安装ubuntu tweak

sudo add-apt-repository ppa:noobslab/themes #添加到仓库

sudo apt-get update #更新软件列表

sudo apt-get install mac-os-lion-cursors #安装鼠标主题

sudo apt-get install mac-os-lion-icons #安装图标主题

sudo apt-get install mac-os-lion-theme #安装GTK/窗口主题

或者

apt-get install -y mac-os-lion-icons mac-os-lion-cursors mac-os-lion-cursors-v2 mac-os-lion-icons-v2 mac-os-x-theme mac-os-x-icons

然后到

系统设置里面打开ubuntu tweak,选择调整–主题,将主题都设置成max-os开头的,然后你就可以看到,变成mac风格了!!!

接下来,安装Grub Customizer,美化grub启动菜单:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

安装好了之后打开grub-customizer,选择外观设置,然后给grub设置一个apple风格的背景图片,然后启动菜单的字体颜色什么的调一下,ubuntu默认的那个紫色啥的太难看了。

另外,还可以通过mac4lin,或者macubuntu,但是都多少有些更新滞后,多有不能完美运行,所以先就这样简单的美化下。

 

参考:

http://tech.chinabyte.com/thread-524022-1-1.html

http://www.linuxidc.com/Linux/2011-05/35606.htm

分类: linux 标签:

redhat el6.3换centos源

2012年9月24日 没有评论

yum安装软件提示:

Loaded plugins: amazon-id, product-id, rhui-lb, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity

网上找了下发现是因为没有购买红帽key,不能使用官方的源。。。
所以,替换

删除redhat原有的yum源

# rpm -aq|grep yum|xargs rpm -e –nodeps

wget http://mirrors.163.com/centos/6.3/os/i386/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm
wget http://mirrors.163.com/centos/6.3/os/i386/Packages/yum-metadata-parser-1.1.2-16.el6.i686.rpm
wget http://mirrors.163.com/centos/6.3/os/i386/Packages/yum-3.2.29-30.el6.centos.noarch.rpm
wget http://mirrors.163.com/centos/6.3/os/i386/Packages/yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm

# rpm -ivh  python-iniparse-0.3.1-2.1.el6.noarch.rpm
# rpm -ivh  yum-metadata-parser-1.1.2-16.el6.i686.rpm
# rpm -ivh  yum-3.2.29-30.el6.centos.noarch.rpm  yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm

最后两个包一起安装,因为会互相依赖。。寒安装这个会提示需要另外一个,反之亦然。。。

阅读全文…

分类: linux 标签:

转:linux下实现双网卡负载均衡[v0.2]

2012年9月20日 没有评论

以前在linux下实现双网卡负载均衡的方式都是策略路由,今天发现了一种方式,比较简洁,稍做修整转载之….

Linux下的的负载均衡(说白了就是n块网卡邦定在一起当一个用速度变成原来的n倍)在linux下叫做bonding,理论就不说了,网上一大堆.网上也有好多这样的文章但是大多都和实际配置过程有些不同,下面说说在2.6内核的RHEL4 AS4 上具体的实现方法。

Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡(负载均衡),这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。其实这项技术在Sun和Cisco中早已存在,被称为Trunking和Etherchannel技术,在Linux的2.4.x的内核中也采用这这种技术,被称为bonding。bonding技术的最早应用是在集群——beowulf上,为了提高集群节点间的数据传输而设计的。下面我们讨论一下bonding 的原理,什么是bonding需要从网卡的混杂(promisc)模式说起。我们知道,在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身Mac的以太网帧,对于别的数据帧都滤掉,以减轻驱动程序的负担。但是网卡也支持另外一种被称为混杂promisc的模式,可以接收网络上所有的帧,比如说tcpdump,就是运行在这个模式下。bonding也运行在这个模式下,而且修改了驱动程序中的mac地址,将两块网卡的 Mac地址改成相同,可以接收特定mac的数据帧。然后把相应的数据帧传送给bond驱动程序处理。

说了半天理论,其实配置很简单,一共四个步骤:

实验的操作系统是Redhat Linux Enterprise AS 4 U4 (RHEL AS4 U4)
绑定的前提条件:芯片组型号相同,而且网卡应该具备自己独立的BIOS芯片。

阅读全文…

分类: linux 标签:

转:df与du命令区别解析

2012年9月17日 没有评论

1、正常情况下,df和du输出结果都会有差距。

df du
du -sh命令通过将指定文件系统中所有的目录、符号链接和文件使用的块数累加得到该文件系统使用的总块数;
而df命令通过查看文件系统磁盘块分配图得出总块数与剩余块数。
文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如i节点,磁盘分布图,间接块,超级块等。这些数据对大多数用户级的程序来说是不可见的,通常称为Meta Data。
du命令是用户级的程序,它不考虑Meta Data,而df命令则查看文件系统的磁盘分配图并考虑Meta Data。

因此正常情况下,df计算的USED空间会比du计算的结果要稍大。

阅读全文…

分类: linux 标签:

转:关于Linux系统清理/tmp/文件夹,你可能想知道的

2012年9月17日 没有评论

我们知道,在Linux系统中/tmp文件夹里面的文件会被清空,至于多长时间被清空,如何清空的,可能大家知识的就不多了,所以,今天我们就来剖析一个这两个问题。

在RHEL\CentOS\Fedora\系统中(本次实验是在RHEL6中进行的)

先来看看tmpwatch这个命令,他的作用就是删除一段时间内不使用的文件(removes files which haven’t been accessed for a period of time)。具体的用法就不多说了,有兴趣的自行研究。我们主要看看和这个命令相关的计划任务文件。
他就是/etc/cron.daily/tmpwatch,我们可以看一下这个文件里面的内容

阅读全文…

分类: linux 标签:

一次linux的web服务器网络参数调优

2012年8月16日 1 条评论

今天到公司,听见同事说一台做广告数据统计的linux的web服务器性能有压力了,赶紧登陆服务器看了下,果然是有些高,load有时候都到40多了,再看看系统参数,该调整下的一个都没有调整,刚好之前有另外一台web服务器的内核参数做过一些调整,于是顺便看了下该调优的参数。然后做了下调优前后的性能参数对比。

调优前:

root@ubuntu:~# netstat -n|grep 80|awk ‘/^tcp/ {++state[$NF]} END {for(key in state ) print key,””,state[key]}’
TIME_WAIT  2334
FIN_WAIT1  48
FIN_WAIT2  728
ESTABLISHED  289
SYN_RECV  108
CLOSING  2
LAST_ACK  9

uptime
10:29:44 up 27 days, 22:48,  4 users,  load average: 1.56, 1.97, 4.40

飙升到:
root@ubuntu:~# uptime
10:39:55 up 27 days, 22:58,  3 users,  load average: 44.56, 14.93, 7.72

阅读全文…

分类: linux 标签: , , , , ,

RedHat Enterprise Linux 6.3 发布

2012年8月11日 没有评论

新特性介绍:

1、虚拟化特性

a)提供一个 Virt-P2V工具,可以将windows和RedHat Linux的物理机转换成虚拟机,使用KVM进行部署。
b)可以进行文件卷的在线resizing,提高了虚拟机的可用性
c)增强qcow2磁盘镜像的存储性能,存取更加异步,从而降低vCPU占用和提高整体性能
d)对虚拟机进行性能监控,采用vPMU,可以在主机上诊断虚拟机的性能。
e)动态的vCPUs分配,不再需要重启,这个对计算资源伸缩有利(什么时候对内存可以在线伸缩?)
f)虚拟机的休眠状态,支持S3、S4(休眠到磁盘、休眠到内存)

阅读全文…

分类: linux 标签: , , , ,