1. 提前准备一台linux服务器
1.1 安装docker
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
sudo yum makecache fast
sudo yum -y install docker-ce
sudo service docker start
yum -y install bash-completion
source /usr/share/bash-completion/bash_completion
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://71pyztzw.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
1.2 安装docker-compose
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
1.3 安装mysqll
docker pull mysql:5.7
docker run -p 3306:3306 --name mmaster -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
docker pull mysql:5.7
docker run -p 3306:3306 --name mmaster -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
docker exec -it mmaster /bin/bash
cd /etc/mysqlmysql -uroot -p123456
cat >> my.cnf << EOF
[mysqld]
server-id=1
log-bin=mysql-bin
EOF
mysql -uroot -p123456
CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';
service mysql restart
docker start mmaster
docker exec -it mmaster /bin/bash
mysql -uroot -p123456
show master status;
docker run -p 3307:3306 --name mmslave -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mmaster
docker exec -it mmslave /bin/bash
cd /etc/mysql
tee >> my.cnf << EOF
[mysqld]
server-id=101
log-bin=mysql-slave-bin
relay_log=edu-mysql-relay-bin
EOF
service mysql restart
docker exec -it mmslave /bin/bash
mysql -uroot -p123456
change master to master_host='主数据库ip', master_user='slave', master_password='123456', master_port=3306, master_log_file='主数据库获取binlog', master_log_pos= 主数据库获取的position, master_connect_retry=30;
start slave;
show slave status \G;
1.4 安装elasticsearch和kibana
docker pull elasticsearch:7.4.2
docker run -d --name es -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" elasticsearch:7.4.2
docker exec -it es bash ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip
docker exec -it es /bin/bash
cat >> config/elasticsearch.yml << EOF
http.cors.enabled: true
http.cors.allow-origin: "*"
xpack.security.enabled: true
EOF
./bin/elasticsearch-setup-passwords interactive
exit
docker restart es
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' es
docker pull kibana:7.4.2
docker run -d --name kibana -p 5601:5601 kibana:7.4.2
docker exec -it kibana /bin/bash
cd config
vi kibana.yml
elasticsearch.hosts: [ "http://修改成上边获取的es的ip" ]
elasticsearch.username: "elastic"
elasticsearch.password: "abcde123"
docker restart kibana
1.5 安装emqx
docker run -d --name emqx -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx
访问地址:http://服务器IP:18083
默认用户名:admin
默认密码:public
1.6 安装influxdb
mkdir -p /mydata/influxdb
cd
cat >> /mydata/influxdb/docker-compose.yml << EOF
version: "3"
services:
influxdb:
image: influxdb:1.8
container_name: influxdb_1.8
environment:
- INFLUXDB_DB=db0
- INFLUXDB_ADMIN_ENABLED=true
- INFLUXDB_ADMIN_USER=admin
- INFLUXDB_ADMIN_PASSWORD=123456
volumes:
- /rssp/code/docker-influx-1.8/config:/etc/influxdb:rw
- /rssp/code/docker-influx-1.8/data:/var/lib/influxdb/data
- /rssp/code/docker-influx-1.8/meta:/var/lib/indluxdb/meta
- /rssp/code/docker-influx-1.8/wal:/var/lib/indluxdb/wal
- /rssp/code/docker-influx-1.8/backup/bin:/home/backup
- /rssp/code/docker-influx-1.8/backup/data:/tmp/backup/data
- /rssp/code/docker-influx-1.8/backup/gz:/tmp/backup/gz
- /etc/localtime:/etc/localtime:ro
ports:
- "9086:8086"
restart: always
EOF
docker-compose up -d
1.7 安装redis
docker pull redis
docker run -d --name redis -p 6378:6379 redis --requirepass 123456