-
2022-02-28 13:36:19
timescaledb的多节点模式已经推出很长时间,国内一直没有发布相关的教程,timescaledb官网上关于安装部署说的也不是很清楚,故此自己做了一版教程,也走了几个坑,有问题也可以问。
1.硬件环境
三台Centos7 虚拟机
IP为
(node1) 192.168.1.135 主节点
(node2) 192.168.1.136 数据节点
(node3) 192.168.1.137 数据节点
2.软件环境安装
1.系统配置关闭防火墙(所有节点)
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld关闭SELINUX(所有节点)
sed -i “s/SELINUX=enforcing/SELINUX=disabled/g” /etc/selinux/config
cat /etc/selinux/config | grep SELINUX=disabled立即生效
setenforce 0安装系统依赖包
yum install -y libicu systemd-sysv vim wget readline readline-devel zlib zlib-devel openssl openssl-devel pam-devel libxml2-devel libxslt-devel python-devel tcl-devel gcc gcc-c++ rsync2.分别为每台节点安装PG-12(官方下载地址链接)
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql12-server
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
sudo systemctl enable postgresql-12
sudo systemctl start postgresql-12配置环境变量
root用户环境变量配置:su - root cd ~ echo ' PGHOME=/usr/pgsql-12 export PGHOME PATH=$PATH:$PGHOME/bin export PATH PGDATA=/var/lib/pgsql/12/data export PGDATA ' >> .bash_profile
立即生效环境变量 & 检查是否生效
# source .bash_profile # echo $PGHOME && echo $PGDATA
postgres用户环境变量配置:
$ su - postgres $ cd ~ echo ' PGHOME=/usr/pgsql-12 export PGHOME PATH=$PATH:$PGHOME/bin export PATH PGDATA=/var/lib/pgsql/12/data export PGDATA ' >> .bash_profile
立即生效环境变量 & 检查是否生效
$ source .bash_profile $ echo $PGHOME && echo $PGDATA
修改数据库配置(所有节点)
vim /var/lib/pgsql/12/data/postgresql.conf
listen_addresses = ‘*’ #数据库服务监听IP地址,默认只监听localhost,外部无法访问。
max_connections = 5000 #默认100,连接数限制根据实际业务需求修改
vim /var/lib/pgsql/12/data/pg_hba.conf
末尾添加下面内容,不限制任何主机并允许远程登录以及信任节点的无密码访问:(以数据节点2为例,添加主节点无需密码就可以访问当前节点,其他数据节点也可以无需密码访问,其余的访问需要密码)
Host all all node1的IP/0 trust Host all all node3的IP/0 trust host all all 0.0.0.0/0 md5
node2
node3
设置postgres用户密码
$ su - postgres
$ psql -U postgres
postgres=# ALTER USER postgres with encrypted password ‘123456’; #测试密码比较简单
postgres=# \du
postgres=# \l
postgres=# \dn3.安装timescaleDB(注意的是一定要下载2.0以上的版本,从2.0开始支持多节点的timescaledb)
安装PG开发包
yum install -y postgresql12-devel!如果出现异常
llvm的版本不够高所以进行升级
yum install centos-release-scl-rh
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum localinstall epel-release-latest-7.noarch.rpm
yum install llvm5.0 llvm5.0-devel clang
#重新执行yum install -y postgresql12-devel
安装timescaledb
下载地址:https://github.com/timescale/timescaledb/releases?page=1
本次安装版本为2.5.2解压
tar -zxvf timescaledb-2.5.2.tar.gz
安装
cd timescaledb-2.5.2./bootstrap
!此处可能会提示cmake(版本需要大于3.1)
cd ./build && make
make install
4.安装Cmake(没有提示就跳过此节)
下载地址https://cmake.org/download/tar -zxvf cmake-3.23.0-rc2.tar.gz
安装
cd cmake-3.23.0-rc2 ./bootstrap gmake make install
5.为postgresql添加timescaleDB扩展
#修改PG配置文件vim /var/lib/pgsql/12/data/postgresql.conf
找到shared_preload_libraries 去掉注释添加值为 timescaledb(如果有多个用逗号隔开)
重启数据库(所有节点) systemctl restart postgresql-12
6.从访问节点添加数据节点
#添加数据节点(数据节点不需要创建数据库) SELECT add_data_node('node5','192.168.1.136','example',5432, false,true,'123456') SELECT add_data_node('node6','192.168.1.137','example',5432, false,true,'123456') SELECT * FROM "hypertable_data_node" #查询数据节点 #创建分布式表(提前创建普通表)自动创建到数据节点。 SELECT create_distributed_hypertable('temp', 'timestamp', 'deviceId');
查看 _timescaledb_internal 模式下的chunk 都为外部服务器由此得出,访问节点并不做存储服务
转载请注明出处
更多相关内容 -
(本地源)OpenStack多节点部署安装,实操演示!!
2020-02-27 19:53:24文章目录前言一:实验环境1.1:环境介绍1.2:实验拓扑图1.3:实验目的二:实验过程2.1:创建虚拟机并安装系统2.2:修改三个节点的IP地址2.3:三个节点开局优化2.4:控制节点Openstack一键环境部署2.5:实验成功,...文章目录
前言
一:实验环境
1.1:环境介绍
-
VMware软件(我的电脑内存为24G)
-
主机名 内存 硬盘 网卡 系统 ct 7G 300G+1024G VM1:192.168.11.100
NAT:192.168.233.100Centos-7.7 c1 7G 300G+1024G VM1:192.168.11.101 Centos-7.7 c2 7G 300G+1024G VM1:192.168.11.102 Centos-7.7
1.2:实验拓扑图
1.3:实验目的
- 采用的3个虚拟机节点作为演示环境,演示如何自动化快速搭建一套Rocky版的openstack云平台
二:实验过程
2.1:创建虚拟机并安装系统
-
创建虚拟机很简单,不在赘述,只有控制节点需要一张NAT网卡,其他都是绑定VM1网卡即可
-
-
安装系统的时候需要注意:(最小化安装,下图是将网卡修改为eth)
-
2.2:修改三个节点的IP地址
-
修改控制节点IP地址,这个是是双网卡,并添加本地域名解析
[root@ct ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=eth0 UUID=93878b36-7b85-47d6-8f52-51e5adf2e236 DEVICE=eth0 ONBOOT=yes IPADDR=192.168.11.100 NETMASK=255.255.255.0 #GATEWAY=192.168.11.1 '//这里暂时注释,等部署OpenStack的时候在开启,否则无法访问公网' [root@ct ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=eth1 UUID=e3169c79-441b-425b-b221-8a74693a9c5c DEVICE=eth1 ONBOOT=yes IPADDR=192.168.233.100 NETMASK=255.255.255.0 GATEWAY=192.168.233.2 [root@ct yum.repos.d]# vi /etc/resolv.conf nameserver 8.8.8.8 nameserver 114.114.114.114 [root@ct ~]# systemctl restart network '//重启网卡'
-
c1和c2修改IP地址相同的操作,不在赘述
2.3:三个节点开局优化
-
使用OpenStack的本地yum源(如有需要资源,可私信)
先上传tar包
'//操作相同,仅展示ct控制节点的操作' [root@ct opt]# tar zxvf openstack_rocky.tar.gz '//解压到opt目录' [root@ct opt]# cd /etc/yum.repos.d '//进入yum目录' [root@ct yum.repos.d]# mkdir backup '//创建备份目录' [root@ct yum.repos.d]# mv * backup '//将所有的移动到备份目录中' mv: 无法将目录"backup" 移动至自身的子目录"backup/backup" 下 [root@ct yum.repos.d]# vi local.repo '//重新编辑一个yum本地源文件' [openstack] name=openstack baseurl=file:///opt/openstack_rocky gpgcheck=0 enabled=1 [mnt] name=mnt baseurl=file:///mnt gpgcheck=0 enabled=1 [root@ct yum.repos.d]# mount /dev/sr0 /mnt mount: /dev/sr0 写保护,将以只读方式挂载 [root@ct yum.repos.d]# vi /etc/fstab /dev/sr0 /mnt iso9660 defaults 0 0 [root@ct yum.repos.d]# yum clean all '//清除缓存' [root@ct yum.repos.d]# yum makecache '//创建缓存'
-
关闭防火墙和核心防护
[root@ct yum.repos.d]# systemctl stop firewalld [root@ct yum.repos.d]# systemctl disable firewalld Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@ct yum.repos.d]# setenforce 0 [root@ct yum.repos.d]# vi /etc/sysconfig/selinux SELINUX=disabled
-
关闭网络管理
[root@ct yum.repos.d]# systemctl stop NetworkManager [root@ct yum.repos.d]# systemctl disable NetworkManager Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service. Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service. Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
-
配置本地主机映射
[root@ct yum.repos.d]# vi /etc/hosts 192.168.11.100 ct 192.168.11.101 c1 192.168.11.102 c2
-
配置时间同步与本地时钟服务
[root@ct yum.repos.d]# yum install ntp ntpdate -y '//c1和c2节点不需要安装ntp' [root@ct yum.repos.d]# ntpdate ntp.aliyun.com '//c1和c2节点直接同步ct即可' 26 Feb 17:39:38 ntpdate[42996]: adjust time server 203.107.6.88 offset 0.003337 sec [root@ct yum.repos.d]# crontab -e '//ct计划任务' */30 * * * * /usr/sbin/ntpdate ntp.aliyun.com >>/var/log/ntpdate.log [root@c1 yum.repos.d]# crontab -e '//c1和c2设置计划任务' */30 * * * * /usr/sbin/ntpdate ct >>/var/log/ntpdate.log [root@ct yum.repos.d]# vi /etc/ntp.conf '//c1和c2节点不需要配置ntp时钟服务' restrict default nomodify ###第8行改 restrict 192.168.11.0 mask 255.255.255.0 nomodify notrap ###第17行改 ###将21行到24行删除## 21 server 0.centos.pool.ntp.org iburst 22 server 1.centos.pool.ntp.org iburst 23 server 2.centos.pool.ntp.org iburst 24 server 3.centos.pool.ntp.org iburst ###删除的插入下面内容### fudeg 127.127.1.0 stratum 10 server 127.127.1.0 [root@ct yum.repos.d]# systemctl restart crond '//c1和c2都要做' [root@ct yum.repos.d]# systemctl enable crond '//c1和c2都要做' [root@ct yum.repos.d]# systemctl restart ntpd '//c1和c2不做' [root@ct yum.repos.d]# systemctl enable ntpd '//c1和c2不做' [root@ct yum.repos.d]# systemctl disable chronyd.service '//取消开机自启,否则ntp开启自启不成功'
-
三台节点建立免密连接,步骤三台节点都要操作,仅展示控制节点的操作
[root@ct yum.repos.d]# ssh-keygen -t rsa '//一路回车即可' [root@ct yum.repos.d]# ssh-copy-id ct '//交互提示 输入yes 然后输入密码' [root@ct yum.repos.d]# ssh-copy-id c1 [root@ct yum.repos.d]# ssh-copy-id c2
-
重启,检查刚才的开局配置是否生效
2.4:控制节点Openstack一键环境部署
-
[root@ct ~]# yum -y install openstack-packstack '//安装一键部署工具' [root@ct ~]# packstack --gen-answer-file=openstack.txt '//生成应答文件' [root@ct ~]# vi openstack.txt 41 CONFIG_SWIFT_INSTALL=n '//第41行SWIFT是OpenStack的对象存储组件,默认是Y,在生产环境中一般是不装,所以改n' 50 CONFIG_AODH_INSTALL=n '//第50行,默认是Y 需要改n' 97 CONFIG_COMPUTE_HOSTS=192.168.11.101,192.168.11.102 '//第97行需要更改计算节点的IP地址' 101 CONFIG_NETWORK_HOSTS=192.168.11.100 '//第101行 需要更改网络节点的IP地址' 782 CONFIG_LBAAS_INSTALL=y '//第782行 LBAAS负载均衡组件。必选要装 选y' 790 CONFIG_NEUTRON_FWAAS=y '//第790行 FWAAS是防火墙组件。必选要装 选y' 794 CONFIG_NEUTRON_VPNAAS=y '//第794行 VPNAAS是VPN组件。必选要装 选y' 817 CONFIG_NEUTRON_ML2_FLAT_NETWORKS=physnet1 '//第817行,FLAT网络这边要设置物理网卡名字' 862 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex '//第862行,这边要设置物理网卡的名字' 873 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth1 '//第873行,这边br-ex:eth1是网络节点的nat网卡' 1185 CONFIG_PROVISION_DEMO=n '//第1185行 是OpenStack联网下载一个测试镜像,这边没联网。说以改成n' '//开启之前注释的网关#GATEWAY=192.168.11.1' [root@ct ~]# sed -i -r 's/(.+_PW)=.+/\1=123123/' openstack.txt '//将密码修改为123123' [root@ct ~]# sed -i -r 's/192.168.233.100/192.168.11.100/g' openstack.txt '//将节点变成192.168.11.100' [root@ct ~]# grep -vE "^#|^$" openstack.txt >openstackbak.txt '//备份文件' [root@ct ~]# packstack --answer-file=openstack.txt '//开始部署'
-
安装成功的截图
-
查看用户名和密码
[root@ct ~]# ls anaconda-ks.cfg keystonerc_admin openstackbak.txt openstack.txt [root@ct ~]# cat keystonerc_admin unset OS_SERVICE_TOKEN export OS_USERNAME=admin '//用户名' export OS_PASSWORD='123123' '//密码' export OS_AUTH_URL=http://192.168.11.100:5000/v3 export PS1='[\u@\h \W(keystone_admin)]\$ ' export OS_PROJECT_NAME=admin export OS_USER_DOMAIN_NAME=Default export OS_PROJECT_DOMAIN_NAME=Default export OS_IDENTITY_API_VERSION=3
-
登陆网页,测试
2.5:实验成功,谢谢观看!
-
-
三.minio 的分布式部署、单节点多磁盘、多节点模式
2021-08-06 15:44:26分布式Minio可以让你将多块硬盘(甚至在不同的机器上)组成一个对象存储服务。由于硬盘分布在不同的节点上,分布式Minio避免了单点故障。 在大数据领域,通常的设计理念都是无中心和分布式。Minio分布式模式可以...目录
gitee:https://gitee.com/pythonloser/springboot-minio/tree/master
一.minio安装与使用:一.minio安装与使用_xixiyuguang的博客-CSDN博客
二.minio整合springboot、文件上传下载、增删改查bucket和object:二.minio整合springboot、文件上传下载、增删改查bucket和object_xixiyuguang的博客-CSDN博客_minio修改bucket名称
三.minio 的分布式部署、单节点多磁盘、多节点模式:三.minio 的分布式部署、单节点多磁盘、多节点模式_xixiyuguang的博客-CSDN博客_minio多节点
四.minio前端获取签名地址直传minio文件服务器(前端直传):四.minio前端获取签名地址直传minio文件服务器(前端直传)_xixiyuguang的博客-CSDN博客_minio 直传
1.概述
分布式Minio可以让你将多块硬盘(甚至在不同的机器上)组成一个对象存储服务。由于硬盘分布在不同的节点上,分布式Minio避免了单点故障。
在大数据领域,通常的设计理念都是无中心和分布式。Minio分布式模式可以帮助你搭建一个高可用的对象存储服务,你可以使用这些存储设备,而不用考虑其真实物理位置。
数据保护
分布式Minio采用 纠删码来防范多个节点宕机和位衰减bit rot。
分布式Minio至少需要4个硬盘,使用分布式Minio自动引入了纠删码功能。
高可用
单机Minio服务存在单点故障,相反,如果是一个有N块硬盘的分布式Minio,只要有N/2硬盘在线,你的数据就是安全的。不过你需要至少有N/2+1个硬盘来创建新的对象。
例如,一个16节点的Minio集群,每个节点16块硬盘,就算8台服務器宕机,这个集群仍然是可读的,不过你需要9台服務器才能写数据。
注意,只要遵守分布式Minio的限制,你可以组合不同的节点和每个节点几块硬盘。比如,你可以使用2个节点,每个节点4块硬盘,也可以使用4个节点,每个节点两块硬盘,诸如此类。
一致性
Minio在分布式和单机模式下,所有读写操作都严格遵守read-after-write一致性模型。
2.windows分布式部署
2.1单节点多磁盘
2.1.1.创建目录
四个目录模拟四个不同的磁盘。
2.1.2启动脚本
set MINIO_ROOT_USER=admin
set MINIO_ROOT_PASSWORD=12345678
minio.exe server --console-address "127.0.0.1:9000" --address "127.0.0.1:9090" D:\minio\oneNodeManyData\data1 D:\minio\oneNodeManyData\data2 D:\minio\oneNodeManyData\data3 D:\minio\oneNodeManyData\data4
脚本解释:
首先设置临时环境变量,指定登录账号密码
--console-address "127.0.0.1:9000":代表管理页面的ip和端口
--address "127.0.0.1:9090":代表接口的ip和端口
然后跟四个目录
2.1.3测试
创建bucket,上传文件,发现data1、data2中均包含文件夹和文件
查看文件夹中的文件,发现是meta数据,
2.2.多节点
2.2.1目录结构
2.2.2脚本
解释:端口不同,数据盘目录均一致,需要执行四次
9001服务,api9091
set MINIO_ROOT_USER=admin
set MINIO_ROOT_PASSWORD=12345678
minio.exe server --console-address "127.0.0.1:9001" --address "127.0.0.1:9091" ^
http://127.0.0.1:9091/D:/minio/manyNodeManyData/data1 ^
http://127.0.0.1:9092/D:/minio/manyNodeManyData/data2 ^
http://127.0.0.1:9093/D:/minio/manyNodeManyData/data3 ^
http://127.0.0.1:9094/D:/minio/manyNodeManyData/data4
9002服务,api9092
set MINIO_ROOT_USER=admin
set MINIO_ROOT_PASSWORD=12345678
minio.exe server --console-address "127.0.0.1:9002" --address "127.0.0.1:9092" ^
http://127.0.0.1:9091/D:/minio/manyNodeManyData/data1 ^
http://127.0.0.1:9092/D:/minio/manyNodeManyData/data2 ^
http://127.0.0.1:9093/D:/minio/manyNodeManyData/data3 ^
http://127.0.0.1:9094/D:/minio/manyNodeManyData/data4
9003服务,api9093
set MINIO_ROOT_USER=admin
set MINIO_ROOT_PASSWORD=12345678
minio.exe server --console-address "127.0.0.1:9003" --address "127.0.0.1:9093" ^
http://127.0.0.1:9091/D:/minio/manyNodeManyData/data1 ^
http://127.0.0.1:9092/D:/minio/manyNodeManyData/data2 ^
http://127.0.0.1:9093/D:/minio/manyNodeManyData/data3 ^
http://127.0.0.1:9094/D:/minio/manyNodeManyData/data4
9004服务,api9094
set MINIO_ROOT_USER=admin
set MINIO_ROOT_PASSWORD=12345678
minio.exe server --console-address "127.0.0.1:9004" --address "127.0.0.1:9094" ^
http://127.0.0.1:9091/D:/minio/manyNodeManyData/data1 ^
http://127.0.0.1:9092/D:/minio/manyNodeManyData/data2 ^
http://127.0.0.1:9093/D:/minio/manyNodeManyData/data3 ^
http://127.0.0.1:9094/D:/minio/manyNodeManyData/data4
2.2.3启动测试
2.2.4nginx负载均衡
前面单独对每个节点进行访问显然不合理,通过使用 nginx 代理,进行负载均衡则很有必要。简单的配置如下:
server{
listen 8888;
server_name 127.0.0.1;
ignore_invalid_headers off;
client_max_body_size 0;
proxy_buffering off;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
proxy_set_header Host $http_host;
proxy_connect_timeout 300;
proxy_http_version 1.1;
chunked_transfer_encoding off;
proxy_ignore_client_abort on;
proxy_pass http://http_minio;
}
}
2.2.5测试
通过日志可以发现,轮循访问四个不同的节点
3.linux分布式部署
转载:MinIO 的分布式部署 - Mason技术记录 - 博客园
3.1 单节点部署多磁盘
在启动 MinIO 时,若传入参数是多个目录,则会以纠删码的形式运行,即具备高可靠性意义。即在一个服务器(单节点)上对,多个磁盘上运行 MinIO。
运行命令也很简单,参数传入多个目录即可:
MINIO_ACCESS_KEY=${ACCESS_KEY} MINIO_SECRET_KEY=${SECRET_KEY} nohup ${MINIO_HOME}/minio server --address "${MINIO_HOST}:${MINIO_PORT}" /opt/min-data1 /opt/min-data2 /opt/min-data3 /opt/min-data4 > ${MINIO_LOGFILE} 2>&1 &
注意替换命令中的变更,运行后输出信息如下:
可见 MinIO 会创建一个1个 set,set 中有4个 drive ,其中它会提示一个警告,提示一个节点的 set 中存在多于2个的drive,如果节点挂掉,则数据都不可用了,这与 EC 码的规则一致。
3.2 多节点部署
3.2.1 部署脚本
为了防止单点故障,分布式存储自然是需要多节点部署,以达到高可靠和高可用的能力。MinIO 对于多节点的部署,也是在启动时通过指定有 Host 和端口的目录地址,即可实现。下面在单台机器上,通过不同的端口模拟在4台机器节点上运行,存储目录依然是 min-data14,而对应的端口是90019004。脚本如下:
RUNNING_USER=root MINIO_HOME=/opt/minio MINIO_HOST=192.168.222.10 #accesskey and secretkey ACCESS_KEY=minio SECRET_KEY=minio123 for i in {01..04}; do START_CMD="MINIO_ACCESS_KEY=${ACCESS_KEY} MINIO_SECRET_KEY=${SECRET_KEY} nohup ${MINIO_HOME}/minio server --address "${MINIO_HOST}:90${i}" http://${MINIO_HOST}:9001/opt/min-data1 http://${MINIO_HOST}:9002/opt/min-data2 http://${MINIO_HOST}:9003/opt/min-data3 http://${MINIO_HOST}:9004/opt/min-data4 > ${MINIO_HOME}/minio-90${i}.log 2>&1 &" su - ${RUNNING_USER} -c "${START_CMD}" done
本示例中,minio 的启动命令运行了4次,相当于在四台机器节点上都分别运行一个minio实例,从而模拟四个节点。运行结果如下:
查看进程
ps -ef |grep minio
:3.2.2 部署注意点
- 所有运行分布式 MinIO 的节点需要具有相同的访问密钥和秘密密钥才能连接。建议在执行 MINIO 服务器命令之前,将访问密钥作为环境变量,MINIO access key 和 MINIO secret key 导出到所有节点上 。
- Minio 创建4到16个驱动器的擦除编码集。
- Minio 选择最大的 EC 集大小,该集大小除以给定的驱动器总数。 例如,8个驱动器将用作一个大小为8的 EC 集,而不是两个大小为4的 EC 集 。
- 建议所有运行分布式 MinIO 设置的节点都是同构的,即相同的操作系统、相同数量的磁盘和相同的网络互连 。
- 运行分布式 MinIO 实例的服务器时间差不应超过15分钟。
运行起来后,使用
http://${MINIO_HOST}:9001
到http://${MINIO_HOST}:9004
均可以访问到 MinIO 的使用界面。3.2.3 使用 nginx 负载均衡
前面单独对每个节点进行访问显然不合理,通过使用 nginx 代理,进行负载均衡则很有必要。简单的配置如下:
upstream http_minio { server 192.168.222.10:9001; server 192.168.222.10:9002; server 192.168.222.10:9003; server 192.168.222.10:9004; } server{ listen 8888; server_name 192.168.222.10; ignore_invalid_headers off; client_max_body_size 0; proxy_buffering off; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Host $host:$server_port; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; proxy_set_header Host $http_host; proxy_connect_timeout 300; proxy_http_version 1.1; chunked_transfer_encoding off; proxy_ignore_client_abort on; proxy_pass http://http_minio; } }
其中主要是 upstream 及 proxy_pass 的配置。如此,即可使用
http://${MINIO_HOST}:8888
进行访问。 -
Kali Linux之OpenStack部署(1)——单节点部署(超详细,干货 !!)
2021-04-13 19:38:01Kali Linux 之OpenStack单节点部署 OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布...Kali Linux 之OpenStack单节点部署
OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由软件许可证)授权的开源代码项目。
OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。5个OpenStack的重要构成部分:
1.Nova - 计算服务
2.Swift - 存储服务
3.Glance - 镜像服务
4.Keystone - 认证服务
5.Horizon - UI服务OpenStack 基本构架
Keystone、Dashboard与OpenStack 部分交互
参考资料来源:
1. OpenStack百度百科
2. 云计算快速入门之OpenStack及其构成简介
3. C语言中文网——OpenStack是什么?
以上,便是博主对大三下学期《OpenStack云平台部署与高可用》课程做的一个简要的介绍,原本博主是尝试使用Centos7来搭建OpenStack的:
图 为企业老师 提供教程
但在实践的过程中发现,是异常的繁琐的事,卡在最后两步的数据库授权上(在Mysql中也给nova等用户授于过所有使用权限),经管博主也是尽可能的尝试过了一些解决方式,前后重新搭建了4次,均未能解决该问题,如图:
且每次都可能遇到新的报错,合计花费了整整一天半的时间,逐渐的失去耐心,如果有路过的大佬,晓得如何解决该问题的话,欢迎留言讨论,也可私信博主,非常感谢您。
好,废话到此为止,让我们正式步入主题吧,Kali搭建OpenStack。
众所周知,OpenStack是有三种部署模式的,分别是:Single-node, multi-node or data centre cluster(单节点、多节点和数据中心集群部署) 不过,我们在该篇博文中仅介绍Single-node deployment 。
Single‐node deployment 单机安装 :
单节点部署需求:
● 使用基于微堆栈的安装
● 单机所需
● 16 GB或更多内存 (当然,≥4G即可)
● 多核处理器 (如果是pc机,至少分配1个4核CPU,并开启CPU虚拟化技术)
● 50 GB的空闲磁盘空间 (根据个人具体情况分配)
● Kali Linux 2018.4或更高版本
(Ubuntu则选18.04 LTS或更高版本)● 包括所有关键的OpenStack组件
● 与上游完全兼容
● 支持开发迭代
若想在工作站上尝试OpenStack或将它用于开发目的,推荐如上配置,这样才能将能够执行所有基本操作(例如上传图像、创建网络、启动实例等)。
若为虚拟机搭建,例图:
博主建议网络桥接,如图是博主的kali虚拟机配置。
如果博友Kali系统版本过低,可执行如下命令进行在线升级:# apt-get update && apt-get upgrade -y
再执行:
# apt-get dist-upgrade -y
博主的搭建环境如下:
CPU虚拟化技术:相信,已经使用vmware虚拟机的你早已在bios中打开了CPU虚拟化支持 如果是Intel的CPU应在bois中激活Intel Virtual Technology项来开启,若是AMD的CPU则激活SVM Mode项来激活, 具体请根据你电脑型号百度查询完成。
在Vmware虚拟机中,在虚拟机设置中处理器下虚拟化引擎开启:选择 虚拟化Intel VT-x/EPT 或 AMD-V/RVI(V) 项
Kali中执行查询命令:
# cat /proc/cpuinfo
在 flags查看,有SVM或VMX则表明已开启CPU虚拟化技术。
# egrep '(vmx|svm)' --color=always /proc/cpuinfo
注:
SVM:AMD的虚拟化技术AMD-V/RVI(V)
VMK:是Intel的虚拟化技术Intel VT-x/EPT
Snap包管理安装MicroStack
snap是一款很强大的包管理器,我们用snap来安装OpenStack将会非常的方便!!倘若有朋友对snap尚不了解的话,可以阅读博主的另一篇博文,进一步学习了解:《Kali之snpa包管理器 》
Kali中还未有snap包管理器的朋友,如下执行:
# apt install -y snapd # 安装 # systemctl enable snapd.service # systemctl restart snapd.service # 开启snpa包管理服务 # echo "export PATH=$PATH:/snap/bin" >> ~/.bashrc # 利用重定向写入环境变量中 # source ~/.bashrc # 执行生效命令
安装MicroStack
或许会有朋友困惑了,不是说OpenStack么,和MicroStack有什么关系呢?别着急,帅气又细心的博主已为你备好了解答:
$ sudo snap install microstack --beta --devmode
注:安装了带有–devmode标志将不会接收更新。
microstack (beta) ussuri from Canonical✓ installed 译文:显示的版本(在这里,Ussuri)与MicroStack提供的最新的稳定OpenStack版本相匹配。
返回如上英文信息,表明安装成功!
重启snap包管理器:
# systemctl restart snapd.service
初始化MicroStack
在使用OpenStack安装之前,必须对其进行初始化,以便配置网络和数据库。 为此,请运行:
# sudo snap run microstack init --auto --control # 手敲 WARNING: cgroup v2 is not fully supported yet, proceeding with partial confinement 2021-04-14 12:39:26,896 - microstack_init - INFO - Configuring clustering ... 2021-04-14 12:39:26,972 - microstack_init - INFO - Setting up as a control node. ...... -04-14 12:46:08,430 - microstack_init - INFO - Complete. Marked microstack as initialized!
出现 Marked microstack as initialized! 的执行消息,则表明OpenStack正在本地运行了,可以使用了!
MicroStack交互
可通过WebGUI或CLI与OpenStack进行交互
WebGUI与OpenStack交互:访问http://10.20.20.1/,admin是登陆用户名,执行密码获取,获取登陆密码:
$ sudo snap get microstack config.credentials.keystone-password
OpenStack仪表板:
可以开始使用本地私有云(即创建其他用户、启动实例等)了。
CLI与OpenStack交互:
还可以通过CLI与OpenStack进行交互,方法是使用 microstack.openstack命令 。微堆栈CLI语法与Python-openstackclient包裹。
例如,要列出可用的OpenStack端点,请运行:
$ sudo snap run microstack.openstack catalog list
microstack返回列表:
WARNING: cgroup v2 is not fully supported yet, proceeding with partial confinement +-----------+-----------+----------------------------------------------------------------------------+ | Name | Type | Endpoints | +-----------+-----------+----------------------------------------------------------------------------+ | nova | compute | microstack | | | | public: http://192.168.43.190:8774/v2.1 | | | | microstack | | | | internal: http://192.168.43.190:8774/v2.1 | | | | microstack | | | | admin: http://192.168.43.190:8774/v2.1 | | | | | | cinderv3 | volumev3 | microstack | | | | admin: http://192.168.43.190:8776/v3/3840ab8c3aac4e7d8d1309dc565e9db3 | | | | microstack | | | | internal: http://192.168.43.190:8776/v3/3840ab8c3aac4e7d8d1309dc565e9db3 | | | | microstack | | | | public: http://192.168.43.190:8776/v3/3840ab8c3aac4e7d8d1309dc565e9db3 | | | | | | cinderv2 | volumev2 | microstack | | | | public: http://192.168.43.190:8776/v2/3840ab8c3aac4e7d8d1309dc565e9db3 | | | | microstack | | | | admin: http://192.168.43.190:8776/v2/3840ab8c3aac4e7d8d1309dc565e9db3 | | | | microstack | | | | internal: http://192.168.43.190:8776/v2/3840ab8c3aac4e7d8d1309dc565e9db3 | | | | | | keystone | identity | microstack | | | | admin: http://192.168.43.190:5000/v3/ | | | | microstack | | | | internal: http://192.168.43.190:5000/v3/ | | | | microstack | | | | public: http://192.168.43.190:5000/v3/ | | | | | | glance | image | microstack | | | | public: http://192.168.43.190:9292 | | | | microstack | | | | internal: http://192.168.43.190:9292 | | | | microstack | | | | admin: http://192.168.43.190:9292 | | | | | | neutron | network | microstack | | | | public: http://192.168.43.190:9696 | | | | microstack | | | | admin: http://192.168.43.190:9696 | | | | microstack | | | | internal: http://192.168.43.190:9696 | | | | | | placement | placement | microstack | | | | internal: http://192.168.43.190:8778 | | | | microstack | | | | admin: http://192.168.43.190:8778 | | | | microstack | | | | public: http://192.168.43.190:8778 | | | | | +-----------+-----------+----------------------------------------------------------------------------+
更多命令可通过help查询:microstack.openstack --help
启动实例:
启动第一个OpenStack实例(或VM)的最快方法是运行以下命令:
$ sudo snap run microstack launch cirros --name xyl # "xyl"为你创建项目名
向实例提供SSH所需的信息:
WARNING: cgroup v2 is not fully supported yet, proceeding with partial confinement Launching server ... Allocating floating ip ... Server xyl launched! (status is BUILD) Access it with `ssh -i /home/root/snap/microstack/common/.ssh/id_microstack cirros@10.20.20.43` You can also visit the OpenStack dashboard at http://10.20.20.1:80
值得注意的是ip地址会根据你的环境而不同。接下来ssh连接实例,执行命令:
# ssh -i /home/root/snap/microstack/common/.ssh/id_microstack cirros@10.20.20.43
连接到OpenStack集群上后就可以执行各种命令干活了,例如:
uptime 14:51:42 up 4 min, 1 users, load average: 0.00, 0.00, 0.00
当断开连接时执行:exit。
当然也可在Web GUI 的"Instances"项中查看,登陆Http://10.20.20.1/地址:
好了,到此为止,我们Kali Linux的OpenStack单节点部署和简单使用教程就告一段落了,希望对你有帮助!
-
minio单节点部署 minio分布式部署 傻瓜式部署过程 (一)
2021-03-05 11:30:56现有一需求需要接入存储系统,经过初步的调研,决定选择minio,下面是minio的简单部署过程,亲测没问题。 一、准备工作:安装docker,学习docker相关知识,学习磁盘挂载 S1:安装依赖工具包 yum install -y ... -
区块链开发笔记七:以太坊多节点同步部署(以挖矿节点为例)
2019-04-02 18:04:11多台(两台及以上)虚拟机 :CentOS 7 64位 Ubuntu16.04 64位 以太坊客户端工具已安装或者源码已编译 若没有,请参考一下链接: 区块链开发笔记五:以太坊源码编译及环境搭建 区块链开发笔记一:以太坊自动化... -
OpenStack多节点部署
2013-07-17 15:44:08OpenStack多节点部署(一)——服务器选型 服务器的选型在类似于我们这样的非互联网类的传统公司也会成为一个很大的问题。以为之前并没有相关大规模服务器部署的经验,而且在采购等等环节受制于国企的一些制度和... -
ceph单节点安装部署
2021-02-04 21:22:09按照正常的ceph部署,需要多个节点来部署, 每个节点多块盘。但是,对于本地虚拟机来讲,除非有一定的需要,否则并不合适。如果我只是想熟悉ceph的一些命令,显然,从一个单节点入手更加便捷。况且,如果机器配置... -
Devstack部署多节点Openstack(转)
2017-04-16 22:02:47e、在安装部署openstack的时候stack用户会修改很多系统的操作,这样我们需要stack用户拥有sudo到root并且无需输入密码的特权。 echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers f、从这里开始使用stack用户... -
部署单节点OpenStack
2020-02-20 23:49:16用户只需要提供简单的配置参数和模板,如版本信息(CDH 版本)、集群拓扑(几个 Slave、几个 Datanode)、节点配置信息(CPU、内存)等,Sahara 服务就能够在几分钟内根据提供的模板快速 部署 Hadoop、Spark 及 ... -
云原生入门之K8S主节点部署问题处理
2022-03-06 16:06:381、使用kubeadm init进行主节点初始化时,无法找到镜像的解决办法: -image-repository=registry.aliyuncs.com/google_containers 2、关于docker和kubelet的cgroupfs不一致的解决方案: 修改docker配置文件:【修改... -
packstack新手快速入门多节点部署
2019-04-27 18:17:36很多新手在入门OpenStack时往往会被复杂的部署步骤所困扰,如何快速拥有一个openstack实验环境呢,我选择packstack,虽然是上古年间的工具,但是不得不说,真香~~~1、实验环境注意:环境是VMware虚拟机搭建的,ens33... -
OpenStack多节点部署(一)——服务器选型
2013-01-31 14:20:11OpenStack多节点部署(一)——服务器选型 OpenStack多节点部署(二)——操作系统安装 OpenStack多节点部署(三)——网络配置 OpenStack多节点部署(四)——KeyStone OpenStack多节点部署(五)——Nova ... -
一步步实现SDDC-双节点VSAN部署
2020-01-30 00:07:35ROBO VSAN部署(双节点VSAN) [难度★★复杂度★★] 正文: 在上一篇文章中,我们利用VMware vSphere Auto Deploy技术,完成迷你SDDC环境中,所有ESXI服务器的自动安装与配置部署。 经过多个演示,相信各位已经... -
ElasticSearch 单机多节点部署(伪集群)
2018-10-18 17:38:41引言: 最近在做一个搜索引擎相关的功能接口,在自己对技术的追求与热爱以及了解下,决定利用elasticSearch去实现该接口搜索功能...它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch... -
HECO部署节点记录
2021-03-19 08:46:17HECO部署节点记录 高洪涛 2021-03-18 本文记录了火币链部署主网节点/测试网节点/私链节点的全过程,并经过MetaMask测试运行OK,是摸索出来的一份实践资料。本文内容: 服务器环境:go安装, geth源码编译 测试... -
Linux(centos7)如何部署ElasticSearch7.6.2单节点跟集群(es部署指南)
2022-04-29 13:47:56原创Linux(centos7)部署ElasticSearch7.6.2集群跟单点,简称es部署指南 -
在一台服务器部署多个elasticsearche节点
2016-10-21 17:27:13之前已在一台服务器上部署了elasticsearch,今天想着尝试elasticsearch的分布式,但受限于硬件资源(手头上只有一台服务器),所以就想着在一台服务器上部署多个结点(下文以2个结点作为例子)。 1、首先将已... -
docker容器中快速部署ES集群的详细操作步骤(6个节点)
2022-01-26 09:19:37他不需要依赖其他的服务发现和注册的组件,如zookeeper这些,因为他内置了一个名字叫ZenDiscovery的模块,是ElasticSearch自己实现的一套用于节点发现和选主等功能的组件,所以ElasticSearch做起集群来非常简单,不... -
openstack安装部署5——计算服务(控制节点&计算节点)
2016-10-11 11:45:181.前言Openstack计算服务通过认证服务获取认证;通过镜像服务获取镜像;通过仪表盘提供的用户界面与用户交互。镜像的存取受工程和用户的限制,配额受工程的限制(例如不同工程允许虚拟机实例数量不同)。Openstack... -
Devstack多节点部署实验
2016-07-17 02:50:23这是个在多物理服务器上部署openstack例子:1 先决条件Linux&网络1.1 最小化安装系统你需要一个刚安装好的Linux系统。你可以直接下载最小化的Ubuntu版本,devstack会下载安装所有额外的依赖关系。同样也支持网络安装... -
K8S的单节点部署
2020-10-29 14:39:51部署前准备(需要root账号) 节点主机名唯一,建议写入/etc/hosts 禁止swap分区 关闭防火墙 root@haishu:/home/haishu# hostnamectl set-hostname k8s-master root@haishu:/home/haishu# tail /etc/hosts 127.0.1.1 ... -
在阿里云进行Fabric的多机部署需要注意的几个坑
2018-06-28 20:22:25从这篇博客中可以看到深蓝所用的5个节点时同一局域网下的几个,和利用阿里云服务器进行多机部署有几个地方需要注意。1. Fabric源码的版本不同会导致后面各种报错(例如orderer无法启动),直接通过git下载下来的会是... -
在单机上使用Kubeadm-dind 部署多节点k8s集群
2018-09-03 11:50:16近几年Google的Kubernetes(简称k8s)已经成为分布式容器编排和管理领域事实上的标准,在基于...为了满足用户尝试和使用的便利性需要,可以使用两种方法在一个单机环境下(物理机或者虚拟机)部署一个k8s环境: ... -
BitShares 2.0 多节点私链部署
2018-05-16 21:27:32本文基于的BitShares的版本为:BitShares Core Release 2.0.180425 本文基于的操作系统为: Ubuntu ...本人使用普通非SSD硬盘,经测试,编译BitShares全节点程序至少需要8G RAM,而运行全节点程序至少需要 RAM... -
Devstack 多节点自动化部署
2016-07-17 22:03:52本文为minxihou的翻译文章,转载请注明出处Bob Hou: ...这是个在多物理服务器上部署openstack例子:目录目录 先决条件Linux网络 1 最小化安装系统 2 网络配置 安装shake和bake 1 添加devstack用户 -
k8s(kubernetes)部署nacos(3各节点....N各节点均可以)集群
2020-12-06 14:13:31先两名目标:在K8s集群中搭建3个nacos服务,构成高可用集群。 给出官方的文档,地址,根据这个方式大致可以搭建出来,但是有些细节他上面没有。下面不如正题。 官方链接:... -
Hbase集群部署(三个节点)
2019-11-25 14:02:10– 利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理 HBase中的海量数据,利用Zookeeper作为其分布式协同服务 – 主要用来存储非结构化和半结构化的松散数据(列存NoSQL数据库) Hbase的架构图如下所示... -
华为云contos7系统部署ES集群--3个主节点
2022-01-20 11:34:18一个ElasticSearch集群由一个或多个节点(Node)组成,每个集群都有一个共同的集群名称作为标识。Node节点 一个ElasticSearch实例即一个Node,一台机器可以有多个实例,正常使用下每个实例应该会部署在不同机器上... -
FISCO BCOS多机部署之单群组双机构双节点组网模式
2020-07-22 00:05:25那么每台机子下一个机构生成一个节点,两个连一块,即:双机构双节点单群组。 这样就不能使用官方的一键螺旋快乐飞天脚本了: 使用generator运维部署工具, 于是就出现了问题(基地爆炸,问题不大)。 1.下载安装...