linux安装elasticsearch

Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

1.0 安装Java环境

安装Elasticsearch之前,需要安装Java8或Java8以上的Java环境,如果没有安装Java的,可以看之前的一篇文章《CentOS安装Java JDK》

linux安装elasticsearch

1.1 下载ES

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.1-linux-x86_64.tar.gz

这里你可以找到elasticsearch最新的安装包。

下载之后用sudu rz -y上传到linux服务器的/opt目录。

1.2 解压文件

tar -zxvf elasticsearch-7.0.0.tar.gz

1.3 安装完事删除压缩包

rm -rf elasticsearch-7.0.0-linux-x86_64.tar.gz

2.0 创建Elasticsearch用户组

groupadd esgroup

2.1 创建es用户

useradd esuser

passwd esuser

enter password

注意:为es用户设置密码时:1、密码不得包含用户名,即:esuser 2、密码长度大于8位

本示例中我设置的测试密码是:toutoudemo

2.2 把用户esuser添加到esgroup用户组

usermod -G esgroup esuser

2.3 设置sudo权限

[root@localhost toutou]# visudo
#在root ALL=(ALL) ALL 一行下面
#添加estest用户 如下:
esuser ALL=(ALL) ALL
#添加成功保存后切换到es用户操作
[root@localhost toutou]# su esuser
[es@localhost root]$

2.4 验证esuser的sudo权限

sudo -l -U esuser

linux安装elasticsearch

2.5 更改elasticsearch-7.3.1文件夹以及内部文件的所属用户为esuser, 用户组组为esgroup

sudo chown -R esuser:esgroup elasticsearch-7.3.1

3.1 设置elasticsearch.yml

cluster.name: my-application
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
cluster.initial_master_nodes: ["node-1"]

elasticsearch.yml属性含义:

属性 cluster.name 如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
属性 node.name 节点名可以忽略
属性 node.master 指定该节点是否有资格被选举成为node,默认是true
属性 index.number_of_shard 设置默认索引分片个数,默认为5片
属性 index.number_of_replica 设置默认索引副本个数,默认为1个副本
属性 path.conf 设置配置文件的存储路径,默认是es根目录下的config文件夹。
属性 path.data 设置索引数据的存储路径,默认是es根目录下的data文件夹
属性 path.work 设置临时文件的存储路径,默认是es根目录下的work文件夹
属性 path.logs 设置日志文件的存储路径,默认是es根目录下的logs文件夹
属性 path.repo 快照存储路径
属性 gateway.recover_after_nodes 设置集群中N个节点启动时进行数据恢复,默认为1
属性 network.host 映射出来的ip
属性 transport.tcp.port 设置节点间交互的tcp端口,默认是9300
属性 http.port: 9200 设置对外服务的http端口,默认为9200
属性 index.number_of_replicas 索引的复制副本数量
属性 indices.fielddata.cache.size fielddata缓存限制,默认无限制
属性 indices.breaker.fielddata.limit fielddata级别限制,默认为堆的60%
属性 indices.breaker.request.limit request级别请求限制,默认为堆的40%
属性 indices.breaker.total.limit 保证上面两者组合起来的限制,默认堆的70%
属性 discovery.zen.ping.multicast.enabled 是否广播模式,默认true,广播模式即同一个网段的ES服务只要集群名[cluster.name]一致,则自动集群
属性 discovery.zen.ping.unicast.hosts 手动指定,哪个几个可以ping通的es服务做集群,注意该设置应该设置在master节点上,data节点无效

3.2 修改/etc/sysctl.conf

注意切换回root 用户 执行

vm.max_map_count=262144

保存退出后,使用sysctl -p 刷新生效

3.3 修改文件/etc/security/limits.conf

* hard nofile 65536
* soft nofile 65536

* soft nproc 2048
* hard nproc 65536

bin/elasticsearch

linux安装elasticsearch

elasticsearch-head是基于nodejs开发的,所以需要安装nodejs环境

4.0 载nodejs 安装包

wget https://nodejs.org/dist/v10.13.0/node-v10.13.0-linux-x64.tar.xz

4.1 安装nodejs

tar -xvf node-v10.13.0-linux-x64.tar.xz

4.2 配置nodejs环境变量

vim /etc/profile

##配置nodejs 的HOME目录
export NODEJS_HOME=/usr/local/node-v10.13.0-linux-x64
##加入nodejs的环境变量
export PATH=${JAVA_HOME}/bin:${NODEJS_HOME}/bin:$PATH

保存/etc/profile,并执行 source /etc/profile使其生效。

4.3 验证nodejs安装是否成功

node -v

4.4 下载es-head并解压

wget https://github.com/mobz/elasticsearch-head/archive/master.zip

unzip master.zip

4.5 进入解压head目录

执行 npm install

若提示npm不可用,则需要安装npm sudo apt-get install npm

4.6 运行elasticsearch-head服务

npm run start

启动后浏览器中输入http://localhost:9100,效果如下:

linux安装elasticsearch

4.7 配置es的连接地址

vim /opt/elasticsearch-head/_site/app.js

this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://ip:9200";

4.8 修改Elasticsearch 服务配置属性

修改elasticsearch服务配置文件允许跨域(在elasticsearch.yml文件中添加)

http.cors.enabled: true
http.cors.allow-origin: "*"

4.9 测试效果

linux安装elasticsearch

作 者: 请叫我头头哥
出 处:http://www.cnblogs.com/toutou/
关于作者:专注于基础平台的项目开发。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角 推荐一下。您的鼓励是作者坚持原创和持续写作的最大动力!

Original: https://www.cnblogs.com/toutou/p/install_elasticsearch.html
Author: 请叫我头头哥
Title: linux安装elasticsearch

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/586988/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 根据表结构自动生成JavaBean,史上最强最专业的表结构转JavaBean的工具(第10版)

    第10版更新震撼发布,效率性能大提升,功能更加强大,速度过来围观,这次版本更新如下:1、新增数据库连接池并可以手动配置,提升数据库连接的使用效率。2、新增多线程并发处理并可以手动配…

    Java 2023年6月9日
    0104
  • EMT4J——让 Java 应用升级更轻松

    JDK 升级对于 Java 应用来说是不得不面对的事情,一方面 Java 生态系统希望 Java 应用能跟上最新 JDK 版本: Oracle 建议将 JDK 的 LTS 版本的发…

    Java 2023年5月29日
    085
  • 02、Java的lambda表达式和JavaScript的箭头函数

    前言 在JDK8和ES6的语言发展中,在Java的lambda表达式和JavaScript的箭头函数这两者有着千丝万缕的联系;本次试图通过这篇文章弄懂上面的两个”语法糖…

    Java 2023年6月13日
    0118
  • Python requests, pasel多线程爬取并下载小说

    使用PYTHON语言,用到的外部包有pasel, requests。 逻辑:首先得到该小说所有章节地址,再使用多线程访问链接,得到的内容放入object列表中,最后写入本地文件。 …

    Java 2023年6月9日
    0113
  • Java se

    一些需要注意的点 ConcurrentHashMap CAS是乐观锁 CopyOnWriteArrayList的add方法 Lamda表达式 lambda 表达式只能引用标记了 f…

    Java 2023年6月9日
    0152
  • 算法设计与分析———分治算法

    一、分治法的设计思想 分治法将一个难以直接解决的大问题划分为一些规模较小的子问题,分别求解各个子问题,再合并子问题的解得到原问题的解。 分治法的典型情况 二、分治法的求解过程 一般…

    Java 2023年6月5日
    0102
  • linux 文件系统损坏修复

    系统突然掉电,导致重启后文件系统损坏,由于是测试服务器,长时间没关注,磁盘还满了。CRT登录rz文件时候发现报错,然后重启时候linux报错 /dev/VolGroup00/Log…

    Java 2023年6月5日
    0125
  • 【工作篇】接口幂等问题探究

    最近遇到一些问题,表单重复提交,导致插入重复数据到数据库,这里查询一些通用的方案,自己都实践一下,以后好回顾。 幂等含义 幂等(idempotent、idempotence)是一个…

    Java 2023年6月5日
    078
  • CSS速学!!

    padding:内边距 缩写:缩写: padding:值; 上下左右的内边距一样 padding:值1 值2; 值1代表上下内边距,值2代表左右内边距 padding:值1 值2 …

    Java 2023年6月9日
    076
  • 代码优化记录

    代码优化记录 神龟虽寿,犹有竟时。 神龟虽寿 犹有竟时 Original: https://www.cnblogs.com/taojietaoge/p/15853508.htmlA…

    Java 2023年6月5日
    096
  • Java多线程(一)

    Java多线程(一) Java多线程(一) – 一、基本概念:程序、进程、线程 二、多线程的创建与使用 2.1 多线程的创建方式一:继承于Thread类 2.2 Thr…

    Java 2023年6月9日
    0123
  • Nginx+php+mysql+wordpress搭建自己的博客站点

    服务器环境要求Centos 6 或以上版本(由于我们的目标是半小时内搭建好,那就选简单yum安装)MySQL 5或更新版本Nginx 1或更新版本PHP 5 或更新版本 php-f…

    Java 2023年6月8日
    0190
  • Fork/Join框架

    我们要使用ForkJoin框架,必须首先创建一个ForkJoin任务。它提供在任务中执行 fork()和 join() 操作的机制,通常情况下我们不需要直接继承ForkJoinTa…

    Java 2023年6月6日
    078
  • 20220929-ArrayList扩容机制源码分析

    示例代码 public class ArrayListSource { public static void main(String[] args) { ArrayList arr…

    Java 2023年6月15日
    079
  • 微服务架构的基础框架选择:Spring Cloud还是Dubbo?

    https://zhuanlan.zhihu.com/p/25450681?refer=dreawer 最近一段时间不论互联网还是传统行业,凡是涉及信息技术范畴的圈子几乎都在讨论微…

    Java 2023年5月30日
    084
  • 公众号文章汇总

    JDK源码分析实战系列-ThreadLocal自旋锁-JUC系列Doug Lea文章阅读记录-JUC系列AQS源码一窥-JUC系列AQS源码二探-JUC系列AQS源码三视-JUC系…

    Java 2023年6月14日
    096
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球