# spring-cloud-demo **Repository Path**: potterCoding/spring-cloud-demo ## Basic Information - **Project Name**: spring-cloud-demo - **Description**: spring cloud alibaba的常用组件学习 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-12-07 - **Last Updated**: 2023-07-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # spring-cloud-demo ### 介绍 spring cloud的常用组件学习,开发软件环境基于Linux环境,docker部署相关环境依赖请参考: https://macrozheng.github.io/mall-learning/#/deploy/mall_deploy_docker ### Docker环境安装 1. 安装yum-utils: `yum install -y yum-utils device-mapper-persistent-data lvm2` 2. 为yum源添加docker仓库位置: `yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo` 3. 安装docker: `yum install docker-ce` 4. 启动docker: `systemctl start docker` ### MySQL安装 1. 下载MySQL5.7的docker镜像: `docker pull mysql:5.7` 2. 使用如下命令启动MySQL服务: ```shell script docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7 ``` 3. 参数说明 + -p 3306:3306:将容器的3306端口映射到主机的3306端口 + -v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂在到主机 + -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机 + -v /mydata/mysql/data:/var/lib/mysql/:将数据文件夹挂载到主机 + -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码 4. 进入运行MySQL的docker容器 `docker exec -it mysql /bin/bash` 5. 使用MySQL命令打开客户端: `mysql -uroot -proot --default-character-set=utf8` 6. 创建employee_db、toilet_db数据库: ```mysql create database employee_db character set utf8mb4; create database toilet_db character set utf8mb4; ``` 7. 安装上传下载插件,将script/sql目录下的sql脚本上传到Linux服务器上: `yum -y install lrzsz` 8. 将sql脚本文件拷贝到mysql容器的/目录下: `docker cp /mydata/employee_activity.sql mysql:/` `docker cp /mydata/toilet.sql mysql:/` 9. 将sql文件导入到数据库: ```bash use employee_db; source /employee_activity.sql; use toilet_db; source /toilet.sql; ``` 10. 创建一个reader:123456帐号并修改权限,使得任何ip都能访问: ```mysql grant all privileges on *.* to 'reader' @'%' identified by '123456'; ``` ### Redis安装 1. 下载Redis5.0的docker镜像: ```bash docker pull redis:5 ``` 2. 使用如下命令启动Redis服务: ```bash docker run -p 6379:6379 --name redis \ -v /mydata/redis/data:/data \ -d redis:5 redis-server --appendonly yes ``` 3. 进入Redis容器使用redis-cli命令进行连接: `docker exec -it redis redis-cli` ### 安装ELK #### 安装 Elasticsearch 1. 拉取镜像:`docker pull elasticsearch:7.14.2` 2. 使用如下命令启动Elasticsearch服务: ```bash docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \ -e "discovery.type=single-node" \ -e "cluster.name=elasticsearch" \ -v /Users/luckysun/mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -v /Users/luckysun/mydata/elasticsearch/data:/usr/share/elasticsearch/data \ -d elasticsearch:7.14.2 ``` 3. 安装中文分词器IKAnalyzer,并重新启动 ```bash docker exec -it elasticsearch /bin/bash #此命令需要在容器中运行 elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.14.2/elasticsearch-analysis-ik-7.14.2.zip #退出容器后重新启动elasticsearch docker restart elasticsearch ``` 4. 访问会返回版本信息:http://localhost:9200 #### 安装 Logstash 1. 下载Logstash7.14.2的docker镜像:`docker pull logstash:7.14.2` 2. 在/Users/luckysun/mydata目录下创建logstash文件夹,将项目script文件夹下的logstash.conf拷贝到该目录 3. 使用如下命令启动Logstash服务; ```bash docker run --name logstash -p 4560:4560 \ --link elasticsearch:es \ -v /Users/luckysun/mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \ -d logstash:7.14.2 ``` 4. 进入容器内部,安装json_lines插件。 ```bash logstash-plugin install logstash-codec-json_lines ``` #### 安装 Kibana 1. 下载Kibana7.14.2的docker镜像:`docker pull kibana:7.14.2` 2. 使用如下命令启动Kibana服务: ```bash docker run --name kibana -p 5601:5601 \ --link elasticsearch:es \ -e "elasticsearch.hosts=http://es:9200" \ -d kibana:7.14.2 ```