使用原生的方式安装logstash插件时,会发现一直安装不了,如下:
问题原因:这是由于Logstash默认从国外的镜像网下载插件的,所以很慢,甚至无法下载。
解决方案:
- 方案一:修改镜像地址
- 方案二:离线安装
方案一:修改镜像地址
镜像地址有以下几种:
- (舍弃,官方不再维护)淘宝的镜像(https://ruby.taobao.org/)
- (不推荐,无法访问)Ruby China镜像(https://gems.ruby-china.org/)
- (推荐)清华镜像(https://mirrors.tuna.tsinghua.edu.cn/rubygems/)
下面以使用清华镜像的例子来讲解(其实可以直接从step5开始操作的(待验证)):
step1:安装Gem
yum install gem
step2: 检查并修改镜像源
检查当前镜像:
gem sources -l
修改为清华镜像:
gem sources --add https://mirrors.tuna.tsinghua.edu.cn/rubygems/ --remove https://rubygems.org/
step3:安装 bundle(注意指定版本,否则报错)
gem install bundler -v 1.17.3
step4:更改镜像源
bundle config mirror.https://rubygems.org https://mirrors.tuna.tsinghua.edu.cn/rubygems
step5:修改logstash的 gem 镜像源
## 进入docker logstash容器 docker exec -it logstash容器id或容器名 /bin/bash ## 查看logstash 的Gemfile head /usr/share/logstash/Gemfile
更改默认的 https://rubygems.org 为https://mirrors.tuna.tsinghua.edu.cn/rubygems
## 如果没有安装vi编辑器,安装 apt-get install vim apt-get update ## 修改镜像地址 vi /usr/share/logstash/Gemfile
step6:安装插件
cd /usr/share/logstash/bin ./logstash-plugin install --no-verify logstash-input-jdbc
安装成功
方案二:离线安装
持续更新中。。。。。。