草庐IT

elasticsearch安装

我的搬砖日常 2023-09-08 原文

总结

  1. es 8.6.0  jdk17版本 ik下载下来 打成jar需要的环境也是jdk17 后期放弃了,本人jdk1.8不想弄了
  2. 后期全部替换 es 7.5.2版本了,  对应 jdk8版本 

1 安装前置

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

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

Elasticsearch版本JDK版本
5.0.x-----6.1.xJDK 8
6.2.xJDK 8、JDK 9
6.3.x8、10
6.4.x8、10
6.5.x---6.6.x8, 11
6.7.x8,11,12
7.17.819
7.5.28
8.6.017

 官网下载版本地址

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安装

安装对应jdk版本

直接解压es

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

 创建存储文件夹

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

2)编辑 elasticsearch.yml:

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

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

#数据存储目录
path.data: /usr/local/elasticsearch-8.6.0/data
#日志存储目录
path.logs: /usr/local/elasticsearch-8.6.0/logs

# 有则放开,无测加上
#给集群设置一个名字,如果是集群部署,所有实例的集群名必须一样 都要叫 "cluster-name"
cluster.name: cluster-name

# 有则放开,无测加上 
# 集群下节点名,集群部署,集群中每个实例必须不能一样 "node-1","node-2"
node.name: node-1

# 有则放开,无测加上 自带的属性
node.attr.rack: r1

# 有则放开,无测加上 允许哪个ip访问配置 配置这个 全网都能访问 0.0.0.0
# network.host: 192.168.1.5
network.host: 0.0.0.0

# 对外访问的端口
http.port: 9200



#master节点发现 和上面配置的名称要保持一致
cluster.initial_master_nodes: ["node-1"]
#cluster.initial_master_nodes: ["node-1", "node-2"]

# 8.6.0是默认开启的 关闭安全用户 false
xpack.security.enabled: false
xpack.security.transport.ssl.enabled: false

#允许跨域,使用head等插件监控集群信息
http.cors.enabled: true
http.cors.allow-origin: "*"
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的,不要配置第二行

#es安装路径
export ES_HOME=/usr/local/elasticsearch-8.6.0
# 如果本地安装jdk符合es版本 即可配置 
# 否则不配置,让其使用自带jdk版本,有的es可能不自带jdk,而且和jdk配置的全局冲突好像
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

-Xms512m
-Xmx512m

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

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

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

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

#步骤一 将ik下载到本地(注意对应版本)打包
#步骤二  cd 你的es/plugins/ && mkdir ik
#步骤三  将打包的zip解压到 创建的ik目录
target\releases\elasticsearch-analysis-ik-7.4.0.zip
#步骤四 修改ik的配置文件  plugin-descriptor.properties 和es版本对应上
#步骤五  重启es

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

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

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

#创建用户es
useradd es   

# 给已创建的用户es设置密码 我设置的密码 (12345678)
passwd es  

#给用户es授权 
#将安装es目录授权给es用户
chown -R es:es /usr/local/elasticsearch-8.6.0
#操作权限(可以不给)
# chmod 770 /usr/local/elasticsearch-8.6.0/

#切换用户为es
su es  

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

./elasticsearch -d

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

 

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

# 将当前用户的软硬限制调大
vim /etc/security/limits.conf
在文件的最后追加如下配置:
soft nofile 65535
es hard nofile 65537

说明: soft nofile表示软限制,hard nofile表示硬限制。两行语句表示,
es用户的软限制为65535,硬限制为65537,即表示es用户能打开的最大文件数量为65537,
不管它开启多少个shell。
===============================

#编辑这个文件
vim /etc/sysctl.conf

#添加这个内容
vm.max_map_count=262145

#刷新配置
sysctl -p

一定要启动后  在关闭安全

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

   

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

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

[elastic@console bin]$ vim ../config/elasticsearch.yml
    xpack.license.self_generated.type: basic
	http.cors.enabled: true
	http.cors.allow-origin: "*"
	http.cors.allow-headers: Authorization
	xpack.security.enabled: true
	xpack.security.transport.ssl.enabled: true

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

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

执行设置用户名和密码的命令,这里需要为4个es内置用户分别设置密码,elastic, kibana, logstash_system,beats_system       先启动es在到bin目录下执行下面命令

# 重置密码并在控制台显示新密码(密码是自动生成的复杂度较高)
/elasticsearch-reset-password -u 用户名

# 例如重置 elastic 用户的密码
./elasticsearch-reset-password -u elastic

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

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

 

 

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

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

curl localhost:9200 -u elastic:elastic

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

******集群名**********
#集群的名字,每个节点的拥有同一个名字才能认为是同一个集群
#cluster.name: my-application
cluster.name: es-cluster
 
*****节点名字**********
#节点的名字,保证唯一,每个节点不同,需要修改
#node.name: node-1
node.name: node-1(第一个节点)
node.name: node-2 (第二个节点文件)
node.name: node-3(第三个节点文件)
 
******自带属性 ********
#自定义的属性,这是官方文档中自带的
 
# Add custom attributes to the node:
  node.attr.rack: r1
 
*********网络****** ***
#设置成 本机 或 0.0.0.0即可
 
http.cors.enabled: true
http.cors.allow-origin: "*"
http.port: 9200
transport.tcp.port: 9300
 
******日志数据存放 *********
(目录需要有普通用户的权限)
#根据自己的习惯配置data文件夹
#path.data: /path/to/data
 path.data: /app/elasticsearch-7.9.2/data
# Path to log files:
 
#path.logs: /path/to/logs
 path.logs: /app/elasticsearch-7.9.2/logs/logs
*******内存 **************
#开启启动es时锁定内存
# Lock the memory on startup:
#
#bootstrap.memory_lock: true
 bootstrap.memory_lock: true
 
***********初始列表**********
第一个节点
discovery.seed_hosts: ["10.135.139.11:9200", "10.135.139.12:9200", "10.135.139.13:9200"]
 cluster.initial_master_nodes: ["node-1"]
 client.transport.ping_timeout: 60s
第二个节点
discovery.seed_hosts: ["10.135.139.11:9200", "10.135.139.12:9200", "10.135.139.13:9200"]
 cluster.initial_master_nodes: ["node-2"]
 client.transport.ping_timeout: 60s
第三个节点
discovery.seed_hosts: ["10.135.139.11:9200", "10.135.139.12:9200", "10.135.139.13:9200"]
 cluster.initial_master_nodes: ["node-3"]
 client.transport.ping_timeout: 60s
**********跨第三方插件访问 *************
 
http.cors.enabled: true
http.cors.allow-origin: "*"

有关elasticsearch安装的更多相关文章

  1. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  2. ruby - 完全离线安装RVM - 2

    我打算为ruby​​脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn

  3. ruby-on-rails - rails 目前在重启后没有安装 - 2

    我有一个奇怪的问题:我在rvm上安装了ruby​​onrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(

  4. ruby - 如何为 emacs 安装 ruby​​-mode - 2

    我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby​​提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs

  5. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  6. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

  7. ruby - 如何在 Lion 上安装 Xcode 4.6,需要用 RVM 升级 ruby - 2

    我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121

  8. ruby - Fast-stemmer 安装问题 - 2

    由于fast-stemmer的问题,我很难安装我想要的任何ruby​​gem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=

  9. ruby - 安装 Ruby 时遇到问题(无法下载资源 "readline--patch") - 2

    当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub

  10. ruby - 通过 RVM 安装 Ruby 1.9.2 永远行不通! - 2

    当我执行>rvminstall1.9.2时一切顺利。然后我做>rvmuse1.9.2也很顺利。但是当涉及到ruby​​-v时..sam@sjones:~$rvminstall1.9.2/home/sam/.rvm/rubies/ruby-1.9.2-p136,thismaytakeawhiledependingonyourcpu(s)...ruby-1.9.2-p136-#fetchingruby-1.9.2-p136-#downloadingruby-1.9.2-p136,thismaytakeawhiledependingonyourconnection...%Total%Rece

随机推荐