OpenStack (T)部署trove

环境Openstack(T)

          CentOS Linux release 7.9.2009 (Core)

正文:

1.控制节点安装trove软件包

# yum install openstack-trove-guestagent openstack-trove python-troveclient  openstack-trove-ui –y

2.创建数据库,用户,endpint和API端点

#创建数据库
# mysql -u root -p
mysql> CREATE DATABASE trove;
mysql> GRANT ALL PRIVILEGES ON trove.* TO trove@'localhost' IDENTIFIED BY 'admin123';     mysql> GRANT ALL PRIVILEGES ON trove.* TO trove@'%' IDENTIFIED BY  'admin123';

#创建用户
# openstack user create --domain default --password admin123 trove
# openstack role add --project service --user trove admin
# openstack service create --name trove --description "Database" database


#创建endpoint和API端点---tenant_id不用进行改动
# openstack endpoint create --region RegionOne database public http:// controller:8779/v1.0/%\(tenant_id\)s
# openstack endpoint create --region RegionOne database internal http:// controller:8779/v1.0/%\(tenant_id\)s
# openstack endpoint create --region RegionOne database admin http:// controller:8779/v1.0/%\(tenant_id\)s

3.去/etc/trove/目录下 编辑如下四个配置文件

[root@controller trove]# cat trove-conductor.conf
[DEFAULT]
log_dir = /var/log/trove
log_file = trove-conductor.log
trove_auth_url = http://controller:5000/v3/ 
notifier_queue_hostname = controller
nova_proxy_admin_user = admin
nova_proxy_admin_pass = admin123
nova_proxy_admin_tenant_name = admin
rpc_backend = rabbit

[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = admin123

[database]
connection = mysql://trove:admin123@controller/trove
[root@controller trove]# cat trove.conf
[DEFAULT]
log_dir = /var/log/trove
log_file = trove-api.log
trove_auth_url = http://controller:5000/v3/ 
notifier_queue_hostname = controller
rpc_backend = rabbit
nova_proxy_admin_user = admin
nova_proxy_admin_pass = admin123
nova_proxy_admin_tenant_name = admin
nova_compute_service_type = compute
cinder_service_type = volumev2
network_driver = trove.network.neutron.NeutronDriver
default_neutron_networks = c44901e1-39a1-4336-8417-9de533a3f0fe
auth_strategy = keystone
add_addresses = True
network_label_regex = .*
api_paste_config = api-paste.ini

[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = admin123

[database]
connection = mysql://trove:admin123@controller/trove

[keystone_authtoken]
auth_uri = http://controller:5000/v3/
auth_url = http://controller:5000/v3/
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = trove
password = admin123
[root@controller trove]# cat trove-guestagent.conf
[DEFAULT]
rpc_backend = rabbit
nova_proxy_admin_user = admin
nova_proxy_admin_pass = admin123
nova_proxy_admin_user = admin
nova_proxy_admin_tenant_id = 06d5998c61e64c0d8fbcfd4e961ecee8
trove_auth_url = http://controller:5000/v3/
swift_url = http://controller:8080/v1/AUTH_06d5998c61e64c0d8fbcfd4e961ecee8
os_region_name = RegionOne
swift_service_type = object-store
log_file = trove-guestagent.log
rabbit_password = admin123
rabbit_host = 192.168.222.10
rabbit_userid = openstack
rabbit_port = 5672

[oslo_messaging_rabbit]
rabbit_host = 192.168.222.10
rabbit_userid = openstack
rabbit_password = admin123
[root@controller trove]# cat trove-taskmanager.conf
[DEFAULT]
log_dir = /var/log/trove
log_file = trove-taskmanager.log
trove_auth_url = http://controller:5000/v3/
nova_compute_url = http://controller:8774/v2.1
notifier_queue_hostname = controller
rpc_backend = rabbit
nova_proxy_admin_user = admin
nova_proxy_admin_pass = admin123
nova_proxy_admin_tenant_id = 06d5998c61e64c0d8fbcfd4e961ecee8
taskmanager_manager = trove.taskmanager.manager.Manager
notification_driver = messagingv2
network_driver = trove.network.neutron.NeutronDriver
default_neutron_networks = c44901e1-39a1-4336-8417-9de533a3f0fe
network_label_regex = .*
guest_config = /etc/trove/trove-guestagent.conf
guest_info = guest_info.conf
injected_config_location = /etc/trove/conf.d
cloudinit_location = /etc/trove/cloudinit

[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = admin123

[database]
connection = mysql://trove:admin123@controller/trove 

上述配置文件,host 密码 网络ID project_ID  auth_url 该替换的都要进行替换

下面详细说几个地方:

3.1.管理员项目的租户ID:

nova_proxy_admin_tenant_id = 06d5998c61e64c0d8fbcfd4e961ecee8



3.2.你要使用的网络ID

default_neutron_networks = c44901e1-39a1-4336-8417-9de533a3f0fe

3. 3.获取 Trove 认证 URL 

trove_auth_url = http://controller:5000/v3/

3.4.获取 Swift 服务 URL
swift_url = http://controller:8080/v1/AUTH_06d5998c61e64c0d8fbcfd4e961ecee8

4.同步数据库

# su -s /bin/sh -c "trove-manage db_sync" trove

执行完该命令如果出现错误,Command failed, please check log for more info

查看位于 /var/log/trove/下的日志文件

解决:

这个错误意味着在执行 `trove-manage db_sync` 命令时,Python 缺少 MySQL 数据库驱动程序。通常情况下,Trove 使用 SQLAlchemy 来与数据库进行交互,而 SQLAlchemy 又需要特定的数据库驱动程序来连接到数据库。

在这种情况下,错误消息指出缺少名为 `MySQLdb` 的 Python 模块,这是 MySQL 数据库的一个常用驱动程序。

要解决这个问题,你需要安装适用于 Python 2.7 的 MySQL 数据库驱动程序。如果你使用的是 Python 2.7,可以尝试使用以下命令来安装 `MySQLdb`:

pip install MySQL-python (注意:没有pip 就 yum install )

或者,如果你使用的是 Python 3,可以安装 `mysqlclient`:
pip install mysqlclient

安装完成后,再次尝试运行 `trove-manage db_sync` 命令,应该就不会再出现缺少 MySQLdb 模块的错误了。

5.启动服务

# service httpd restart
# systemctl enable openstack-trove-api.service openstack-trove-taskmanager.service openstack-trove-conductor.service
# systemctl restart openstack-trove-api.service openstack-trove-taskmanager.service openstack-trove-conductor.service

OK!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/536892.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

动态代理 --java学习笔记

什么是动态代理? 当一个类的很多方法都存在重复冗杂的部分,就可以使用代理来处理那些重复部分的任务,到了各自的实现部分再丢回给原方法处理,同时也可以提高方法的扩展性,而动态则是指在运行时动态地创建代理对象&…

【高德地图笔试题汇总】2024-04-11-高德地图春招笔试题-三语言题解(CPP/Python/Java)

🍭 大家好这里是KK爱Coding ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新高德地图近期的春秋招笔试题汇总~ 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢&…

【感谢】心怀感恩,共赴知识之旅——致每一位陪伴我突破百万总访问量的您

小伙伴朋友们: 此刻,我怀着无比激动与深深感激的心情,写下这篇特别的博文。今天,我的CSDN总访问量成功突破了百万大关,这不仅是一个数字的跨越,更是你们对我的支持、信任与鼓励的有力见证。在此&#xff0…

前端Vue自定义勾选协议组件的开发与应用

摘要: 随着前端技术的不断发展,用户体验成为了软件开发中的关键要素。在登录、注册等场景中,勾选协议是常见的需求。本文旨在介绍一款基于 Vue.js 的自定义勾选协议组件的开发与应用,该组件适用于多种场景,并且具备良…

图形学基础:二维三维刚体的移动、缩放和旋转矩阵

一、二维 1.1 缩放矩阵 x,y分别表示在x轴,y轴缩放的倍数 示例: 点(2,1)在x,y轴上分别缩放x倍,y倍 1.2 平移矩阵 x,y分表表示在x轴,y轴上移动的距离 示例:点(2,1&#xf…

C语言——指针的高级引用

目录 1.概述 2.虚拟内存空间 2.1存储期限 2.2栈区管理 2.3堆区域的使用 3.动态内存分配和释放(重点) 3.1通用指针类型void 3.2内存分配malloc函数 3.2.1 malloc函数(memory allocation)(注意len*size&#xff…

工智能图像降噪软件 ON1 NoNoise AI 2024 for Mac激活版

ON1 NoNoise AI 2024 for Mac是一款专为Mac用户设计的先进人工智能图像降噪软件。其核心功能在于能够利用机器学习技术,快速并智能地消除图像中的噪点,无论是亮度噪点还是颜色噪点,都能得到显著的改善。 软件下载:ON1 NoNoise AI …

【高项】信息化发展

目录 1.1 信息与信息化 1.1.1 信息 1.信息的定义 2.信息的特征与质量 1.1.2 信息系统 1.信息系统及其特性 2.信息系统生命周期 1.1.3 信息化 1.信息化内涵 2.信息化体系(口诀:上应下技左人右规,中资网) 1.2 现代化基础…

Vue笔记 2

数据代理 数据代理:通过一个对象代理对另一个对象中属性的操作(读/写) let obj{x:100} let obj2{y:200} Object.defineProperty(obj2,x,{get(){return obj.x},set(value){obj.x value} })Vue中的数据代理 Vue中的数据代理: 通…

【go从入门到精通】作用域,包详解

作者简介: 高科,先后在 IBM PlatformComputing从事网格计算,淘米网,网易从事游戏服务器开发,拥有丰富的C,go等语言开发经验,mysql,mongo,redis等数据库,设计模…

u盘为什么一插上电脑就蓝屏,u盘一插电脑就蓝屏

u盘之前还好好的,可以传输文件,使用正常,但是最近使用时却出现问题了。只要将u盘一插入电脑,电脑就显示蓝屏。u盘为什么一插上电脑就蓝屏呢?一般,导致的原因有以下几种。一,主板的SATA或IDE控制器驱动损坏或安装不当;二,电脑系统分区存在磁盘或文件故障错误;三,电脑中…

【力扣】125.验证回文串

刷题,过了真的好有成就感!!! 题解: 根据题目要求,我们需要处理一下几个问题: 将大写字母转变成小写对原来的字符串进行处理,只要字母和数字考虑只有一个和字符串为空的情况 1、将…

element-ui backtop 组件源码分享

今日简单分享 backtop 组件的源码实现,从以下三个方面: 1、backtop 组件页面结构 2、backtop 组件属性 3、backtop 组件事件 一、backtop 组件页面结构 二、backtop 组件属性 2.1 target 属性,触发滚动的对象,类型 string&am…

【保姆级讲解Nginx】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

【Linux系统编程】第一弹---背景介绍

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、Linux 背景介绍 1.1、发展史 1.1.1、UNIX发展的历史 1.1.2、Linux发展历史 2、开源精神 3、Linux内核官网 4、企业应用…

SAP SD学习笔记04 - 出荷Plant(交货工厂),出荷Point(装运点),输送计划,品目的可用性检查,一括纳入/分割纳入,仓库管理

上一章讲了SD的主数据。 SAP SD学习笔记03 - SD模块中的主数据-CSDN博客 本章讲出荷Plant(交货工厂),出荷Point(装运点)和出和路线。 还是偏理论多一些,后面的文章尽量多加些练习巩固一下。 1&#xff0…

2024年思维100春季线上比赛倒计时8天,来做做官方样题

今天是2024年4月12日,距离2024年春季思维100活动第一阶段的线上比赛4月20日还有8天。今年思维100活动的考试重点是什么呢?虽然主办方未公布,我们可以从主办方发布的参考题目中来推测今年的考试重点,并且按照这个来举一反三&#x…

PP-LCNet:一种轻量级CPU卷积神经网络

PP-LCNet: A Lightweight CPU Convolutional Neural Network 最近看了一个新的分享,在图像分类的任务上表现良好,具有很高的实践意义。 论文: https://arxiv.org/pdf/2109.15099.pdf项目: https://github.com/PaddlePaddle/Padd…

百科引流攻略|小马识途分享百科营销的五个技巧

纵观整个互联网领域,国内几大巨头百度、抖音、腾讯都布局了自身的百科平台,百科营销也始终作为网络营销一个重要分支而存在。很多人都知道百科营销是品牌背书的一把王牌,但很少有人提及百科营销的引流作用。 有人可能会说,百科词条…

K8S资源管理之计算资源管理

1.详解Requests和Limits参数 以CPU为例,下图显示了未设置Limits与设置了Requests和Limits的CPU使用率的区别 尽管Requests和Limits只能被设置到容器上,但是设置了Pod级别的Requests和Limits能大大提高管理Pod的便利性和灵活性,因此在Kubernet…