J版本 OpenStack上安装 Sahara 操作示例

J版本 OpenStack上安装 Sahara 操作示例

国时间2014年10月16日,OpenStack JUNO版本正式发布,这是OpenStack开源云计算项目自2010年创立以来的第10个版本,包括支持软件开发、大数据分析和大规模应用架构等342个新功能点亮相。

最近开始接触Sahara,为了玩起来,第一步就是要搭建一个Sahara的环境,下面主要是我安装的过程,里面大部分参考的是官网的文档,但是里面还有一些细节需要注意下。

1. 安装一个openstack的原生环境。这边是通过之前同事制作好的镜像,直接起一个虚拟机(Ubuntu 14.04 OpenStack J版)。

2. 环境安装设置完,设置下IP方便远程接入,还有配置下nameserver(在/etc/resolv.conf中添加一条记录:

nameserver 8.8.8.8 

3.   更新系统的源,这里推荐阿里的源,速度不错。修改前最好先备份下原来的源,路径是:/etc/apt/ sources.list

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse 


deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse 


deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse 


deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse 


deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse 


deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse 


deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse 


deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse 


deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse 


deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse 

修改完,执行以下命令,执行更新,时间一般会比较久:

apt-get update 


apt-get upgrade 


apt-get dist-upgrade 

4.   安装需要的软件包

apt-get install python-setuptools python-virtualenv python-dev 

5.   从pypi安装最新版本的Sahara

pip install sahara 

也可以通过pip指定地址安装:

pip install 'http://tarballs.openstack.org/sahara/sahara-master.tar.gz' 

6.   修启动服务之前需要先准备一些账号:

a、创建keystone账号,并添加角色

keystone user-password-update --pass openstack sahara 


keystone user-role-list --user sahara --tenant service 


keystone user-role-add --user sahara --tenant service --role admin 

b、添加keystone的endpoint

keystone service-create --name sahara --type data_processing \ 


    --description "Sahara Data Processing" 


 


keystone endpoint-create --service sahara --region RegionOne \ 


    --publicurl "http://192.168.206.190:8386/v1.1/%(tenant_id)s" \ 


    --adminurl "http://192.168.206.190:8386/v1.1/%(tenant_id)s" \ 


    --internalurl "http://192.168.206.190:8386/v1.1/%(tenant_id)s" 

这边有一个需要注意的是,创建service的时候,官方文档上面service的type是data-rocessing,而时间代码中用的是data_processing。

c、修改mysql的配置,把max_allowed_packet大小改为256M

vim /etc/mysql/my.cnf

修改完重启数据库服务:

service mysql restart 

d、登录数据库,创建sahara用户和sahara数据库,并添加权限:

create user sahara IDENTIFIED by 'openstack'; 


grant alert,select,insert,update,delete,create,drop on sahara.* to sahara identified by 'openstack'; 

创建sahara的数据库表:

sahara-db-manage --config-file  /etc/sahara.conf upgrade head 

修改sahara.conf的配置文件(配置的含义,在/usr/local/share/sahara/sahara.conf.sample-basic中有比较详细的描述,需要配置rabbit database keystone等配置。

[DEFAULT] 


use_neutron=true 


debug=true 


verbose=true 


log_file=sahara.log 


log_dir=/var/log 


#plugins=vanilla,hdp,spark 


rpc_backend = rabbit 


rabbit_host=192.168.206.190 


rabbit_port=5672 


rabbit_hosts=$rabbit_host:$rabbit_port 


rabbit_userid=guest 


rabbit_password=openstack 


rabbit_virtual_host=/ 


 


[database] 


connection = mysql://sahara:[email protected]/sahara 


 


[keystone_authtoken] 


auth_uri = http://192.168.206.190:5000 


identity_uri=http://192.168.206.190:35357/ 


admin_tenant_name = service 


admin_user = sahara 


admin_password = openstack 

8.   设置policy文件

在sahara配置文件的同一个目录(/etc/sahara)下,创建一个policy.json的文件,当然也可以在配置文件中指定policy_file 和 policy_dirs。

默认是运行所有用户访问所有的方法:

{ 


    "default": "" 


} 

下面这个配置不允许非admin用户访问镜像的主要方法:

{ 


    "default": "", 


    "images:register": "role:admin", 


    "images:unregister": "role:admin", 


    "images:add_tags": "role:admin", 


    "images:remove_tags": "role:admin" 


} 

9.   启动sahara服务

sahara-all --config-file /etc/sahara/sahara.conf & 

确认服务是否启动正常:

相关推荐