Skip to content

Instantly share code, notes, and snippets.

@riskers
Last active December 9, 2023 17:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save riskers/885863dfa152c4d3950873e4d35081c2 to your computer and use it in GitHub Desktop.
Save riskers/885863dfa152c4d3950873e4d35081c2 to your computer and use it in GitHub Desktop.
Installing development software by Docker and brew
docker run -d --name clickhouse-server --ulimit nofile=262144:262144 -p 8123:8123 -p 9000:9000 -p 9009:9009 --privileged=true -v ~/db/clickhouse/log:/var/log/clickhouse-server -v ~/db/clickhouse/data:/var/lib/clickhouse clickhouse/clickhouse-server:22.1.4.30

然后 http://localhost:8123 验证.

使用客户端:

> docker exec -it clickhouse-server /bin/bash
> clickhouse-client
# show databases;
  1. zk 容器
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
  1. Kafka 集群
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=10.231.96.33:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.231.96.33:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka

docker run -d --name kafka1 -p 9093:9093 -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=10.231.96.33:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.231.96.33:9093 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 -t wurstmeister/kafka

docker run -d --name kafka2 -p 9094:9094 -e KAFKA_BROKER_ID=2 -e KAFKA_ZOOKEEPER_CONNECT=10.231.96.33:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.231.96.33:9094 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9094 -t wurstmeister/kafka

需要改变的是:容器 name、端口、brokerId、以及 IP:

KAFKA_BROKER_ID=0

KAFKA_ZOOKEEPER_CONNECT=10.231.96.33:2181

KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.231.96.33:9092

KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092

192.168.0.102 是宿主机器的 IP,需要自己改变,可以通过 ifconfig en0 获得:

  1. 测试 Kafka 集群
# 进入 Kafka 容器
docker exec -ti kafka /bin/bash

# 创建 topic 这里 ip 要和上面对应
kafka-topics.sh --create --zookeeper 10.231.96.33:2181 --replication-factor 2 --partitions 2 --topic partopic

# 查看 topic 状态
kafka-topics.sh --describe --zookeeper 10.231.96.33:2181 --topic partopic
  1. kafka-manger GUI 管理集群:
docker run -itd --restart=always --name=kafka-manager -p 9000:9000 -e ZK_HOSTS="10.231.96.33:2181" kafkamanager/kafka-manager

填入 ZK 地址


> docker run --name mongo -p 27017:27017 -v ~/db/mongo/db:/data/db -v ~/db/mongo/conf:/data/configdb -v ~/db/mongo/back:/data/backup -d mongo

这里相当于没有设置权限,在 Studio 3T 中要把权限去掉:

image

docker exec -it mongo /bin/bash

单机

MySQL 5.7

docker run --name mysql -v ~/db/mysql/data:/var/lib/mysql -v ~/db/mysql/conf/master/conf/my.cnf:/etc/mysql/my.cnf -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Gaoyibo199100 -d mysql:5.7

my.cnf:

[mysqld]
server-id = 1
log-bin= mysql-bin
read-only=0
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
binlog_format=mixed

MySQL 8

> docker run --name mysql8 -v ~/db/mysql8/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Gaoyibo199100 -p3306:3306 -d mysql:8.0

集群

https://github.com/riskers/mysql-cluster

https://github.com/alibaba/nacos#quick-start


直接下载安装包

> sh ./bin/startup.sh -m standalone

Docker Install

> docker run --name nacos-standalone -e MODE=standalone -e PREFER_HOST_MODE=hostname -p 8848:8848 -p 9848:9848  -d nacos/nacos-server

2021.11.22 使用的 version 是 2.0.3

> docker run --name postgres -e POSTGRES_PASSWORD=123456 -p 5432:5432 -v ~/db/psotgres:/var/lib/postgresql/data -d postgres
>  docker run -it --name rabbitmq -p 5672:5672 -p 15672:15672 -d rabbitmq:3.10-management

然后本地进入 http://localhost:15672 ,帐号密码都是 guest

手动安装

  1. 下载 http://rocketmq.apache.org/dowloading/releases/

  2. 解压

  3. 修改配置

    • runserver.sh: JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m" 改为 1G
    • runbroker.sh: 同上
  4. 启动

    • NameServer: nohup sh bin/mqnamesrv &
    • Broker: nohup sh bin/mqbroker -n localhost:9876 &
  5. 查看启动日志

  • tail -f ~/logs/rocketmqlogs/namesrv.log
  • tail -f ~/logs/rocketmqlogs/broker.log
  1. 关闭
  • NameServer: sh bin/mqshutdown namesrv
  • broker: sh bin/mqshutdown broker
  1. 测试
export NAMESRV_ADDR=localhost:9876

# 生产消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

# 消费消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

Docker

https://github.com/riskers/rocketmq-cluster/

https://github.com/riskers/docker-sentinel


> docker run --name sentinel -p 8280:8280 -e JAVA_OPT="-Dserver.port=8280 -Dcsp.sentinel.dashboard.server=localhost:8719 -Dproject.name=sentinel-dashboard" -d riskers/sentinel:1.8.2

Java 客户端启动项目添加 VM options : -Dcsp.sentinel.dashboard.server=localhost:8280 -Dcsp.sentinel.api.port=8719

brew install tomcat

# 运行
catalina run

配置文件 server.xml:

# zookeeper 3.4.14 能够 JAVA8 往上就要 JAVA9
docker run --name zookeeper -v ~/db/zookeeper/data:/data -v ~/db/zookeeper/datalog:/datalog -v ~/db/zookeeper/logs:/logs -p 2181:2181 -d zookeeper:3.4.14
@riskers
Copy link
Author

riskers commented Dec 9, 2023

不用在设备上配置这些环境了,因为现在这样还有问题:多个项目里依赖的 Zookeeper 不一样怎么办?要么用到的时候 docker 启动,但还是太麻烦!

在有了 DevContainer 之后,可以把这些东西都忘记了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment