DevStack部署OpenStack开发环境 - 问题总结
建议在使用DevStack搭建OpenStack开发环境前,先安装好开发工具包组.特别是gcc,
主要一定是在yum update -y 之前,否则更新完系统后,在安装开发工具包会出现很多依赖包
因为版本更新而无法安装.
要部署OpenStack需要注意若电脑配置不高,我自己的经验是先最小化或基本Web安装,
然后,再安装包组 "fonts", "input", "X Window"相关的部分的软件集.这样可以尽量少装
一些服务,当然,也可以装好后,关闭一些不必要的服务.这样做可避免一些因为主机内存不足或性能
问题出现的OpenStack服务启动错误。
安装DevStack前需要安装的包:
yum install -y git screen openstack-utils openstack-selinux
另外需要注意:
1.devstack部署OpenStack时,需要先执行"tools/create-stack-user.sh", 来创建stack用户,并创建sudo执行权限.
2.需要注意,devStack似乎不能在/var/log/下创建目录,若出现这个错误,可手动创建以下服务的log目录:
keystone/glance/nova/neutron/horizon/cinder/manila/ceilometer/heat/rabbitmq/chrony
这些目录的属主和属组都必须是:stack
3.若DevStack安装出错时,特别需要注意:
1> 使用 screen -ls 查看下是否有screen启动的其它虚拟终端,若有,使用screen -r 234234,
234234指screen启动的虚拟终端标识.此命令是恢复该终端,这样你就可以使用exit持续退出所有的虚拟终端.
2> 使用 losetup -a 查看cinder是否将loop设备关联到虚拟磁盘文件上了。若有,可使用losetup -D 删除所有关联的loop设备.
下面是安装DevStack时出现错误后,的一些解决方法:
错误一:
build/temp.linux-x86_64-2.7/_openssl.c:431:25: fatal error: openssl/aes.h: No such file or directory
#测试系统为:CentOS7.2-1511,做个升级,因此glibc-common-版比较高,导致安装openssl-devel时出错,
# 不能使用yum直接安装,因此我采用rpm 强制将CentOS7.2光盘上低版本的openssl-devel和openssl-libs装上才解决此问题的.
解决方法:
rpm -ivh --nodeps --force openssl-devel openssl-libs
错误二:
/usr/include/krb5/krb5.h:8193:24: fatal error: et/com_err.h: No such file or directory
解决方法:
yum install e2fsprogs-devel e2fsprogs-libs zlib-devel
错误三:
src/lxml/includes/etree_defs.h:14:31: fatal error: libxml/xmlversion.h: No such file or directory
#这样可以把libxml2-devel 的依赖包都下载下来,但还是会因为多版本库的问题导致安装失败。
#我是直接把下载下来的包强制安装上的。
解决方法:
yum install libxml2-devel --setopt=protected_multilib=false
ln -sf /usr/include/libxml2/libxml/ /usr/include/libxml
错误四:
Error: pg_config executable not found.
解决方法:
yum install libpqxx-devel python-devel
错误五:
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111 "Connection refused")
解决方法:
查看MySQL启动的监听的端口,发现它只在管理接口上监听,原因是,先前安装OpenStack时,
在/etc/mysql.d/openstack.cnf 中添加了"bind_address=192.168.10.10"
下面是安装eclipse时出现的错误:
Python+Eclipse+Pydev 来搭建OpenStack开发环境
首先开发环境部署需要注意:
1. Python版本 和 Pydev的版本要对应,否则Pydev安装完成后,会出现Eclipse无法识别Pydev的情况。
注:
最初我的Python版本:2.7.5, 直接使用Eclipse-->Help-->Install New Software..
使用http://pydev.org/updates 安装时,这里只能显示最新的版本,安装后,Eclipse无法识别Pydev.
网上有说可以升级JDK到最新版本来解决, 或 使用与当前Python版本一致的Pydev 来解决。
这篇网文可参看: http://www.linuxidc.com/Linux/2015-02/113883.htm
这里我选择手动下载与Python版本一致的Pydev来解决:
http://jaist.dl.sourceforge.net/project/pydev/pydev/PyDev 2.7.5/PyDev 2.7.5.zip
下载好后, 可直接解压到eclipse安装根目录下即可:
unzip PyDev2.7.5.zip -d eclipse/
另注: 若先前安装了最新版的PyDev5.2.0,则需要先在:
Eclipse-->Help-->Installation Details-->找到最新的PyDev然后卸载后,就可以看Pydev2.7.5了。
2. 配置Pydev使用的正确的Python解释器:
Eclipese-->Window-> Preferences-->Pydev-->Interpreter - Python -->Auto Config即可.
DevStack部署OpenStack开发环境 - 问题总结的更多相关文章
- 部署.NET开发环境
昨晚把家里的电脑重新部署.NET开发环境.从晚上21点安装到今天凌晨3点多才完成,还算顺利,但是耗时最漫长莫过于在安装Visual Studio 2015 Update3...... 第一,全新安装W ...
- Vagrant 部署python开发环境
Vagrant简介 Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境.它使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境. 在Windows下 ...
- Apache Spark1.1.0部署与开发环境搭建
Spark是Apache公司推出的一种基于Hadoop Distributed File System(HDFS)的并行计算架构.与MapReduce不同,Spark并不局限于编写map和reduce ...
- win10+vscode部署java开发环境
目录 Java开发插件配置: 调试: 快捷键: 启动配置文件launch.json: 启动配置说明: Launch: Attach: User Setting: 遇到的问题: 参考: Java开发插件 ...
- 使用Vmware虚拟机部署Swift开发环境之Mac OSX系统安装
一.使用VMware虚拟机部署Swift开发环境所需工具: Vmware Workstation 10.0虚拟机软件VM安装Mac解锁工具Unlock苹果操作系统(Mac OS X Mavericks ...
- CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境, 记坑篇
CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境 CentOS7 + Python3 + D ...
- 如何使用Docker部署PHP开发环境
本文主要介绍了如何使用Docker构建PHP的开发环境,文中作者也探讨了构建基于Docker的开发环境应该使用单容器还是多容器,各有什么利弊.推荐PHP开发者阅读.希望对大家有所帮助. 环境部署一直是 ...
- openstack开发环境与代码测试
一.openstack单组件开发环境 1.Python虚拟环境搭建 主要参考文献: https://virtualenv.pypa.io/en/latest/virtualenv.html 说明:Py ...
- Debian7下初次尝试Nginx+Uwsgi部署Django开发环境
之前一直都用的是新浪的SAE,但是由于各种限制,各种不爽,终于下定决心开始折腾VPS,于是在搬瓦工上买了个年付VPS,开始折腾之旅. 由于对Linux一窍不通,所以不知道如何在Linux上部署开发环境 ...
随机推荐
- POJ 3281 [网络流dinic算法模板]
题意: 农场主有f种食物,d种饮料,n头牛. 接下来的n行每行第一个数代表第i头牛喜欢吃的食物数量,和第i头牛喜欢喝的饮料数目. 接下来分别是喜欢的食物和饮料的编号. 求解:农场主最多能保证几头牛同时 ...
- Java连接MySQL报错:CommunicationsException: Communications link failure
现象: 报错:Exception in thread "main" com.mysql.cj.jdbc.exceptions.CommunicationsException: Co ...
- ThoughtWorks技术雷达
ThoughtWorks技术雷达 技术成熟方案的一个推荐网站.
- 磁盘显示为GPT(保护分区)
问题描述:PE进入系统,在计算机管理里面磁盘显示为GPT(保护分区).此时硬盘是不能重新分区或者格式化的. 解决思路:低版本的WIndows(PE)是不支持GPT分区的,我们需要使用系统自带的Disk ...
- composer-安装laravel
laravel文档地址: https://docs.golaravel.com/docs/5.6/installation/ 我们怎么将Apache和PHP互联起来呢? http://www.cnbl ...
- easyui英文提示变中文
近期玩JQuery easyUI,系统默认的日期和文本输入框提示英文.作为一个地道的中国人,是不是提示成中文.日期也显示成中文,是不是更人性化呢,下面为操作方法哦. 更改前效果 1 输入框提示为英文 ...
- android 自己主动拒接后再取消自己主动拒接,该联系人来电界面无图标显示,且点击挂断无反应
1. 设置一个联系人为自己主动拒接 2. 该联系人来电 3. 取消该联系人的自己主动拒接 4. 该联系人来电 Error: 来电界面无头像显示,直接显示黑屏,且点击拒接butt ...
- HTML5你必须知道的28个新特性
1. 新的Doctype 尽管使用<!DOCTYPE html>,即使浏览器不懂这句话也会按照标准模式去渲染 2. Figure元素 用<figure>和<figcapt ...
- accept()函数用来告诉Qt,事件处理函数“接收”了这个事件,不要再传递;ignore()函数则告诉Qt,事件处理函数“忽略”了这个事件,需要继续传递(看一下QWidget::mousePressEvent的实现,最为典型。如果希望忽略事件,只要调用父类的响应函数即可)
QEvent的accept()和ignore()一般不会用到,因为不如直接调用QWidget类的事件处理函数直接,而且作用是一样的,见下面的例子. 推荐直接调用QWidget的事件处理函数.而不是调用 ...
- solr 7.2.1 单机及伪集群启动
1.solr的下载: 下载地址:solr官网:http://lucene.apache.org/solr进入官网点击download或者点击链接https://lucene.apache.org/so ...