存档

2012年11月 的存档

RabbitMQ启动失败,报ERROR: epmd error for host “openstack-control”: address (unable to establish tcp connection)

2012年11月17日 没有评论

在centos 6.3 安装openstack 控制节点时,启动RabbitMQ报错。

  • 题外话

  •  尝试启动

  •  查看错误日志

  •  解决方法

  •  启动成功

 

分类: openstack, 云计算 标签:

[文本处理] 在特定某个单词下行加一行

2012年11月16日 没有评论

在文本中123后一行加入abc,只在第一个123后面加入

[root@woyoo ~]# cat test
00
123
hsdf
fsdf2
123
7323

[root@woyoo ~]# cat test
00
123
hsdf
fsdf2
123
7323

 

分类: sed 标签:

[文本处理]awk数组,去掉前3位相同的IP

2012年11月12日 没有评论

58.22.113.5
58.22.113.28
58.22.116.143
58.22.116.145
61.158.153.216
112.4.2.17
112.4.2.18
112.4.2.48
112.4.2.49
112.4.2.50
112.4.2.51
112.96.30.233
112.96.66.5
112.96.66.18
112.96.128.106
112.96.130.12
112.96.254.55
112.96.255.35
112.97.30.2


 

58.22.113.5
58.22.116.143
61.158.153.216
112.4.2.17
112.96.30.233
112.96.66.5
112.96.128.106
112.96.130.12
112.96.254.55
112.96.255.35
112.97.30.2
分类: awk 标签:

[转]shell 管道命令(pipe)使用及与shell重定向区别

2012年11月12日 没有评论
  • 管道命令操作符是:”|”,它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 stdandard
  • error 信息没有直接处理能力。然后,传递给下一个命令,作为标准的输入 standard input.

管道命令使用说明:

  • 先看下下面图:

command1正确输出,作为command2的输入 然后comand2的输出作为,comand3的输入 ,comand3输出就会直接显示在屏幕上面了。通过管道之后:comand1,comand2的正确输出不显示在屏幕上面

注意:

1、管道命令只处理前一个命令正确输出,不处理错误输出
2、管道命令右边命令,必须能够接收标准输入流命令才行。

作为接收标准输入的命令才可以用作管道右边。否则传递过程中数据会抛弃。 常用来作为接收数据,管道命令有:grep,sed,awk,cut,head,top,less,more,wc,join,sort,split 等等,都是些文本处理命令
管道命令与重定向区别

1    左边的命令应该有标准输出 | 右边的命令应该接受标准输入
左边的命令应该有标准输出 > 右边只能是文件
左边的命令应该需要标准输入 < 右边只能是文件

2、管道触发两个子进程执行”|”两边的程序;而重定向是在一个进程内执行
这些都是网上总结很多的,其实只要多加清楚用法,也一定有自己的一份不同描述。

 

转自:http://hi.baidu.com/bpdsnail/item/9381df082acad0c89157184d
分类: linux 标签:

[文本处理] 匹配2个文件中第三列相同的行并打印第一个文件的该行

2012年11月12日 没有评论
需求:
          找出文件1 2 中第三列相同的数字,并打印文件1中匹配的行
 文件1:
1 02 123
8 02 132
9 02 134 

文件2:
1 02 123
1 02 134
3 02 122
4 02 133
5 02 135

如何找出:(以文件1的第三列作为比较列,打印文件1)
1 02 123
9 02 134

结果:

 

 

分类: awk 标签:

[转]RHEL-6.2 OpenStack Essex Install (only one node)

2012年11月9日 没有评论

在RHEL上和Ubuntu上安装配置都差不多.

本文会把所有的组件Keystone Nova-compute Glance Dashboard(horzion) Swift安装到一台机器上,全部采用Mysql数据库.

前提条件:rhel6.2光盘里并没有openstack的包,不过epel包含了所有的组件

epel下载地址: http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-7.noarch.rpm

一. 设置基本环境

1.配置网络Bridge  /etc/sysconfig/network-scripts/

ifcfg-eth0

ifcfg-eth1

ifcfg-br100

安装bridge包

2.安装epel源

3.关闭selinux和清空iptables

4.设置NTP服务器

二.开始安装配置

 

1.安装mysql并设置密码为mysql

2.创建openstack各组件的mysql用户并授权访问mysql

3.安装配置keystone

Keystone是Openstack的核心,所有的组件,都需要通过keystone进行认证和授权。

这里需要导入keystone的用户信息,根据官方的文档,整理后写成了脚本,
keystone.sh下载地址(脚本不用重复执行,执行过程中注意查看是否输出’err’)

设置环境变量并写入到profile(如果你修改了keystone.sh中变量的值,请对应修改下面变量的值)

检查keystone是否正常工作

4.安装配置glance

glance是提供镜像管理服务,可以理解成一个中间件,后面的存储可以是本地存储,也可以使用swift存储。

修改/etc/glance/glance-api-paste.ini和/etc/glance/glance-registry-paste.ini这两个文件,修改最后9行

在/etc/glance/glance-api.conf和/etc/glance/glance-registry.conf这两个文件末尾添加

修改/etc/glance/glance-registry.conf中数据库连接

同步glance数据库

检查glance是否正常

上传一个测试img
下载Image
我们下载CirrOS的image作为测试使用,只有10M。

Cirros,是可以使用用户名和密码登陆,也可以使用密钥登陆

user:cirros
password:cubswin:)
查看img

5.安装配置nova组件

修改/etc/nova/nova.conf

编辑/etc/nova/api-paste.ini文件最后9行

建立nova-volume服务所需要的逻辑卷

安装libvirt和rabbitmq

启动

如果rabbitmq-server启动失败的话

启动nova组件服务

同步nova到数据库

在启动次服务

检查nova组件服务是否正常

:-)

:-)

:-)

:-)

:-)

看到状态为笑脸相对应的服务就正常,如做状态是XX的话,注意查看/var/log/nova/下对应服务的log(上面的sqlalchemy警告信息无关紧要,可能是版本问题)

创建实例的网络

设定Floating IP
用来给实例分配IP通往公网,其实就是公网的IP,它其实是通过类似防火墙类似,做一个映射。实际上是通过iptables来实现映射.

查看

打开防火墙允许ssh和ICMP ping响应

6.安装配置swift组件

创建swift存储分区(普通分区)
创建一个分区来做存储使用
假设你的第三块磁盘是/dev/sdc, 我们需要对这块盘进行分区并格式化为xfs格式,
然后挂载在/srv/node/sdc1这个目录上

设置rsync

设置swift.conf

建立并配置/etc/swift/account-server/account-server.conf文件

配置/etc/swift/container-server/container-server.conf

配置/etc/swift/object-server/object-server.conf

配置swift proxy server

创建swift ring

当创建好了Ring文件, 你可以通过下面的命令来验证刚才添加的内容是否正确。

如果都没有问题, 我们就生成最终的Ring

c创建完环后会生成三个.gz文件,复制到/etc/swift/
设置权限

启动swift服务

验证

7.安装dashboard(horzion)

修改/etc/openstack-dashboard/local_settings
添加

修改

把dash配置同步到数据库中

打开浏览器输入:http://192.168.8.100/dashboard 帐号:admin 密码:redhat
rpm包的novnc不怎么好使
我们就用源码的吧

» 文章出处: Longgeek Blog , 原创作品,转载请注明出处
分类: 云计算 标签:

把语言环境变量改为英文

2012年11月9日 没有评论

把语言环境变量改为英文

将Ubuntu系统语言环境改为英文的en_US.UTF-8

查看当前系统语言环境

编辑配置文件,将zh_US.UTF-8改为en_US.UTF-8,zh改为en

继续查看更改后的系统语言变量,如果出现下列错误,说明没安装en_US的local

查看系统内安装的locale

看吧,没装en_US.UTF-8 安装en_US.UTF-8

查看,应该一切正常了。

分类: linux 标签:

[转] 使用gperftools优化Nginx和MySQL内存管理

2012年11月9日 没有评论

Google 开发的 gperftools 包含四个工具,分别是:TCMalloc、heap-checker、heap-profiler 和 cpu-profiler,TCMalloc是 gperftools 的其中一个工具,用于优化C++写的多线程应用,与标准的glibc库的malloc相比,TCMalloc在内存的分配效率和速度要高,可以在高并发的情况下很好的控制内存的使用,提高服务器的性能,降低

Google 开发的 gperftools 包含四个工具,分别是:TCMalloc、heap-checker、heap-profiler 和 cpu-profiler,TCMalloc是 gperftools 的其中一个工具,用于优化C++写的多线程应用,与标准的glibc库的malloc相比,TCMalloc在内存的分配效率和速度要高,可以在高并发的情况下很好的控制内存的使用,提高服务器的性能,降低负载。

使用 TCMalloc 优化 Nginx 和 MySQL 的内存管理,性能将会有一定程度的提升,特别是对MYSQL服务器高并发下情况下的性能。

安装 libunwind 库
如果系统是64位的需要先安装libunwind库,32位系统则不需要安装。

libunwind 库为基于64位CPU和操作系统的程序提供了基本的堆栈辗转开解功能,其中包括用于输出堆栈跟踪的API、用于以编程方式辗转开解堆栈的API以及支持C++异常处理机制的API。

wget http://download.savannah.gnu.org/releases/libunwind/libunwind-1.0.1.tar.gz
tar -zxvf libunwind-1.0.1.tar.gz
cd libunwind-1.0.1/
CFLAGS=-fPIC ./configure
make CFLAGS=-fPIC
make CFLAGS=-fPIC install
cd ../

gperftools 的安装
gperftools 项目网站 http://code.google.com/p/gperftools/

wget http://gperftools.googlecode.com/files/gperftools-2.0.tar.gz
tar -zxvf gperftools-2.0.tar.gz
cd gperftools-2.0
./configure --prefix=/usr/local --enable-frame-pointers
make
make install
cd ../

如果是32位系统,可以不添加 –enable-frame-pointers,如果是64位系统,并且之前没有安装libunwind,那么一定要添加 –enable-frame-pointers 参数。

echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf
/sbin/ldconfig

为 gperftools 添加线程目录:

mkdir /tmp/tcmalloc
chmod 0777 /tmp/tcmalloc

使用gperftools优化Nginx:

为了使 Nginx 支持 gperftools,增加参数 –with-google_perftools_module 重新编译Nginx。

修改/usr/local/nginx/conf/nginx.conf
在pid这行的下面添加
google_perftools_profiles /tmp/tcmalloc;

重新启动nginx

使用gperftools优化MYSQL:
查找文件 /usr/local/mysql/bin/mysqld_safe

在# executing mysqld_safe 下面加上
export LD_PRELOAD=/usr/local/lib/libtcmalloc.so

重新启动MYSQL

验证 tcmalloc 是否运行:
lsof -n | grep tcmalloc

负载。 使用 TCMalloc 优化 Nginx 和 MySQL 的内存管理,性能将会有一定程度的提升,特别是对MYSQL服务器高并发下情况下的性能。 安装 libunwind 库 如果系统是64位的需要先安装libunwind库,32位系统则不需要安装。 libunwind 库为基于64位CPU和操作系统的程序提供了基本的堆栈辗转开解功能,其中包括用于输出堆栈跟踪的API、用于以编程方式辗转开解堆栈的API以及支持C++异常处理机制的API。 wget http://download.savannah.gnu.org/releases/libunwind/libunwind-1.0.1.tar.gz tar -zxvf libunwind-1.0.1.tar.gz cd libunwind-1.0.1/ CFLAGS=-fPIC ./configure make CFLAGS=-fPIC make CFLAGS=-fPIC install cd ../ gperftools 的安装 gperftools 项目网站 http://code.google.com/p/gperftools/ wget http://gperftools.googlecode.com/files/gperftools-2.0.tar.gz tar -zxvf gperftools-2.0.tar.gz cd gperftools-2.0 ./configure –prefix=/usr/local –enable-frame-pointers make make install cd ../ 如果是32位系统,可以不添加 –enable-frame-pointers,如果是64位系统,并且之前没有安装libunwind,那么一定要添加 –enable-frame-pointers 参数。 echo “/usr/local/lib” > /etc/ld.so.conf.d/usr_local_lib.conf /sbin/ldconfig 为 gperftools 添加线程目录: mkdir /tmp/tcmalloc chmod 0777 /tmp/tcmalloc 使用gperftools优化Nginx: 为了使 Nginx 支持 gperftools,增加参数 –with-google_perftools_module 重新编译Nginx。 修改/usr/local/nginx/conf/nginx.conf 在pid这行的下面添加 google_perftools_profiles /tmp/tcmalloc; 重新启动nginx 使用gperftools优化MYSQL: 查找文件 /usr/local/mysql/bin/mysqld_safe 在# executing mysqld_safe 下面加上 export LD_PRELOAD=/usr/local/lib/libtcmalloc.so 重新启动MYSQL 验证 tcmalloc 是否运行: lsof -n | grep tcmalloc

分类: nginx 标签: