内网环境centos离线部署tidb5.1.1过程记录

1.操作系统准备

  安装centos 7.3以上操作系统,安装完以后关闭防火墙服务,禁用防火墙服务,确保这三台机器的root用户密码完全一致,确保SSH在默认的22端口,配置这些机器都开启ntp校时,并配置同一个授时源,关闭内存交换

  yum install numactl

  systemctl stop firewalld

  systemctl disable firewalld  

  

echo "vm.swappiness = 0">> /etc/sysctl.conf
swapoff -a && swapon -a
sysctl -p

  分别编辑三台机器的/etc/hostname文件,修改里面的机器名称,我这里是分别改为了tidb01.localdomain/tidb02.localdomain/tidb03.localdomain

1.1 修改大页面设置为按需开启

sudo echo madvise | sudo tee /sys/kernel/mm/transparent_hugepage/enabled

执行cat /sys/kernel/mm/transparent_hugepage/enabled后显示

always [madvise] never 就对了,如果中括号在[always]上面显示就不对。

1.2 复制从tidb官网下载的tidb-community-server-v5.1.1-linux-amd64.tar到中控机器上面

tar -zxvf tidb-community-server-v5.1.1-linux-amd64.tar 进行解压缩

我这里解压缩以后的路径是/data/tidb-community-server-v5.1.1-linux-amd64

进入解压缩以后的目录,执行local_install.sh

cd /data/tidb-community-server-v5.1.1-linux-amd64

sh local_install.sh

内网环境centos离线部署tidb5.1.1过程记录_第1张图片

执行完以上命令后执行 source /root/.bash_profile 让新加入$PATH的环境变量生效,或者重启一下机器也行。

1.3 配置自动部署配置文件

cd /data

vi topology.yaml

global:
  user: "tidb"
  ssh_port: 22
  deploy_dir: "/data/tidb-deploy"
  data_dir: "/data/tidb-data"
server_configs: {}
pd_servers:
  - host: 10.1.1.31
  - host: 10.1.1.32
  - host: 10.1.1.33
tidb_servers:
  - host: 10.1.1.31
  - host: 10.1.1.32
  - host: 10.1.1.33
tikv_servers:
  - host: 10.1.1.31
  - host: 10.1.1.32
  - host: 10.1.1.33

tiflash_servers:
  - host: 10.1.1.32
    data_dir: /data/tidb-data/tiflash-9000
    deploy_dir: /data/tidb-deploy/tiflash-9000

monitoring_servers:
  - host: 10.1.1.31
grafana_servers:
  - host: 10.1.1.32
alertmanager_servers:
  - host: 10.1.1.33

我这里是测试环境,一共就三台机器,ip是10.1.1.31-33,所有的东西都安装到这三台机器里面了。

配置文件写好以后,执行

tiup cluster check ./topology.yaml --apply --user root -p 
输入这三台机器共用的root用户密码后

内网环境centos离线部署tidb5.1.1过程记录_第2张图片

 内网环境centos离线部署tidb5.1.1过程记录_第3张图片

内网环境centos离线部署tidb5.1.1过程记录_第4张图片

 最后出现三个绿色的done done done就可以了,因为我的测试环境没有关SELinux,和其他机器的防火墙,所以上面出现了很多红色的信息,不过看起来tiup都已经自动修复好了。

把上一条命令里面的check改成deploy,去掉--apply开始进行真正的程序部署安装

tiup cluster deploy tidb v5.1.1 ./topology.yaml --user root -p

内网环境centos离线部署tidb5.1.1过程记录_第5张图片

 内网环境centos离线部署tidb5.1.1过程记录_第6张图片

 根据屏幕提示,输入

tiup cluster start tidb启动数据库

内网环境centos离线部署tidb5.1.1过程记录_第7张图片

 这样数据库就启动成功了

输入tiup cluster dispaly tidb 查看数据库运行情况如下图

内网环境centos离线部署tidb5.1.1过程记录_第8张图片

 开浏览器访问http://10.1.1.32:2379/dashboard,密码默认为空后可看到tidb dashboard

内网环境centos离线部署tidb5.1.1过程记录_第9张图片

 开navicat等数据库管理工具软件,连接集群的10.1.1.31 的4000端口,用户名root,密码空即可开始应用。

update

实践是检验真理的唯一标准,实际用postgresql 11.5和tidb 5.1.1做查询对比

with tmp as (
  select * from xxx where create_time<='2015010100000000'
)
select orgid,count(0) from tmp group by orgid

 这个查询够简单了吧,pg11 返回结果的时间是4.106秒,tidb 5.1.1返回结果的时间是194.545s,差了47.38倍

把SQL改成下面这样

select orgid,count(0) from xxx where create_time<='2015010100000000' group by orgid

 tidb 返回数据的时间变成了0.997s,pg 是0.627s,tidb还是没能干的过pg。

再搞个带有窗口函数的查询试试,SQL语句如下:

WITH RECURSIVE T AS (
	SELECT
		a.*
	FROM
		org_info A 
	WHERE
		A.org_status = 1 
		AND ( A.org_id = '1202--' ) UNION ALL
	SELECT
		dd.*		
	FROM
		org_info dd
		JOIN T cc ON dd.org_parent_id = cc.org_id 
	WHERE
		dd.org_status = 1 
	) 
SELECT
  aa.org_id,
	max(aa.org_name) as org_name,
	sum(case biaozhi when '1' then 1 else 0 end ) as count_1,
	sum(case biaozhi when '2' then 1 else 0 end ) as count_2	
FROM
	T aa inner join xxx b on aa.org_id=b.orgid
WHERE
	aa.org_status = 1 and b.create_time<='20151201000000000' and b.actflag<'4'  group by aa.org_id order by aa.org_id
	

上面的org_info表里面存的是组织机构信息,通过org_parent_id和上级org_id进行树状关联,实地测试tidb执行时间0.619s,PG11执行时间1.480s,tidb比pg11快2倍左右。

你可能感兴趣的:(IT技术相关,tidb内网部署,tidb)