当前位置:   article > 正文

elasticsearch安装_elasticsearch jdk版本

elasticsearch jdk版本

1 总结

  1. es 8.6.0  jdk17版本 ik下载下来 打成jar需要的环境也是jdk17 后期放弃了,本人jdk1.8不想弄了
  2.  本人 6.8.0版本安装对应 jdk8版本 
  3. es版本对应jdk的 大体是 6.x --1.8  ,官网对应表不准,本人安装7.5.2提示jdk最低11

2 安装前置

   jdk安装,,一定要符合es版本。具体看安装es的版本。

  中文分词器,logstash,kibana,都要匹配版本

 官网下载版本地址

Past Releases of Elastic Stack Software | Elastic

elk集成插件

Elastic 集成 | Elastic

各个版本的新特性

第4篇: Elasticsearch各版本特性总结及7.X增删改查实战_elasticsearch版本选择_老王随聊的博客-CSDN博客

 本文直接安装最新版本,具体需要什么版本的jdk,请查看版本的  依赖项和版本--> 第三方依赖  --页面直接搜索jdk

2安装

最新Elasticsearch8.4.3 + Kibana8.4.3在云服务器Centos7.9安装部署(参考官方文档)_大白有点菜的博客-CSDN博客_yum安装kibana8

elasticsearch 安装教程_summer‘s forest的博客-CSDN博客_elasticsearch安装

 2.1 安装对应jdk版本

2.2安装es

 直接解压es

tar -zxvf elasticsearch-8.6.0-linux-x86_64.tar.gz -C /usr/local/

 创建存储文件夹

  1. #存储数据路径
  2. mkdir /usr/local/elasticsearch-8.6.0/data
  3. # 存储日志路径(有的版本自带)
  4. mkdir /usr/local/elasticsearch-8.6.0/logs

2)编辑 elasticsearch.yml:

vim /usr/local/elasticsearch-8.6.0/config/elasticsearch.yml

3)配置 data 和 logs 参数(移除注释即可,不用新增两行):

  1. #数据存储目录
  2. path.data: /usr/local/elasticsearch-8.6.0/data
  3. #日志存储目录
  4. path.logs: /usr/local/elasticsearch-8.6.0/logs
  5. # 有则放开,无测加上
  6. #给集群设置一个名字,如果是集群部署,所有实例的集群名必须一样 都要叫 "cluster-name"
  7. cluster.name: cluster-name
  8. # 有则放开,无测加上
  9. # 集群下节点名,集群部署,集群中每个实例必须不能一样 "node-1","node-2"
  10. node.name: node-1
  11. # 有则放开,无测加上 自带的属性
  12. node.attr.rack: r1
  13. # 有则放开,无测加上 允许哪个ip访问配置 配置这个 全网都能访问 0.0.0.0
  14. # network.host: 192.168.1.5
  15. network.host: 0.0.0.0
  16. # 对外访问的端口
  17. http.port: 9200
  18. #master节点发现 和上面配置的名称要保持一致
  19. cluster.initial_master_nodes: ["node-1"]
  20. #cluster.initial_master_nodes: ["node-1", "node-2"]
  21. # 8.6.0是默认开启的 关闭安全用户 false
  22. xpack.security.enabled: false
  23. xpack.security.transport.ssl.enabled: false

  1. #允许跨域,使用head等插件监控集群信息
  2. http.cors.enabled: true
  3. http.cors.allow-origin: "*"
  4. http.cors.allow-headers: Authorization,X-Requested-With,Content-Type,Content-Length

4、配置Elasticsearch-8.6.0的全局路径

注意:此处有坑,参考其它博文去配置,就入大坑

(1)编辑 profile 文件,在末尾添加一行内容,记住,安装JDK1.8版本的只添加一行

vim /etc/profile

3)配置es全局变量 :如果本地安装jdk不匹配es不要配第二行,让他用自己的jdk

   es-8 是jdk17 所以安装jdk8的,不要配置第二行

  1. #es安装路径
  2. export ES_HOME=/usr/local/elasticsearch-8.6.0
  3. # 如果本地安装jdk符合es版本 即可配置
  4. # 否则不配置,让其使用自带jdk版本,有的es可能不自带jdk,而且和jdk配置的全局冲突好像
  5. export ES_JAVA_HOME=/usr/local/jdk-17.0.5

5)刷新 profile 文件:

source /etc/profile

 配置内存es很吃内存的

修改配置文件 jvm.options。其实官方建议(第一张图)是在 config/jvm.options.d 目录下新增自定义JVM选项文件,不要修改 jvm.options 文件,但又不说明文件名称是怎样,允许随意命名吗?为了避免错误,就直接在 jvm.options 配置参数了。
 

vim /usr/local/elasticsearch-8.6.0/config/jvm.options

添加以下两行(单位为:m 或 g),设置堆内存最小和最大值。因为是4G内存,所以搞个512MB也够了,官方建议是1G或2G

  1. -Xms512m
  2. -Xmx512m

 root用户给es用户这个文件夹下的权限,否则启动报错

sudo chown -R es:es /usr/local/elasticsearch-6.8.23/

2.3安装ik分词器

 添加中文分词器 (启动es不报错后再安装ik分词器)

   方式一直接使用es自带脚本执行(我的老是报错)

  1. # ik地址目录 ,下面有执行脚本步骤(注意对应版本)
  2. https://github.com/medcl/elasticsearch-analysis-ik/tree/v8.6.0
  3. #步骤一
  4. cd 你的es/plugins/ && mkdir ik
  5. #步骤二
  6. ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.0/elasticsearch-analysis-ik-6.3.0.zip

  方式二(亲自试过的方式)

  7.4的ik步骤

  1. #步骤一 将ik下载到本地(注意对应版本)打包
  2. #步骤二 cd 你的es/plugins/ && mkdir ik
  3. #步骤三 将打包的zip解压到 创建的ik目录
  4. target\releases\elasticsearch-analysis-ik-7.4.0.zip
  5. #步骤四 编辑 plugin-descriptor.properties elasticsearch.version=7.16.0 和es版本对应上
  6. #步骤五 重启es

 6.8的ik方式一

https://github.com/infinilabs/analysis-ik/releases?page=12

  1. #步骤一 将ik下载到本地(注意对应版本)打包
  2. #步骤二 cd 你的es/plugins/ && mkdir ik
  3. #步骤三 将打包的zip解压到 创建的ik目录 命令 unzip

6.8的ik方式二(不推荐

https://github.com/infinilabs/analysis-ik/tree/v6.8.23

本次安装ik是6.8.23 编译完运行报错。版本对应不上都。

  1. #步骤一 将ik下载到本地(注意对应版本)打包
  2. #步骤二 cd 你的es/plugins/ && mkdir ik
  3. #步骤三 将下载zip解压,执行maven命令编译 mvn clean install
  4. #步骤四 analysis-ik-6.8.23\target\releases 这个目录下的zip才是es能使用的zip
  5. #步骤五 编辑 plugin-descriptor.properties elasticsearch.version=6.8.23 和es版本对应上
  6. #步骤六 重启es

2.4、创建运行Elasticsearch和Kibana专用的普通用户

因为 elasticsearch 和 kibana 不允许使用 root 用户启动,所以需要创建新用户启动

1)创建专用账号,如 es 。

  1. #创建用户es
  2. useradd es
  3. # 给已创建的用户es设置密码 我设置的密码 (12345678)
  4. passwd es
  5. #给用户es授权
  6. #将安装es目录授权给es用户
  7. chown -R es:es /usr/local/elasticsearch-8.6.0
  8. #操作权限(可以不给)
  9. # chmod 770 /usr/local/elasticsearch-8.6.0/
  10. #切换用户为es
  11. su es

 bin目录下启动es  -d 后台启动 (不能在root用户下启动)

./elasticsearch -d

 启动报错:很多启动参数配置很小启动不了

  解决启动报错 root用户下修改

  1. # 将当前用户的软硬限制调大
  2. vim /etc/security/limits.conf
  3. 在文件的最后追加如下配置:
  4. soft nofile 65535
  5. es hard nofile 65537
  6. 说明: soft nofile表示软限制,hard nofile表示硬限制。两行语句表示,
  7. es用户的软限制为65535,硬限制为65537,即表示es用户能打开的最大文件数量为65537
  8. 不管它开启多少个shell。
  9. ===============================
  10. #编辑这个文件
  11. vim /etc/sysctl.conf
  12. #添加这个内容
  13. vm.max_map_count=262145
  14. #刷新配置
  15. sysctl -p

2.5 用户密码

8.6.0是默认开启安全。

  编辑 elasticsearch.yml开启安全,和跨域

  1. [elastic@console bin]$ vim ../config/elasticsearch.yml
  2. #是否支持跨域,默认为false
  3. http.cors.enabled: true
  4. #当设置允许跨域,默认为*,表示支持所有域名,如果我们只是允许某些网站能访问,那么可以使用正则表达式
  5. http.cors.allow-origin: "*"
  6. #http.cors.allow-origin=http://192.168.1.100,http://192.168.1.101
  7. #: 设置允许的头信息,这里添加了 Authorization 以允许传递认证信息。
  8. http.cors.allow-headers: Authorization
  9. # 开启安全
  10. xpack.license.self_generated.type: basic
  11. xpack.security.enabled: true
  12. xpack.security.transport.ssl.enabled: true

启动Elasticsearch时:[failed to obtain node locks]_maybe these locations are not writable or multiple-CSDN博客

设置密码

注意:这里需要依次设置
elastic,kibana,logstash_system,beats_system,apm_system,remote_monitoring_user 这几个用户的密码
进入 elasticsearch 安装目录 bin目录下,运行以下命令

./elasticsearch-setup-passwords interactive

登录的时候自然会弹出输入账号密码 elastic:123456

一定要启动后  在关闭安全

自动生成响应的安全配置后,配置用户名密码(es8配置跟java的 yml很像了 和网上的有的不一样了)

  1. # 8.6.0是默认开启的 启动es后它自动会在文件末尾处生成相应的安全配置
  2. xpack.security.enabled: false
  3. xpack.security.transport.ssl.enabled: false

  

关于用户密码等问题有空整理,8.6.0版本和网上的不一样,有空整理

elasticsearch8.0以上版本修改内置用户密码_修改elasticsearch密码_weixin_38285720的博客-CSDN博客

   重置内置用户的密码,自动生成一个密码(不好使8.x 设置用户后期有空研究)

  1. 执行设置用户名和密码的命令,这里需要为4个es内置用户分别设置密码,elastic, kibana, logstash_system,beats_system       先启动es在到bin目录下执行下面命令
  2. # 重置密码并在控制台显示新密码(密码是自动生成的复杂度较高)
  3. /elasticsearch-reset-password -u 用户名
  4. # 例如重置 elastic 用户的密码
  5. ./elasticsearch-reset-password -u elastic

 2. 给用户修改指定的密码  (不好使8.x 设置用户后期有空研究)

  1. ./elasticsearch-reset-password --username 用户名 -i
  2. # 例如给 kibana 指定一个密码
  3. /elasticsearch-reset-password --username kibana -i
  4. 执行命令之后,输入y 在输入两次密码即可

 

如果开启了安全,配置了账号密码,请用下面的方式访问

使用curl localhost:9200 -u elastic:{password}如下方式访问则正常

curl localhost:9200 -u elastic:elastic

集群下配置文件修改 (config/elasticsearch.yml

  1. ******集群名**********
  2. #集群的名字,每个节点的拥有同一个名字才能认为是同一个集群
  3. #cluster.name: my-application
  4. cluster.name: es-cluster
  5. *****节点名字**********
  6. #节点的名字,保证唯一,每个节点不同,需要修改
  7. #node.name: node-1
  8. node.name: node-1(第一个节点)
  9. node.name: node-2 (第二个节点文件)
  10. node.name: node-3(第三个节点文件)
  11. ******自带属性 ********
  12. #自定义的属性,这是官方文档中自带的
  13. # Add custom attributes to the node:
  14. node.attr.rack: r1
  15. *********网络****** ***
  16. #设置成 本机 或 0.0.0.0即可
  17. http.cors.enabled: true
  18. http.cors.allow-origin: "*"
  19. http.port: 9200
  20. transport.tcp.port: 9300
  21. ******日志数据存放 *********
  22. (目录需要有普通用户的权限)
  23. #根据自己的习惯配置data文件夹
  24. #path.data: /path/to/data
  25. path.data: /app/elasticsearch-7.9.2/data
  26. # Path to log files:
  27. #path.logs: /path/to/logs
  28. path.logs: /app/elasticsearch-7.9.2/logs/logs
  29. *******内存 **************
  30. #开启启动es时锁定内存
  31. # Lock the memory on startup:
  32. #
  33. #bootstrap.memory_lock: true
  34. bootstrap.memory_lock: true
  35. ***********初始列表**********
  36. 第一个节点
  37. discovery.seed_hosts: ["10.135.139.11:9200", "10.135.139.12:9200", "10.135.139.13:9200"]
  38. cluster.initial_master_nodes: ["node-1"]
  39. client.transport.ping_timeout: 60s
  40. 第二个节点
  41. discovery.seed_hosts: ["10.135.139.11:9200", "10.135.139.12:9200", "10.135.139.13:9200"]
  42. cluster.initial_master_nodes: ["node-2"]
  43. client.transport.ping_timeout: 60s
  44. 第三个节点
  45. discovery.seed_hosts: ["10.135.139.11:9200", "10.135.139.12:9200", "10.135.139.13:9200"]
  46. cluster.initial_master_nodes: ["node-3"]
  47. client.transport.ping_timeout: 60s
  48. **********跨第三方插件访问 *************
  49. http.cors.enabled: true
  50. http.cors.allow-origin: "*"

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/742279
推荐阅读
相关标签
  

闽ICP备14008679号