Install Elasticsearch with Docker | Elasticsearch Guide [8.14] | Elastic
Run Elasticsearch locally in Docker (without security) | Elasticsearch Guide [8.14] | Elastic
1、
docker network create elastic
[root@bigData02 ~]# docker network create elastic
03dcafa73576b5a555a6f8a6014338e78efb6d647a65cf1621e0769a0f77df20
2、安装 cosign
sudo yum update
sudo yum install -y curl jq
COSIGN_RELEASE=$(curl -Ls "https://api.github.com/repos/sigstore/cosign/releases/latest" | jq -r .tag_name)
curl -Ls https://github.com/sigstore/cosign/releases/download/${COSIGN_RELEASE}/cosign-linux-amd64 -o cosign
3、docker run --name es01 --net elastic -p 9200:9200 -it -m 1GB docker.elastic.co/elasticsearch/elasticsearch:8.14.0
docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
export ELASTIC_PASSWORD="123456"
docker cp es01:/usr/share/elasticsearch/config/certs/http_ca.crt .
curl --cacert http_ca.crt -u elastic:$ELASTIC_PASSWORD https://localhost:9200
Add more nodes
docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node
Start a new Elasticsearch container.
docker run -e ENROLLMENT_TOKEN="<token>" --name es02 --net elastic -it -m 1GB docker.elastic.co/elasticsearch/elasticsearch:8.14.0
curl --cacert http_ca.crt -u elastic:$ELASTIC_PASSWORD https://localhost:9200/_cat/nodes
报了个未知错误
采用 docker-compose方式
手动下载https://github.com/elastic/elasticsearch/blob/8.14/docs/reference/setup/install/docker/.env
pip install docker-compose (安装docker-compose)
异常 :
ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0.2k-fips 26 Jan 2017'.
pip uninstall urllib3
pip install urllib3==1.26.*
docker-compose up -d
Run Kibana
docker pull docker.elastic.co/kibana/kibana:8.14.0
wget https://artifacts.elastic.co/cosign.pub
cosign verify --key cosign.pub docker.elastic.co/kibana/kibana:8.14.0
docker run --name kib01 --net elastic -p 5601:5601 docker.elastic.co/kibana/kibana:8.14.0
To regenerate the token, run:
docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
Remove containers (参考)
Remove the Elastic network
docker network rm elastic
Remove Elasticsearch containers
docker rm es01
docker rm es02
Remove the Kibana container
docker rm kib01
普通安装方式
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.14.0-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.14.0-linux-x86_64.tar.gz.sha512
yum install perl-Digest-SHA
shasum -a 512 -c elasticsearch-8.14.0-linux-x86_64.tar.gz.sha512
tar -xzf elasticsearch-8.14.0-linux-x86_64.tar.gz
cd elasticsearch-8.14.0/
export ES_HOME=/opt/dockerinstall/esinstall/elasticsearch-8.14.0
su es
./bin/elasticsearch
received plaintext http traffic on an https channel, closing connection
ES8 默认开启了 ssl 认证,导致无法访问 9200 端口
elasticsearch.yml 配置:xpack.security.enabled: 把 true 改成 false
重新启动 ./bin/elasticsearch
curl -X GET "localhost:9200/?pretty"
Run as a daemon
./bin/elasticsearch -d -p pid
Elasticsearch 8.x环境中获得类似Head插件的功能,最推荐的方式是使用Kibana Dev Tools
安装kibana
Download Kibana Free | Get Started Now | Elastic
参考:如何在 Linux,MacOS 及 Windows 上进行安装 Elasticsearch_macos安装es-CSDN博客
tar -xvf kibana-8.14.0-linux-x86_64.tar.gz
elasticsearch.hosts: ["http://localhost:9200"]
./bin/kibana --allow-root
后台运行:
nohup ./bin/kibana --allow-root &
安装插件:
./bin/elasticsearch-plugin install https://get.infini.cloud/elasticsearch/analysis-ik/8.14.0
插件地址:https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-8.14.0.zip
停止ES
[root@bigData02 elasticsearch-8.14.0]# cat pid
129355
[root@bigData02 elasticsearch-8.14.0]# kill -SIGTERM 129355
su es
./bin/elasticsearch -d -p pid
# Welcome to the Dev Tools Console!
#
# You can use Console to explore the Elasticsearch API. See the Elasticsearch API reference to learn more:
# https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html
#
# Here are a few examples to get you started.
PUT _template/content_erp_nlp_help
{
"index_patterns": [
"content_vector*"
],
"settings": {
"analysis": {
"analyzer": {
"my_ik_analyzer": {
"type": "ik_smart"
}
}
},
"number_of_shards": 1
},
"mappings": {
"properties": {
"id": {
"type": "long"
},
"content": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_smart"
},
"content_vector": {
"type": "dense_vector",
"similarity": "cosine",
"index": true,
"dims": 768,
"element_type": "float",
"index_options": {
"type": "hnsw",
"m": 16,
"ef_construction": 128
}
},
"content_answer": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_smart"
},
"title": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_smart"
},
"param": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_smart"
},
"type": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_smart"
}
}
}
}
# Create an index
PUT /my-index
# Add a document to my-index
POST /my-index/_doc
{
"id": "park_rocky-mountain",
"title": "Rocky Mountain",
"description": "Bisected north to south by the Continental Divide, this portion of the Rockies has ecosystems varying from over 150 riparian lakes to montane and subalpine forests to treeless alpine tundra."
}
# Perform a search in my-index
GET /my-index/_search?q="rocky mountain"