搭建java相关环境

ubuntu22下安装docker

  1. 安装https传输软件包以及CA证书
# 安装https传输软件包以及CA证书
sudo apt-get update
sudo apt-get install \
     apt-transport-https \
     ca-certificates \	
     curl \
     gnupg \
     lsb-release
# ca-certificates 包含一组根证书,用于验证远程服务器的身份
  1. 添加软件源的GPG密钥
# 添加软件源的GPG密钥
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  1. 向 sources.list 中添加 Docker 软件源
echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. 安装docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
  1. 启动docker
sudo systemctl enable docker
sudo systemctl start docker

安装es相关

参考:https://cloud.tencent.com/developer/article/2353806

安装elasticsearch

1 elasticsearch安装版本

这里采用的版本为7.12.1

2 网络创建

高版本安装Kibana的时候需要和ElasticSearch在同一网段内,所以采用docker安装首先要确认网段,为了方便操作,我们直接创建一个网络,创建脚本如下:

docker network create elastic-net

可以通过下面的命令查看创建的网络:

# readonly
pony@pony-PC:~$ sudo docker network ls
NETWORK ID     NAME          DRIVER    SCOPE
dc8828e9fa35   bridge        bridge    local
3b24b9a08736   elastic-net   bridge    local
c8c7a7517264   host          host      local
d02b4e7d2381   none          null      local
3 安装elasticsearch
#-v es-data:/usr/share/elasticsearch/data \
#-v es-plugins:/usr/share/elasticsearch/plugins \
docker run -d \
	--name elasticsearch \
    -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
    -e "discovery.type=single-node" \
    --privileged \
    --network elastic-net \
    --restart=always \
    -p 9200:9200 \
    -p 9300:9300 \
	elasticsearch:7.12.1

todo

其中两个 -v,因为没有实现创建 es-data\es-plugins\,所以其实并没有挂载上

安装完成后,在浏览器中输入 http://172.26.116.67:9200 即可看到 elasticseach 的相应结果

安装Kibana

docker run -d \
	--name kibana \
	-e ELASTICSEARCH_HOSTS=http://elasticsearch:9200 \
	--network elastic-net \
	--restart=always \
	-p 5601:5601  \
	kibana:7.12.1
# -e ELASTICSEARCH_HOSTS=http://172.26.116.67:9200 的意思是设置elasticsearch的地址

一定要注意-e ELASTICSEARCH_HOSTS=http://elasticsearch:9200中的elasticsearch是之前elasticsearch的容器名
kibana版本一定要与elasticsearch保持一致

1 查看kibana日志
docker logs -f kibana
2 中文配置
# 进入容器
docker exec -it kibana /bin/bash
# 进入配置文件目录
cd /usr/share/kibana/config
# 编辑文件kibana.yml
vi kibana.yml
# 在最后一行添加如下配置
i18n.locale: zh-CN
# 保存后退出
exit
# 并重启容器
docker restart kibana
3 IK分词器安装
  1. IK分词器测试-默认情况-无法正确分词中文

    在使用ElasticSearch的时候,默认用standard分词器,但standard分词器使用的是按空格分词的,这种分词操作方法不符合中文词标准,我们需要额外安装中文分词

  2. 安装插件-IK分词器后-能够正确分词中文

    github上下载IK:https://github.com/medcl/elasticsearch-analysis-ik/releases

    # 为了方便配置,将elasticseach-analysis-ik-7.12.1改成ik文件夹
    mv elasticseach-analysis-ik-7.12.1 ik
    # 将ik文件夹拷贝到elasticsearch容器中
    docker cp ik elasticsearch:/usr/share/elasticsearch/plugins
    # 重启容器
    docker restart elasticsearch
    

    在使用Kibana的开发工具测试 http://172.26.116.67:5601/app/dev_tools#/console,可以正确分割中文了

  3. IK自定义词典

    如果没有挂载,就在本地机中的ik/config目录创建itmenu_ext.dic,在文件中添加自定义词语:
    请添加图片描述

    修改ik/config/IKAnalyzer.cfg.xml,引入自己创建的itmentu_ext.dic词典,配置如下:
    在这里插入图片描述

    然后将改好的ik目录重新上传到elasticseach容器的usr/share/elasticseach/plugins目录下,然后重启elasticsearch容器即可:

    # 将上传的config拷贝到服务器
    # 将ik文件夹拷贝到elasticsearch容器中
    docker cp ik elasticseach:/usr/share/elasticsearch/plugins
    # 重启容器
    docker restart elasticsearch
    

    在kibana的开发工具中 http://172.26.116.67:5601/app/dev_tools#/consol 测试效果如下:

    可以看到右侧出现了我们实现定义的词汇

请添加图片描述

  1. IK自定义停用词典

    自定义停用词典和自定义词典一样,需要先创建自己的词典,再引用自己的词典即可

    • 创建词典

      就在本地机中的ik/config目录创建itmenu_stop.dic,在文件中添加自定义词语:

      在这里插入图片描述

    • 引用词典,修改config/IKAnalyzer.cfg.xml,引用自己创建的itmentu_stop.dic停用词典,配置如下:

      在这里插入图片描述

    • 将改好的文件重新上传到elasticsearch容器的usr/share/elasticsearch/plugins目录下,重启容器:

      # 将上传的config拷贝到服务器
      # 将ik文件夹拷贝到elasticsearch容器中
      docker cp ik elasticsearch:/usr/share/elasticsearch/plugins
      
      # 重启容器
      docker restart elasticsearch
      
    • 修改后去开发工具测试看看,可以发现结果不带带你这个分词了

compose安装es和kibana

# es-service.yaml
version: '3.1'
services:
  elasticsearch:
    image: elasticsearch:7.12.1
    container_name: elasticsearch
    privileged: true
    environment:
      - "cluster.name=elasticsearch" #设置集群名称为elasticsearch
      - "discovery.type=single-node" #以单一节点模式启动
      - "ES_JAVA_OPTS=-Xms512m -Xmx1096m" #设置使用jvm内存大小
      - bootstrap.memory_lock=true
    ports:
      - 9200:9200
      - 9300:9300
  kibana:
    image: kibana:7.12.1
    container_name: kibana
    depends_on:
      - elasticsearch #kibana在elasticsearch启动之后再启动
    environment:
      ELASTICSEARCH_HOSTS: http://elasticsearch:9200 #设置访问elasticsearch的地址
      I18N_LOCALE: zh-CN
    ports:
      - 5601:5601

然后执行命令docker compose up -d -f es-service.yaml,启动一个compose

docker compose其他常见命令如下:

sudo docker compose up -d -f es-service.yaml # 启动,-d 表示守护进程
sudo docker compose -f es-service.yaml ps # 查看
sudo docker compose -f es-service.yaml down # 删除容器
sudo docker compose up -d # 默认加载当前目录名为docker-compose.yml的配置文件

安装mysql数据库

参考:https://cloud.tencent.com/developer/article/2234282

安装FastDFS

1 运行tracker

sudo docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker

# -dti 的意思分别是,-d,后台运行容器;-t,分配一个伪终端;-i,保持标准输入打开
# --network=host,将容器连接到主机网络。这意味着容器与主机共享相同的网络命名空间,可以直接使用主机的网络配置
# --name tracker 给容器取名为 tracker
# -v /var/fdfs/tracker:/var/fdfs 将主机的 `/var/fdfs/tracker` 目录挂载到容器的 `/var/fdfs`目录。
# 最后的 tracker 是FastDFS Tracker节点容器的启动命令

tracker服务不需要指定端口-p,默认端口为22122

2 运行storage

sudo docker run -dti --network=host --name storage -e TRACKER_SERVER=172.26.116.67:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storage
# 本地ip地址不要使用 127.0.0.1 

3 测试一下

首先,将一张图片pic1.png放在本机挂载目录/var/fdfs/storage,然后进入storage容器

sudo docker exec -it storage bash

进入storage容器后,进入/var/fdfs目录,执行如下命令:

[root@pony-PC fdfs]# /usr/bin/fdfs_upload_file  /etc/fdfs/client.conf pic1.png
group1/M00/00/00/rBp0Q2V8VgaAHFHQAAEn187M1tQ893.png

此时文件已经上传成功,会返回在storage存储文件的路径信息。

然后通过url访问 http://172.26.116.67:8888/group1/M00/00/00/rBp0Q2V8VgaAHFHQAAEn187M1tQ893.png

安装redis

1 创建挂载目录

mkdir /docker-data/redis

2 下载redis.conf文件

wget http://download.redis.io/redis-stable/redis.conf

把文件移到挂载目录

mv ~/download/redis.conf /docker-data/redis/

然后赋予该文件权限

chmod 777 redis.conf

修改默认配置信息

vi /docker-data/redis/redis.conf
bind 127.0.0.1 # 这行要注释掉,解除本地连接限制
protected-mode no # 默认yes,如果设置为yes,则只允许在本机的回环连接,其他机器无法连接。
daemonize no # 默认no 为不守护进程模式,docker部署不需要改为yes,docker run -d本身就是后台启动,不然会冲突
requirepass 123456 # 设置密码
appendonly yes # 持久化

3 docker启动redis

docker run --name redis \
-p 6379:6379 \
-v /docker-data/redis/redis.conf:/etc/redis/redis.conf \
-v /docker-data/redis:/data \
-d redis redis-server /etc/redis/redis.conf --appendonly yes

此时完成了redis的安装和运行

安装RocketMQ

使用以下命令来下载RocketMQ运行rmqnamesrv容器:

docker run -d \
--name rmqnamesrv \
-p 9876:9876 \
-v /docker-data/rocketmq/conf:/root/config \
-v /docker-data/rocketmq/logs:/root/logs \
-e "JAVA_OPTS=-Duser.home=/opt" \
rocketmqinc/rocketmq \
sh mqnamesrv 
# sh mqnamesrv 执行name server脚本

这样RocketMQ服务就基本上启动了

docker 常用命令

# 删除指定容器,并停止相关镜像服务
sudo docker rm -f kibana
  • 36
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值