准备centos7基础系统

首先安装基础系统centos7 在安装选项那里选择base web server ,选择其他的也可以,选择mini安装会缺很多常用的软件包,后续需要一个个安装比较麻烦

关闭防火墙相关

[root@inkscope ~]# setenforce 0
[root@inkscope ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@inkscope ~]# systemctl stop firewalld
[root@inkscope ~]# systemctl disable firewalld

更新源相关的

[root@inkscope ~]# rm -rf /etc/yum.repos.d/*.repo
[root@inkscope ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@inkscope ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

修改里面的系统版本为7.2.1511,当前用的centos的版本的的yum源可能已经清空了

[root@inkscope ~]# sed -i 's/$releasever/7.2.1511/g' /etc/yum.repos.d/CentOS-Base.repo

添加ceph源

[root@inkscope ~]# vim /etc/yum.repos.d/ceph.repo

添加

[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-hammer/el7/x86_64/
gpgcheck=0
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-hammer/el7/noarch/
gpgcheck=0

准备inkscope的相关安装包

下载相关软件包的脚本:

#! /bin/sh
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/flake8-2.3.0-1.noarch.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/inkscope-admviz-1.3.1-2.noarch.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/inkscope-cephprobe-1.3.1-2.noarch.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/inkscope-cephrestapi-1.3.1-2.noarch.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/inkscope-common-1.3.1-2.noarch.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/inkscope-monitoring-1.3.1-2.noarch.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/inkscope-sysprobe-1.3.1-2.noarch.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/pep8-1.5.7-1.noarch.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/pyflakes-0.8.1-1.noarch.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-babel-0.9.6-8.el7.noarch.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-boto-2.34.0-4.el7.noarch.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-bson-2.5.2-2.el7.x86_64.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-flask-0.10.1-4.el7.noarch.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-flask-doc-0.10.1-4.el7.noarch.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-itsdangerous-0.23-2.el7.noarch.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-jinja2-2.7.2-2.el7.noarch.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-markupsafe-0.11-10.el7.x86_64.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-pip-1.3.1-4.el7.noarch.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-psutil-2.2.0-1.x86_64.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-pymongo-2.5.2-2.el7.x86_64.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-rsa-3.1.1-5.el7.noarch.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-simplejson-3.3.3-1.el7.x86_64.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-werkzeug-0.9.1-2.el7.noarch.rpm
wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-werkzeug-doc-0.9.1-2.el7.noarch.rpm
wget http://copr-be.cloud.fedoraproject.org/results/merlinthp/el7-mypa/epel-7-x86_64/python-flask-login-0.2.11-1.el7.centos/python-flask-login-0.2.11-1.el7.centos.noarch.rpm

已经离线下载好了,可以直接用下面的百度云里面的安装包

链接:http://pan.baidu.com/s/1czANCi 密码:qw3k

软件包安装的位置

  • 集群的mon节点 cephprobe ceph-rest-api
  • 集群的osd节点 sysprobe inkscope-common
  • inkscope管理控制台 inkscope-admviz inkscope-monitor mongodb

开始安装inkscope管理节点

安装下ceph(非必选建议安装下)

这个地方可以选择安装也可以选择不安装,这个方便查看,也有可能管理节点就在ceph的某个节点上,这个自己随意

[root@inkscope ~]# yum install ceph ceph-radosgw
[root@inkscope ~]# yum install python-ceph

我的环境是想单独一台机器做管理平台控制节点

那么把ceph集群中的这两个文件拷贝到这个管理节点的/etc/ceph/下面

  • ceph.client.admin.keyring
  • ceph.conf

如果你管理节点本身就在ceph集群当中就不需要做了

检查ceph -s是否有输出,有集群输出就是正常的

安装依赖包

安装apache2和其它几个包(用于配置web服务器)

[root@inkscope ~]# yum install httpd -y
[root@inkscope ~]# yum install python-setuptools
[root@inkscope ~]# yum install lshw
[root@inkscope ~]# yum install mod_wsgi

安装MongoDb(用于存储收集到的数据的)

[root@inkscope ~]# yum install mongodb -y
[root@inkscope ~]# yum install mongodb-server -y

修改配置文件,让mongdb可以远程访问

[root@inkscope ~]# vim /etc/mongod.conf

bind_ip = 127.0.0.1修改为 bind_ip = 0.0.0.0

启动mongodb服务

[root@inkscope ~]# systemctl start mongod.service

检查服务

[root@inkscope bao]# netstat -tunlp|grep mongod
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 11836/mongod

安装inkscope相关的包

安装(有些安装ceph的时候已经安装了)
rpm -ivh flake8-2.3.0-1.noarch.rpm
rpm -ivh pep8-1.5.7-1.noarch.rpm
rpm -ivh pyflakes-0.8.1-1.noarch.rpm
rpm -ivh python-rsa-3.1.1-5.el7.noarch.rpm
rpm -ivh python-boto-2.34.0-4.el7.noarch.rpm
rpm -ivh python-bson-2.5.2-2.el7.x86_64.rpm
rpm -ivh python-flask-doc-0.10.1-4.el7.noarch.rpm
rpm -ivh python-pip-1.3.1-4.el7.noarch.rpm
rpm -ivh python-psutil-2.2.0-1.x86_64.rpm
rpm -ivh python-pymongo-2.5.2-2.el7.x86_64.rpm
rpm -ivh python-simplejson-3.3.3-1.el7.x86_64.rpm
rpm -ivh python-werkzeug-doc-0.9.1-2.el7.noarch.rpm
rpm -ivh inkscope-common-1.3.1-2.noarch.rpm
rpm -ivh inkscope-sysprobe-1.3.1-2.noarch.rpm
rpm -ivh inkscope-monitoring-1.3.1-2.noarch.rpm
rpm -ivh inkscope-cephrestapi-1.3.1-2.noarch.rpm
rpm -ivh inkscope-cephprobe-1.3.1-2.noarch.rpm
rpm -ivh inkscope-admviz-1.3.1-2.noarch.rpm
##rpm -ivh --nodeps inkscope-admviz-1.3.1-2.noarch.rpm

这个里面因为python-ceph在10.x已经更名了,所以在确保其他已经安装好的情况下使用忽略依赖进行安装,ceph0.94没有这个问题

配置权限

需要创建一个client.restapi的用户 拥有权限 [mds] allow, [mon] allow * , [osd] allow *

ceph auth get-or-create client.restapi mds 'allow' osd 'allow *' mon 'allow *' > /etc/ceph/ceph.client.restapi.keyring
chmod 644 /etc/ceph/ceph.client.admin.keyring
chmod 644 /etc/ceph/ceph.client.restapi.keyring

在/etc/ceph/ceph.conf配置文件里面添加

[client.restapi]
log_file = /dev/null
keyring = /etc/ceph/ceph.client.restapi.keyring

配置httpd

/etc/httpd/conf/httpd.conf 中间添加一条

Listen 8080

因为inkscope的web 默认采用虚拟主机的方式使用了8080端口

给目录访问权限(存储日志使用)

[root@inkscope ~]# chmod 777 -R /var/log/ceph/

修改ceph-rest-api的地址

vim /etc/httpd/conf.d/inkScope.conf

修改为:

ProxyPass /ceph-rest-api/ http://192.168.222.100:8080/ceph_rest_api/api/v0.1/

这个地方是写的这台管理节点的地址和端口,因为本机实现了wsgi的方式的rest-api的接口,不是用的集群的5000的端口,而是直接使用web配置的8080的端口

启动httpd服务

[root@inkscope ~]# systemctl restart httpd

检查ceph-rest-api是否能访问,地址是 http://192.168.222.100:8080/ceph_rest_api/api/v0.1/

修改/opt/inkscope/etc/inkscope.conf配置文件,

"ceph_rest_api": "192.168.222.100:8080",
"ceph_rest_api_subfolder": "ceph_rest_api",
"mongodb_host" : "192.168.222.100",

注意上面的地址不要在ip和地址前面加http://否则获取不到信息的,注意使用的是inkscope的web端口8080,也就是上面配置好的rest-api的端口

启动cephprobe 服务

[root@inkscope ~]# /etc/init.d/cephprobe restart

现在就可以访问

http://192.168.222.100:8080/inkscopeViz/index.html

这个是没有用户名密码的,我们为了安全采用以下用户名密码的方式,需要安装flask-login

[root@inkscope ~]# rpm -ivh python-flask-login-0.2.11-1.el7.centos.noarch.rpm

重启httpd服务

[root@inkscope ~]# systemctl restart httpd

再次访问就需要用户名密码了

  • 默认用户名:admin
  • 默认密码:admin

到这里最基本的管理平台配置就完成了

配置sysprobe

sysprobe是获取集群节点的主机的信息的

安装

[root@inkscope ~]# rpm -ivh inkscope-common-1.3.1-2.noarch.rpm
[root@inkscope ~]# rpm -ivh inkscope-sysprobe-1.3.1-2.noarch.rpm

将主监控节点的inkscope配置文件拷贝到节点上

[root@inkscope ~]# scp /opt/inkscope/etc/inkscope.conf 192.168.8.106:/opt/inkscope/etc/

在osd节点启动sysprobe服务

[root@lab8106 ~]# /etc/init.d/sysprobe restart



正常情况就用上面这个页面检查配置的状况

cephprobe是用来或者集群的相关信息和操作的

sysprobe是获取节点的磁盘分区等相关信息的

基本节点的软件包配置完毕了,一些扩展功能也配置一下

创建rgw相关的

配置rgw网关

在/etc/ceph/ceph.conf

添加

[client.radosgw.gateway]
host = inkscope

启动radosgw服务

[root@inkscope ~]# /etc/init.d/ceph-radosgw restart

检查端口是否启动,默认是7480

[root@inkscope ~]# netstat -tunlp|grep radosgw
tcp 0 0 0.0.0.0:7480 0.0.0.0:* LISTEN 113493/radosgw

创建rgw使用的存储池并且添加到rgw

rados mkpool .rgw.buckets 1024 1024

radosgw-admin pool add --pool .rgw.buckets

执行完后检查存储池情况,自动会创建了一些存储池

[root@inkscope ~]# ceph df
GLOBAL:
SIZE AVAIL bash USED %bash USED
548G 548G 70080k 0.01
POOLS:
NAME ID USED %USED MAX AVAIL OBJECTS
rbd 0 0 0 274G 0
zp 1 0 0 274G 0
.rgw.root 2 848 0 274G 3
.rgw.control 3 0 0 274G 8
.rgw 4 24 0 274G 1
.rgw.gc 5 0 0 274G 32
.users.uid 6 0 0 274G 0
.rgw.buckets 7 0 0 274G 0

创建rgw的用户

这个用户是管理员用户,需要给很多权限

[root@inkscope ~]# radosgw-admin user create --uid=inkscope --display-name="inkscope" --access-key=inkscope --secret=inkscope --access=full --caps="metadata=*;users=*;buckets=*"

修改配置文件

[root@inkscope ~]# vim /opt/inkscope/etc/inkscope.conf

修改下面的几项

"radosgw_url": "http://192.168.222.100:7480",
"radosgw_admin": "admin",
"radosgw_key": "inkscope",
"radosgw_secret": "inkscope"

radosgw_url为rgw的访问地址

radosgw_admin字段不更改就是admin

radosgw_key,radosgw_secret就是上面创建的那个密钥

配置结束

基本按照上面的做法就可以配置完毕了,并且可以正常使用,之前搞错了一个地方就是那个restapi,这个地方可能是最开始的时候,这个地方是需要调用的原始的那个5000端口的api,然后基本操作都是可以做的,一些新开发的功能需要用到新的接口,就按照新的配置即可,inkscope从我开始关注到现在已经改进了很多,添加了sanky chart来显示pg的分布,里面的api接口也更加的丰富。并且提供了友好的安装方式,应该是目前最成熟的一种管理平台了

展示

sanky chart显示pg

inkscope完整安装配置的更多相关文章

  1. 游戏服务端pomelo完整安装配置过程

    版权声明:本文为博主原创文章,转载或又一次发表请先与我联系. https://blog.csdn.net/jonahzheng/article/details/27658985 游戏服务端pomelo ...

  2. MySQL 8.0.18 InnoDB Cluster 主从(MGR)完整安装配置

    提示: MySQL InnoDB Cluster底层依赖Group Replication模式,至少3台机器 1.  准备3台 CentOS Linux 7 (Core), 修改各主机名:db-hos ...

  3. 4.2 K8S超级完整安装配置

    前言: 采坑 k8s有3种安装方式,如下所示: minikube:这是一个k8s集群模拟器,只有一个节点的集群,只为了测试使用,master和node都在一台机器上 直接使用带有容器功能的云平台安装: ...

  4. 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

    原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...

  5. 【转】Nginx 学习笔记(十一)nginx下安装配置naxsi waf防火墙(附完整编译、配置)

    原文地址:http://f2ex.cn/nginx-installed-configuration-naxsi-waf/ Naxsi 是第三方 nginx 模块 ,它和 Modsecurity 都是开 ...

  6. android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

      android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把 ...

  7. CentOS6.2下fastDFS的完整安装和配置步骤

    centos6.2系统下安装配置FastDFS步骤: 1:安装libevent(libevent-2.0.16-stable) ##卸载系统自带libevent rpm -qa|grep libeve ...

  8. Hadoop完全分布式安装配置完整过程

    一. 硬件.软件准备 1. 硬件设备 为了方便学习Hadoop,我采用了云服务器来配置Hadoop集群.集群使用三个节点,一个阿里云节点.一个腾讯云节点.一个华为云节点,其中阿里云和腾讯云都是通过使用 ...

  9. oracle11gR2、client及plsql完整安装与配置

    本文主要介绍Oracle11g,client及PLSQL的安装过程 一,oracle安装 安装环境:虚拟机win7 64 1.点击目录中 setup.exe文件 2.配置安全更新中,取消通过my or ...

随机推荐

  1. CentOS7克隆多个虚拟机

    VMware+centos7克隆虚拟机 步骤一:打开虚拟机,右键选中已经配置好的虚拟机,选择manage下面的clone选项.这里有一个需要注意的地方,就是虚拟机在启动或者挂起的状态下是不能clone ...

  2. spring boot: 设计接口站api的版本号,支持次版本号(spring boot 2.3.2)

    一,为什么接口站的api要使用版本号? 1,当服务端接口的功能发生改进后, 客户端如果不更新版本,    则服务端返回的功能可能不能使用,    所以在服务端功能升级后,     客户端也要相应的使用 ...

  3. spring注解@Transactional 和乐观锁,悲观锁并发生成有序编号问题

      需求:系统中有一个自增的合同编号,在满足并发情况下,生成的合同编号是自增的. 测试工具:Apache Jmeter 实现方法: 创建一个数据库表.编号最大值记录表 表结构类似 CREATE TAB ...

  4. cmd/powershell常用命令 git常用命令

    cmd/powershell: 1. 新建文件夹: mkdir directoryName 2. 新建文件: cmd: type nul>fileName (空文件) powershell: n ...

  5. [转]CSS学习笔记

    原文:http://www.fx114.net/qa-266-93710.aspx 01.什么是CSS.    CSS指层叠样式表(Cascading Style Sheets).    ·样式定义如 ...

  6. 带你了解 MySQL Binlog 不为人知的秘密

    MySQL 的 Binlog 日志是一种二进制格式的日志,Binlog 记录所有的 DDL 和 DML 语句(除了数据查询语句SELECT.SHOW等),以 Event 的形式记录,同时记录语句执行时 ...

  7. 分布式消息系统之Kafka集群部署

    一.kafka简介 kafka是基于发布/订阅模式的一个分布式消息队列系统,用java语言研发,是ASF旗下的一个开源项目:类似的消息队列服务还有rabbitmq.activemq.zeromq:ka ...

  8. CAP-微服务间通信实践

    微服务间通信常见的两种方式 由于微服务架构慢慢被更多人使用后,迎面而来的问题是如何做好微服务间通信的方案.我们先分析下目前最常用的两种服务间通信方案. gRPC(rpc远程调用) gRPC-微服务间通 ...

  9. c++ 获取当前时间周初凌晨时间戳(获取当前时间周一凌晨时间戳)

    UINT64 GetWeekBeginTime(){ time_t t; t = time(0); tm* t_tm = localtime(&t); t_tm->tm_hour = 0 ...

  10. 第三章 MySQL的多实例

    一.MySQL服务构成 1.MySQL程序结构 1.连接层 2.sql层 3.存储引擎层 2.MySQL逻辑结构 1.库 2.表:元数据+真实数据行 3.元数据:列+其它属性(行数+占用空间大小+权限 ...