Openstack+redcloud集成CRH5.1
Openstack和RedCloud对接
环境要求:
要有一个Openstack-newton集群(能正常使用)
安装文档地址http://www.redoop.net/group/topic/36
要有一个自己制作好的CRH5.1镜像(以便于后面创建CRH集群)
制作镜像地址http://www.redoop.net/group/topic/40
查看镜像和主机独立存储
修改镜像存储路径和挂载点,同时权限分配也要正确。
验证网络的可用性
由于连接openstack使用的是admin账户,所以其他账户下创建的网络都要删掉,重新创建自己的网络。
在路由详情的接口里面加入创建的子网
整体的网络拓扑如下所示:
安全组管理规则
注意开放icmp端口,这样主机就可以ping通,开放tcp的所有端口,强调22和3306端口。
上传镜像
上传空机器的镜像
登陆到openstack主页,选择左侧菜单的“镜像”,选择“创建镜像”,如下图所示:
填写相关的参数,选择创建:
等待一段时间,镜像上传完毕,效果如图所示:
上传集群的镜像
依次添加5个镜像到系统中,过程与上传单个镜像一样
制作模板
申请5台新机器
点击启动云主机,批量申请5个
选择一个密匙对
选择一个网络:
绑定一个浮动ip
安装databank
注:模板1部署databank,并且databank必须部署在namenode上。
安装mysql,修改mysql密码为RedHadoop-123
yum install -y mysql*
查看mysql状态
systemctl status mysqld
启动mysql服务
systemctl start mysqld
从mysql的日志文件中找到mysql的root用户的初始密码
vi /var/log/mysqld.log
使用用户名和密码登录mysql
mysql -uroot -p
修改root用户的密码:
set password for root@localhost=password(“RedHadoop-123”)
修改权限,让连接mysql的工具有权限访问到mysql
GRANT ALL PRIVILEGES ON . TO root@’%’ IDENTIFIED BY ‘RedHadoop-123’;
配置java的环境变量。
安装java环境
yum install -y java
yum install -y java-1.8.0-openjdk-devel
设置java环境变量,在/etc/profile.d/目录下创建java.sh,内容如下:
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.axs7.ppc64le
export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.axs7.ppc64le/jre
export PATH=
JAVA_HOME/bin:$JRE_HOME/bin
执行source /etc/profile 命令,让java环境变量生效
创建相关目录。
在opt下创建redcloud和temp目录,在temp目录下创建jars和data两个目录。
在tmp下创建redcloud目录。
安装tomcat,修改tomcat的端口为9999
部署databank.war,启动tomcat。
配置应用
云主机的配置
第一步:配置java环境变量,使用$JAVA_HOME可以看到结果。
第二步:安装mysql,配置远程可连接(这两步同3.4)不同的是:
需要在etc/my.cnf文件中追加:[mysqld] lower_case_table_names=1
大小写不敏感
第三步:安装tomcat,修改server.xml,配置端口为80。
修改conf目录下的Catalina.properties,在“tomcat.util.scan.DefaultJarScanner.jarsToSkip=\”后面追加“,*”
在tomcat目录的bin下,修改Catalina,文件后面追加如下配置:
这样项目启动的时候不会报内存溢出的错误了。
第四步:导入脚本,修改数据库表的配置,如网络,集群,镜像等。
连接到数据库,创建数据库itcast,导入脚本itcast.sql,然后对几张表进行手动配置。
修改表信息:tb_apiinfo
配置openstack的终端,提供商,区域id,区域名信息
Credential是openstack的登陆密码,endpoint的端口和后面的v2.0不需要改动,在地址变化时只用修改ip地址。Identity、provider、regionName不需要改变,regionID 可能是RegionOne、regionOne、regionone,具体是哪个,可以通过一个测试文件获取。
修改表tb_flavourinfo
配置机器的cpu硬盘等信息
与openstack管理中的云主机类型选项的内容一致:
Disk为硬盘容量,name和类型名称保持一致,ram是内存,resourceID是资源ID,vcpus是核数,rank是等级,从tiny到xlarge依次是1,2,3,4,5
修改表 tb_imageinfo
配置的主机镜像信息
Name为主机镜像名称,resourceID为资源id,minFlavourRand为主机所处的等级,与tb_flavourinfo中的rank对应。
修改表 tb_keypairs
配置键值对
Fingerpring为指纹信息,name为键值对的名称,public_key信息在新版的openstack管理界面中可以查看。其余选项不需要修改。
修改表 tb_networkinfo(配置的是内网的信息)
配置网络信息
点击public,即可看到子网详细信息
只要name,networkid,resourceId三项修改,与网络详情中的配置保持一致。注意好对应关系。Networkid是网络的自身id,resourceID是网络所属项目的项目id。subnet一项不用填写。
修改表tb_subnetinfo(配置内网的子网)
配置子网信息
要配置动态ip段的分配,修改cidr;gateway_ip配置网关信息,name为子网名称,network_id为自身的ID,subnetid为父网的网络id。
修改表 tb_snapshotinfo
这张表里面存储的是5个模板的信息,5个模板的相关信息如下:
关键字段为instanceInfoResourceId,resourceID和originalIP,
其中instanceInfoResourceId为instance_uuid,resourceID为镜像自身id,originalIP为在制作模板的时候原来主机的ip,这个字段是为了恢复集群时进行ip替换。
修改表 tb_ clustersnapshot
这张表是集群、主机、镜像的关联表,核心字段是namenode,是为了在恢复集群时确定那个节点是主节点,数值为tb_snapshotinfo的id字段。
修改表 tb_ipwhitelist
Ip地址白名单,这张表是为了某些ip地址在openstack占用,但是不希望被用户所申请而设计。Ip里面的地址是外网地址。
修改系统配置
删掉 /root/.ssh/known_hosts
修改etc/ssh/ssh_config,文件末尾追加StrictHostKeyChecking no和UserKnownHostsFile /dev/null
第六步:配置主机到集群5台主机ssh无密码登陆。
验证redcloud功能
申请集群
注册用户,登录
登陆账号后:
创建集群
点击创建镜像
新注册用户需要创建SSH
点击创建SSH
点击创建密钥对
在输入框中输入要创建密钥的名字
点击创建/创建成功
点击左侧栏(镜像),创建云集群
在SSH栏中选择刚刚创建的SSH
点击创建集群,创建成功(这里只创建两个节点)
申请公网IP
申请IP成功页面
绑定集群
选择要绑定的云主机并关联
查看集群状态,公网IP申请成功,并记住申请的公网IP(223.223.176.30)
进行VNC登陆启动集群
VNC登陆
启动ambari服务
ambari-server start
Aambari页面,操作CRH集群
登陆ambari页面:223.223.176.30:8080(http://公网IP:8080)
账号:admin 密码:admin
启动服务
启动成功