主頁 > 知識庫 > 在Docker中安裝Elasticsearch7.6.2的教程

在Docker中安裝Elasticsearch7.6.2的教程

熱門標(biāo)簽:智能電銷機(jī)器人真的有用么 新鄉(xiāng)牧野400電話申請 電銷智能機(jī)器人試用 中國地圖標(biāo)注上各個省 撫州市城區(qū)地圖標(biāo)注 百度地圖底圖標(biāo)注 激光標(biāo)記地圖標(biāo)注 高德地圖標(biāo)注足跡怎么打標(biāo) 企業(yè)辦理400電話收費(fèi)標(biāo)準(zhǔn)

安裝docker

你要安裝完成docker,不再說明了。

安裝Elasticsearch

注意:使用版本為 7.6.2,你可以選擇其他版本

拉取鏡像

docker pull elasticsearch:7.6.2

啟動容器

docker run --restart=always -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" \

-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \

--name='elasticsearch' --cpuset-cpus="1" -m 2G -d elasticsearch:7.6.2

說明:

1. -v /opt/hanlp:/opt/hanlp如果使用了hanlp的分詞,所以需要掛載詞庫

2. ES_JAVA_OPTS可以設(shè)置參數(shù)

3. 單節(jié)點(diǎn)啟動

訪問地址:http://172.18.63.211:9200

插件安裝

安裝ik 分詞器

下載對應(yīng)的版本:elasticsearch-analysis-ik

為什么安裝IK,輕量級。配置好詞庫也是可以用來中文分詞,HanLP重量級,內(nèi)置算法較多,不適合單獨(dú)分詞使用。

# 離線安裝,下載對應(yīng)插件zip
# https://github.com/medcl/elasticsearch-analysis-ik
docker cp /opt/elasticsearch-analysis-ik-7.6.2.zip elasticsearch:/opt
docker exec -it elasticsearch bash
cd plugins/
mkdir analysis-ik
unzip -d /usr/share/elasticsearch/plugins/analysis-ik/ /opt/elasticsearch-analysis-ik-7.6.2.zip 
exit
docker restart elasticsearch

自定義詞庫

自定義字典

遠(yuǎn)程詞庫

常用維護(hù)命令

# 查看所有索引信息
GET /_cat/indices?pretty
# 節(jié)點(diǎn)監(jiān)控
GET /_cat/health?pretty
# 安裝了哪些插件
GET _cat/plugins

其他命令在用的時候再次整理,本文主要講安裝和部署。

監(jiān)控和開發(fā)工具Kibana

Kibana 是為 Elasticsearch設(shè)計的開源分析和可視化平臺。你可以使用 Kibana 來搜索,查看存儲在 Elasticsearch 索引中的數(shù)據(jù)并與之交互。你可以很容易實(shí)現(xiàn)高級的數(shù)據(jù)分析和可視化,以圖標(biāo)的形式展現(xiàn)出來。

我們的服務(wù)器IP是172.18.63.211

docker run --restart=always --link elasticsearch:elasticsearch --name kibana -p 5601:5601 -d kibana:7.6.2

進(jìn)入容器修改配置文件kibana.yml

docker exec -it kibana bash
vi config/kibana.yml
########################
# 指定es的地址
elasticsearch.hosts: ["http://172.18.63.211:9200"]
# 中文化
i18n.locale: "zh-CN"
# 修改外網(wǎng)訪問 可選
server.host: "0.0.0.0"
exit
########################
docker restart kibana

打開地址:http://172.18.63.211:5601

測試分詞工具

POST _analyze
{
 "text": "檢測甘藍(lán)型油菜抗磺酰脲類除草劑基因BnALS3R的引物與應(yīng)用",
 "analyzer": "hanlp"
}

新增索引庫

PUT achievement
{
 "settings": {
 "number_of_shards": 1,
 "number_of_replicas": 1
 }
}

PUT achievement/_mapping
{
 "properties": {
 "id": {
  "type": "text"
 },
 "owner": {
  "type": "text"
 },
 "title": {
  "type": "text",
  "analyzer": "hanlp"
 },
 "description": {
  "type": "text",
  "analyzer": "hanlp"
 },
 "update_time":{
  "type": "date"
 }
 }
}

數(shù)據(jù)同步Logstash

用于收集、解析和轉(zhuǎn)換日志,同步數(shù)據(jù)等。

安裝

docker pull logstash:7.5.0

配置文件目錄

mkdir -p /usr/local/logstash/config
cd /usr/local/logstash/config
touch logstash.yml
vi log4j2.properties
#####添加以下內(nèi)容
logger.elasticsearchoutput.name = logstash.outputs.elasticsearch
logger.elasticsearchoutput.level = debug
#####
vi pipelines.yml
####
- pipeline.id: logstash-match
 path.config: "/usr/share/logstash/config/*.conf"
 pipeline.workers: 3
####

同時需要將MySQL的驅(qū)動包放入配置文件中。

再創(chuàng)建配置文件即可

這里給一個例子,是定時同步mysql數(shù)據(jù)到es中的。*

# logstash-mysql-es.conf
input{
 jdbc{
 jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
 jdbc_connection_string => "jdbc:mysql://172.18.63.211:3306/open_intelligence?characterEncoding=utf8&serverTimezone=Asia/Shanghai"
 jdbc_user => "docker"
 jdbc_password => "docker@12345"
 jdbc_paging_enabled => true
 jdbc_page_size => 10000
 jdbc_fetch_size => 10000
 connection_retry_attempts => 3
 connection_retry_attempts_wait_time => 1
 jdbc_pool_timeout => 5
 use_column_value => true
 tracking_column => "update_time"
 tracking_column_type => "timestamp"
 record_last_run => true
 last_run_metadata_path => "/usr/share/logstash/mysql/goods_achievement"
 statement => "select * from goods_achievement where update_time > :sql_last_value"
 schedule => "* */30 * * * *"
 }
}

filter{
 mutate {
 split => { "feature1" => ";" }
 }
 mutate {
 split => { "feature2" => ";" }
 }
 mutate {
 split => { "feature3" => ";" }
 }
}

output {
 elasticsearch {
 document_id => "%{id}"
 index => "goods_achievement"
 hosts => ["http://172.18.63.211:9200"]
 }
}

啟動

docker run -d -p 5044:5044 -p 9600:9600 -it \

-e TZ=Asia/Shanghai \

--name logstash --restart=always \

-v /usr/local/logstash/config/:/usr/share/logstash/config/ \

-v /usr/local/logstash/mysql/:/usr/share/logstash/mysql/ \

--privileged=true \

logstash:7.6.2

如果報錯了

Error: com.mysql.cj.jdbc.Driver not loaded. :jdbc_driver_library is not set, are you sure you included the proper driver client libraries in your classpath?

可以嘗試將驅(qū)動器即mysql-connector-java-xxxx-bin.jar拷貝到 logstash目錄\logstash-core\lib\jars 下

如:

cd /usr/local/logstash/config

docker cp mysql-connector-java-8.0.17.jar logstash:/usr/share/logstash/logstash-core/lib/jars

檢測配置文件

bin/logstash -f /usr/local/logstash/config/mysql-es-patent.conf -t

完成,你可以進(jìn)行開發(fā)了。

以上這篇在Docker中安裝Elasticsearch7.6.2的教程就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

標(biāo)簽:忻州 邯鄲 延安 臨汾 海西 南通 辛集 西安

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在Docker中安裝Elasticsearch7.6.2的教程》,本文關(guān)鍵詞  在,Docker,中,安裝,Elasticsearch7.6.2,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《在Docker中安裝Elasticsearch7.6.2的教程》相關(guān)的同類信息!
  • 本頁收集關(guān)于在Docker中安裝Elasticsearch7.6.2的教程的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章