首页 > 其他分享 >golang 操作es

golang 操作es

时间:2024-07-09 21:09:34浏览次数:14  
标签:9200 -- kibana golang elasticsearch 操作 docker es

docker  操作安装es 

1. 创建网络

因为我们还需要部署kibana容器,因此需要让es和kibana容器互联,这里先创建一个网络。

使用FinalShell登录自己的Linux云服务器客户端(阿里云或腾讯云)

docker network create es-net

2.加载镜像 

docker pull docker.elastic.co/elasticsearch/elasticsearch:8.13.4
docker pull docker.elastic.co/kibana/kibana:8.13.4

3.运行容器

在服务器  /home/elasticsearch 创建 data 、plugins、logs文件夹,并chmod 777 文件夹

docker run -d --restart=always -e "ES_JAVA_OPTS=-Xms512m -Xmx512m"  -e "discovery.type=single-node"  -v es-data:/home/elasticsearch/data -v es-plugins:/home/elasticsearch/plugins -v es-logs:/home/elasticsearch/logs --privileged --network es-net -p 9200:9200 -p 9300:9300 --name es docker.elastic.co/elasticsearch/elasticsearch:8.13.4

命令解释:

-e "cluster.name=es-docker-cluster":设置集群名称
-e "http.host=0.0.0.0":监听的地址,可以外网访问
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m":分配内存大小
-e "discovery.type=single-node":单节点模式
-v es-data:/usr/local/elasticsearch7.12.1/data:挂载逻辑卷,绑定es的数据目录
-v es-logs:/usr/local/elasticsearch7.12.1/logs:挂载逻辑卷,绑定es的日志目录
-v es-plugins:/usr/local/elasticsearch7.12.1/plugins:挂载逻辑卷,绑定es的插件目录
--privileged:授予逻辑卷访问权
--network es-net :加入一个名为es-net的网络中
-p 9200:9200:端口映射配置

# 开放9200端口用于http通信

firewall-cmd --zone=public --add-port=9200/tcp --permanent

# 开放9300端口用于ES集群间通信

firewall-cmd --zone=public --add-port=9300/tcp --permanent

# 重新加载防火墙使开放的端口即时生效

firewall-cmd --reload

先配置 elasticsearch.yml

docker exec -it es bash
cat  config/elasticsearch.yml


//  elasticsearch.yml文件配置如下
cluster.name: "docker-cluster"
network.host: 0.0.0.0

#----------------------- BEGIN SECURITY AUTO CONFIGURATION -----------------------
#
# The following settings, TLS certificates, and keys have been automatically      
# generated to configure Elasticsearch security features on 09-07-2024 05:32:02
#
# --------------------------------------------------------------------------------

# Enable security features
xpack.security.enabled: true

xpack.security.enrollment.enabled: true

# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
  enabled: false
  keystore.path: certs/http.p12

# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
  enabled: false
  verification_mode: certificate
  keystore.path: certs/transport.p12
  truststore.path: certs/transport.p12
#----------------------- END SECURITY AUTO CONFIGURATION -------------------------

验证安装结果

    在浏览器地址栏中输入URL:http://<你的云服务器公网IP地址>:9200/

4.下载分词

docker exec -it es bash

cd bin

./elasticsearch-plugin  install https://get.infini.cloud/elasticsearch/analysis-ik/8.13.4

exit

然后重启es容器

docker restart es

5.设置密码

docker exec -it es bash
// 设置密码
./elasticsearch-setup-passwords interactive

分别设置相应的帐号密码就可以了

6. 部署Kibana 

Kibana 使操作ES数据的可视化界面,使用Kibana 操作ES非常方便。

在/usr/local目录执行如下docker命令

docker run -d --name kibana -e ELASTICSEARCH_HOSTS=http://es:9200 --network=es-net -p 5601:5601  docker.elastic.co/kibana/kibana:8.13.4

 

标签:9200,--,kibana,golang,elasticsearch,操作,docker,es
From: https://www.cnblogs.com/yingger/p/18292743

相关文章

  • Solution - Atcoder ABC177F I hate Shortest Path Problem
    考虑按题目所述的进行DP。设计状态\(f_{i,j}\)代表强制要求\((i,j)\)要走向\((i+1,j)\)最小的横坐标之差,这是因为对应的纵坐标之差是确定的。对于转移,考虑到对于\(j\not\in[a_i,b_i]\),直接从上面转移下来即可,即\(f_{i,j}\leftarrowf_{i-1,j}\)。对于\(j......
  • Qt:10.显示类控件(QLabel-显示文本或图像的控件、QLCDNumber -显示数字的特殊控件、QPr
    目录一、QLabel-显示文本或图像的控件:1.1QLabel介绍:1.2设置文本格式——textFormat属性:1.3设置图片——pixmap属性:1.4自动缩放——scaledContents属性:拓展:resizeEvent方法:1.5内容对齐方式——alignment属性:1.6自动换行——wordWrap属性:1.7 文本缩进——indent属性......
  • Golang 切片作为函数参数传递的陷阱与解答
    作者:林冠宏/指尖下的幽灵。转载者,请:务必标明出处。GitHub:https://github.com/af913337456/出版的书籍:《1.0-区块链DApp开发实战》《2.0-区块链DApp开发:基于公链》例子切片作为函数参数传递的是值用来误导切片作为函数参数传递的是引用函数内切片append引起......
  • 2024年06月CCF-GESP编程能力等级认证Python编程三级真题解析
    本文收录于专栏《Python等级认证CCF-GESP真题解析》,专栏总目录:点这里,订阅后可阅读专栏内所有文章。一、单选题(每题2分,共30分)第1题小杨父母带他到某培训机构给他报名参加CCF组织的GESP认证考试的第1级,那他可以选择的认证语言有几种?()A.1B.2C.3D.4答案:C第......
  • 【Python进阶】文件操作、异常、模块
    文件操作、异常、模块目录文件操作、异常、模块一、文件操作1、什么是文件2、操作文件的步骤3、写数据4、快捷读取数据5、其他方式读数据6、备份文件二、os模块1、查看目录2、目录的具体操作三、异常介绍1、什么是异常2、制造常见的异常四、常见处理方式1、快......
  • Codeforces Round 956 (Div. 2) 部分题解A~C
    A.ArrayDivisibility题目大意构造长度为n的数组,满足:所有j的aj之和可以被k整除,其中j是k的倍数,k的取值为1~n。思路构造序列1->n即可满足条件。代码实现voidsolve(){  lln;cin>>n;  for(inti=1;i<=n;i++)cout<<i<<"";  cout<<"\n"......
  • curator操作ZooKeepe
    Curator操作ZooKeeper######引包:<!--对zookeeper的底层api的一些封装--><dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>2.12.......
  • python最简单的方式连接数据库做查询和插入操作
    用最简单的代码连接数据库并操作数据库1、包安装pipinstallpymysqlpipinstallcryptography2、源码样例importpymysqlimportuuididNum='123456'try:#连接数据库connection=pymysql.connect(host='192.168.0.11',user='xxxuser',password......
  • Codeforces Round #956 (Div. 2) and ByteRace 2024
    Preface连着好几天因为熬夜看LOL比赛导致白天精神萎靡,都没精力VP了而且明天就要开始统一训练了,趁着最后一天补一下前两天因为看比赛没打的这场吧这场只能说是战术正确,想了会E没啥思路就马上转头去把F写了,后面回头慢慢想E也想出来了,最后极限2h14min出了EA.ArrayDivisibility......
  • C#字符串操作:判断一个字符串是否存在于另一个字符串按特定字符分割后的子字符串中的几
    要判断一个字符串是否存在于另一个字符串按特定字符分割后的子字符串中,可以使用以下几种方法:方法一:使用Split和Array.Exists你可以使用Split方法将字符串分割成子字符串数组,然后使用Exists方法检查目标字符串是否在数组中:usingSystem;classProgram{staticvoid......