在Openstack环境中使用Savana自动化部署Hadoop集群

Openstack Havana,Savanna 0.3

1. 安装

# install savanna rpm pkgs
rpm -Uvh  openstack-savanna-0.3-2.el6.noarch.rpm\

                  python-savannaclient-0.3-1.el6.noarch.rpm\

                  python-django-savanna-0.3-1.el6.noarch.rpm

# create user using keystone command
keystone user-create --name savanna --pass Passw0rd
keystone user-role-add --user savanna --role admin --tenant service
keystone user-role-add --user savanna --role _member_ --tenant service

# config savanna
   echo -e "SAVANNA_URL = 'http://$cloud_controller_ip:8386/v1.1'\nSAVANNA_USE_NEUTRON = True" >> /etc/openstack-dashboard/local_settings
   sed -e "s@NC_IP@$network_controller_ip@g" -e "s@CC_IP@$cloud_controller_ip@g"  -e "s@XCAT_IP@$xcat_controller_ip@g" <$path/savanna.conf >/etc/savanna/savanna.conf

   sed -i "s/'dashboards': ('project', 'admin', 'settings',),/'dashboards': ('project', 'admin', 'settings','router','savanna'),/" /usr/share/openstack-dashboard/openstack_dashboard/settings.py
   sed -i "s/'openstack_dashboard',/'savannadashboard',/" /usr/share/openstack-dashboard/openstack_dashboard/settings.py
service openstack-savanna-api start
chkconfig openstack-savanna-api on
service httpd restart

然后登录dashboard会看到多出一个Savanna的标签:


表明savanna安装成功。

2.配置meta-data服务

CC:

openstack-config–set /etc/nova/nova.conf DEFAULT enabled_apisosapi_compute,metadata

openstack-config–set /etc/nova/nova.conf DEFAULT service_neutron_metadata_proxytrue

openstack-config–set /etc/nova/nova.conf DEFAULTneutron_metadata_proxy_shared_secret foo

forservice in api objectstore scheduler novncproxy cert consoleconsoleauth conductor;do service openstack-nova-$service restart;done

NC:

openstack-config–set /etc/neutron/dhcp-agent.ini DEFAULT use_namespaces True

openstack-config–set /etc/neutron/dhcp-agent.ini DEFAULT enable_isolated_metadataTrue

openstack-config–set /etc/neutron/metadata-agent.ini DEFAULT nova_metadata_ip $cloud_controller_ip

openstack-config–set /etc/neutron/metadata-agent.ini DEFAULT nova_metadata_port8775

openstack-config–set /etc/neutron/metadata-agent.ini DEFAULTmetadata_proxy_shared_secret foo

serviceneutron-metadata-agent start

chkconfigneutron-metadata-agent on

serviceneutron-dhcp-agent restart

3.创建网络

本环境中没有使用l3-agent服务,不能创建router,使用的是dhcp-agent服务为虚拟机分配ip

keystone tenant-list


neutronnet-create –tenant-id f62963ebea08405590c742655c3a0d86 flatnet

--provider:network_type flat--provider:physical_network physnet1

neutronsubnet-create --tenant-id 62963ebea08405590c742655c3a0d86 flatnet110.103.0.0/24

--no-gateway ----allocation-pool start=10.103.0.20,end=10.103.0.30

注意不要给子网添加网关,否则虚拟机不会自动添加169.254.169.254的路由

4.使用savanna界面创建cluster

1)注册镜像

首先使用glanceimage-create命令上传镜像,镜像必须用已经做好的ubuntu镜像:Code-Server/repo/soloman/swift/savanna-0.3-vanilla-1.2.1-ubuntu-13.04.qcow2

点击savanna标签,选择ImageRegistry,页面右上角点击RegisterImage


以下步骤是必须要做的:

选择需要注册的镜像;

填写用户名:ubuntu

添加标签:vanilla1.2.1

2)创建NodeGroup Templates


点击savanna标签,选择NodeGroup Templates,页面右上角点击CreateTemplates

hadoopcluster中分masterworkers,所以要创建两种模板

a.master


注意事项:

OpenstackFlavor最小要选择m1.small;

masternode要勾选namenodejobtracker,如果要使用swift建立EDP,还需要勾选oozie

b.worker



(4)创建Cluster

点击savanna标签,选择Cluster,页面右上角点击LaunchCluster


输入cluster的名字;

选择(3)步骤中创建的模板;

选择(1)步骤中注册的镜像;

选择一个创建好的keypair

选择创建好的flat网络;

点击Create

需要注意的事项:

由于环境中的neutron-dhcp-agent还有问题,所以在创建instance的时候要重启一下,以便instance可以获得IP分配,可以查看compute结点上instance的日志:

比如:

tail-200f/var/lib/nova/instance/29df86f5-3268-4aef-94fb-c220428c0dc3/console.log

出现以下日志则说明instance获得IP并且正确执行cloud-init


instance获得dhcpip

instance添加了metadata服务的路由169.254.169.254

cloud-init开始为ubuntu用户生成ssh文件

虚拟机登录:



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值