Elasticsearch7.14.2 安装使用笔记

我的服务器环境是 CentOS8,es运行方式是 docker

安装Elasticsearch以及相关查询工具,这里用的是 Elasticsearch7.14.2,查询工具用的elasticsearch-head。

关于集群的配置,往下翻

目录

安装单个docker

测试运行

elasticsearch-head安装

附 Kibana 安装方式

ElasticSearch 集群配置


安装单个docker

ES安装脚本(docker安装方式)

数据存储到 /data 目录下

docker pull elasticsearch:7.14.2

mkdir -p /data/elasticsearch/config
mkdir -p /data/elasticsearch/data
echo -e "http.host: 0.0.0.0\ncluster.name: \"docker-cluster\"\nnetwork.host: 0.0.0.0\nhttp.cors.enabled: true\nhttp.cors.allow-origin: \"*\"\npath.repo: [\"/tmp\"]" >> /data/elasticsearch/config/elasticsearch.yml

docker run --name elasticsearch \
    -p 9200:9200 -p 9300:9300 \
    -e "discovery.type=single-node" \
    -e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
    -v /data/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
    -v /data/elasticsearch/data:/usr/share/elasticsearch/data \
    -v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
    -d elasticsearch:7.14.2

测试运行

直接访问 http://ip:9200,如果有JSON数据返回,一般就成功了。

elasticsearch-head安装

# 1. 官方镜像 拉取elasticsearch-head镜像,官方镜像,需要修改一个跨域
# docker pull mobz/elasticsearch-head:5

# 2. 在官方镜像基础上,修改了跨域问题,安装后直接使用
docker pull goldshooter/elasticsearch-head:5



#创建并启动容器
docker run -d --name elasticsearch-head -p 9100:9100 goldshooter/elasticsearch-head:5

es的查询接口:9200,head 的访问地址: 9100

输入 http://xxx.xxx.xxx.xxx:9100 连接 es,如果报错:

{"error":"Content-Type header [application/x-www-form-urlencoded] is not supported","status":406}

需要调整head,网上有教程,具体就是修改 vendor.js,如下:

可使用下面镜像,装完就用,没有跨域问题

docker pull goldshooter/elasticsearch-head:5

Public View

# 将文件下载到本地
docker cp 92a63c323449:/usr/src/app/_site/vendor.js ./

# 修改vendor.js 替换 application/x-www-form-urlencoded 为 application/json,然后上传到 docker

# 上传文件到docker
docker cp ./vendor.js 92a63c323449:/usr/src/app/_site/vendor.js

# 为了方便,把修改好的直接打包了,可以pull打包好的image

docker pull goldshooter/elasticsearch-head:5

附 Kibana 安装方式

docker pull kibana:7.14.2

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://自己的IP地址:9200 -p 5601:5601 -d kibana:7.14.2

ElasticSearch 集群配置

目录结构如下,我选的目录是 /data/es ,配置文件都放到 config 目录下,数据放在 data1,data2,data3,共三个docker

做好准备工作

docker pull elasticsearch:7.14.2
mkdir -p /data/es/config
mkdir -p /data/es/data1
mkdir -p /data/es/data2
mkdir -p /data/es/data3

创建目录,结构如下: 


[root@localhost es]# tree
.
├── config
│   ├── es1.yml
│   ├── es2.yml
│   └── es3.yml
├── data1
├── data2
├── data3

编辑三个docker的配置脚本,配置脚本如下,

[root@localhost es]# cat config/es1.yml
cluster.name: elasticsearch-cluster
node.name: es-node1
http.host: 0.0.0.0
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["192.168.31.5:9300","192.168.31.5:9301","192.168.31.5:9302"]
discovery.zen.minimum_master_nodes: 2
cluster.initial_master_nodes: es-node1

[root@localhost es]# cat config/es2.yml
cluster.name: elasticsearch-cluster
node.name: es-node2
http.host: 0.0.0.0
network.host: 0.0.0.0
http.port: 9201
transport.tcp.port: 9301
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["192.168.31.5:9300","192.168.31.5:9301","192.168.31.5:9302"]
discovery.zen.minimum_master_nodes: 2
cluster.initial_master_nodes: es-node1

[root@localhost es]# cat config/es3.yml
cluster.name: elasticsearch-cluster
node.name: es-node3
http.host: 0.0.0.0
network.host: 0.0.0.0
http.port: 9202
transport.tcp.port: 9302
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["192.168.31.5:9300","192.168.31.5:9301","192.168.31.5:9302"]
discovery.zen.minimum_master_nodes: 2
cluster.initial_master_nodes: es-node1

安装和启动脚本如下:



firewall-cmd --add-port=9300/tcp
firewall-cmd --add-port=9301/tcp
firewall-cmd --add-port=9302/tcp

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 -v /data/es/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /data/es/data1:/usr/share/elasticsearch/data --name ES01 elasticsearch:7.14.2

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9201:9201 -p 9301:9301 -v /data/es/config/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /data/es/data2:/usr/share/elasticsearch/data --name ES02 elasticsearch:7.14.2

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9202:9202 -p 9302:9302 -v /data/es/config/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /data/es/data3:/usr/share/elasticsearch/data --name ES03 elasticsearch:7.14.2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值