J版本 OpenStack上安裝 Sahara 操作示例
國時(shí)間2014年10月16日,OpenStack JUNO版本正式發(fā)布,這是OpenStack開源云計(jì)算項(xiàng)目自2010年創(chuàng)立以來的第10個(gè)版本,包括支持軟件開發(fā)、大數(shù)據(jù)分析和大規(guī)模應(yīng)用架構(gòu)等342個(gè)新功能點(diǎn)亮相。
最近開始接觸Sahara,為了玩起來,第一步就是要搭建一個(gè)Sahara的環(huán)境,下面主要是我安裝的過程,里面大部分參考的是官網(wǎng)的文檔,但是里面還有一些細(xì)節(jié)需要注意下。
1. 安裝一個(gè)openstack的原生環(huán)境。這邊是通過之前同事制作好的鏡像,直接起一個(gè)虛擬機(jī)(Ubuntu 14.04 OpenStack J版)。
2. 環(huán)境安裝設(shè)置完,設(shè)置下IP方便遠(yuǎn)程接入,還有配置下nameserver(在/etc/resolv.conf中添加一條記錄:
- nameserver 8.8.8.8
3. 更新系統(tǒng)的源,這里推薦阿里的源,速度不錯(cuò)。修改前最好先備份下原來的源,路徑是:/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
修改完,執(zhí)行以下命令,執(zhí)行更新,時(shí)間一般會(huì)比較久:
- 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. 修啟動(dòng)服務(wù)之前需要先準(zhǔn)備一些賬號(hào):
a、創(chuàng)建keystone賬號(hào),并添加角色
- 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"
這邊有一個(gè)需要注意的是,創(chuàng)建service的時(shí)候,官方文檔上面service的type是data-rocessing,而時(shí)間代碼中用的是data_processing。
c、修改mysql的配置,把max_allowed_packet大小改為256M
vim /etc/mysql/my.cnf
修改完重啟數(shù)據(jù)庫服務(wù):
- service mysql restart
d、登錄數(shù)據(jù)庫,創(chuàng)建sahara用戶和sahara數(shù)據(jù)庫,并添加權(quán)限:
- create user sahara IDENTIFIED by 'openstack';
- grant alert,select,insert,update,delete,create,drop on sahara.* to sahara identified by 'openstack';
創(chuàng)建sahara的數(shù)據(jù)庫表:
- sahara-db-manage --config-file /etc/sahara.conf upgrade head
修改sahara.conf的配置文件(配置的含義,在/usr/local/share/sahara/sahara.conf.sample-basic中有比較詳細(xì)的描述,需要配置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:openstack@192.168.206.190/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. 設(shè)置policy文件
在sahara配置文件的同一個(gè)目錄(/etc/sahara)下,創(chuàng)建一個(gè)policy.json的文件,當(dāng)然也可以在配置文件中指定policy_file 和 policy_dirs。
默認(rèn)是運(yùn)行所有用戶訪問所有的方法:
- {
- "default": ""
- }
下面這個(gè)配置不允許非admin用戶訪問鏡像的主要方法:
- {
- "default": "",
- "images:register": "role:admin",
- "images:unregister": "role:admin",
- "images:add_tags": "role:admin",
- "images:remove_tags": "role:admin"
- }
9. 啟動(dòng)sahara服務(wù)
- sahara-all --config-file /etc/sahara/sahara.conf &
確認(rèn)服務(wù)是否啟動(dòng)正常:
- sahara --debug cluster-list
原文出自:http://blog.csdn.net/canxinghen/article/details/41826535