CentOS7中安装ElasticSearch

news2024/11/16 18:06:50

在这里插入图片描述

文章目录

    • 检测是否安装了Elasticsearch
    • 安装JDK
      • 下载java
      • 配置
    • 下载Elasticsearch
    • 解压安装Elasticsearch
    • 修改配置文件
    • 启动Elasticsearch
    • 常见问题

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。接下来将记录一下如何在Linux服务器上安装Elasticsearch。

检测是否安装了Elasticsearch

ps aux|grep elasticsearch

安装JDK

安装JDK具体操作,请点击链接

下载java

https://www.oracle.com/index.html

地址:https://www.oracle.com/java/technologies/javase-jdk15-downloads.html

https://java.com/en/download/linux_manual.jsp

下载版本: jre-8u271-linux-x64.tar.gz

下载地址:https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/8/jdk/x64/linux/

配置

vi /etc/profile

在末尾添加如下代码:
需要设置权限
chmod -R 777 /mnt/humx/tools/java/jdk8u275-b01

#java
export JAVA_HOME=/mnt/humx/tools/java/jdk8u275-b01
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


退出编辑器,使用如下命令使环境变量生效

source /etc/profile

测试是否安装成功

java -version

openjdk version "1.8.0_275"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_275-b01)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.275-b01, mixed mode)
[root@iZwz9flnbsu8mylcqnd3l4Z java]# vim /etc/profile


下载Elasticsearch

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.tar.gz

或者从官网中下载相应的压缩包,使用ftp上传至服务器进行压缩安装:\

下载地址:https://www.elastic.co/downloads/elasticsearch\

这里选择6.0版本的Elasticsearch,选择对应的安装包进行下载

解压安装Elasticsearch

解压到当前目录

tar -zxvf elasticsearch-6.0.0.tar.gz

安装,将Elasticsearch移动到/usr/local/elasticsearch目录之中

mv elasticsearch-6.0.0 /usr/local/elasticsearch

修改配置文件

进入/usr/local/elasticsearch/config目录,使用vi编辑器

vi elasticsearch.yml

取消如下注释,并修改为当前主机地址:

network.host: 192.168.0.156
discovery.zen.ping.unicast.hosts: ["192.168.0.156"]

使用vi编辑器,修改/etc/sysctl.conf文件,添加如下代码(若无将会出现下面常见问题2):

vm.max_map_count=262144

退出保存后执行如下命令:

sysctl -p

使用vi编辑器,修改/etc/security/limits.conf文件,在文件末尾添加如下代码(若无将会出现下面常见问题3):

python为登录服务器的用户名

python soft nofile 65536
python hard nofile 65536
python soft nproc  4096
python hard nproc  4096

或者

* soft memlock unlimited
* hard memlock unlimited

值得注意的是,python为登录的用户名。修改退出保存之后,切记需要退出重新登录,配置才能生效!!!

启动Elasticsearch

进入/usr/local/elasticsearch目录之中,输入以下命令,开始Elasticsearch服务:

前台启动 ./bin/elasticsearch
后台启动 ./bin/elasticsearch -d

测试一下:

curl -XGET 'http://0.0.0.0:9200/'

出现以下代码,就表示安装完成了:

{
  "name": "bWU0DBI",
  "cluster_name": "elasticsearch",
  "cluster_uuid": "-sm1xR7iQsG-SczdgfROSw",
  "version": {
    "number": "6.0.0",
    "build_hash": "8f0685b",
    "build_date": "2017-11-10T18:41:22.859Z",
    "build_snapshot": false,
    "lucene_version": "7.0.1",
    "minimum_wire_compatibility_version": "5.6.0",
    "minimum_index_compatibility_version": "5.0.0"
  },
  "tagline": "You Know, for Search"
}

常见问题

问题1:org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

解决:es不允许以root用户运行,需要单独创建用户;Elasticsearch版本> = 5.0.0时,是不可用超级管理员运行Elasticsearch的,退出管理员账号即可

groupadd es
useradd es -g es
chown -R es:es elasticsearch-6.5.4
然后切换至es用户,启动
su es
./bin/elasticsearch

问题2: max virutal memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决方案,请看上面修改配置文件第2项

问题3: max number of threads [3750] for user [xxx] is too low, increase to at least [4096]

在网上找到的答案都是修改/etc/security/limits.d/90-nproc.conf文件,可是我发现我系统中根本不存在此文件!!!后又请教高人朋友,说是可以修改/etc/security/limits.conf文件,修改发现之后也根本不管用,原来修改该文件之后需要退出重新登录一下才管用。具体修改配置,请看修改配置文件第3项

问题4:
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error=‘Cannot allocate memory’ (errno=12)

解决:config/jvm.optipons配置文件,默认jvm内存时1g,而当前机器不够1g,可以修改小一点,个人学习用可以修改成 128m

-Xms128m
-Xmx128m

问题5:
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N

解决:config/jvm.optipons配置文件添加 -XX:-AssumeMP

问题6:远程访问 (rds需要设置白名单 9200端口通顺)
可以修改 Elastic 安装目录的config/elasticsearch.yml文件,去掉network.host的注释,将它的值改成0.0.0.0,设成0.0.0.0让任何人都可以访问。线上服务不要这样设置,要设成具体的 IP然后重新启动 Elastic。

network.host: 0.0.0.0
浏览器访问 xxxxx:9200

问题7 max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

先要切换到root用户

然后可以执行以下命令,设置 vm.max_map_count ,但是重启后又会恢复为原值。
sysctl -w vm.max_map_count=262144
持久性的做法是在 /etc/sysctl.conf 文件中修改 vm.max_map_count 参数:

echo "vm.max_map_count=262144" > /etc/sysctl.conf
sysctl -p

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1423688.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kotlin 协程1:深入理解withContext

Kotlin 协程1:深入理解withContext 引言 在现代编程中,异步编程已经变得非常重要。在 Kotlin 中,协程提供了一种优雅和高效的方式来处理异步编程和并发。在这篇文章中,我们将深入探讨 Kotlin 协程中的一个重要函数:wi…

SpringMVC实现对网页的访问,在请求控制器中创建处理请求的方法

目录 测试HelloWorld RequestMapping注解 RequestMapping注解的位置 RequestMapping注解的value属性 RequestMapping注解的method属性 SpringMVC支持路径中的占位符(重点) SpringMVC获取请求参数 1、通过ServletAPI获取 2、通过控制器方法的形参…

华为VRP系统简介

因为现在国内主流是华为、华三、锐捷的设备趋势,然后考的证书也是相关的,对于华为设备的一个了解也是需要的。 一、VRP概述 华为的VRP(通用路由平台)是华为公司数据通信产品的通用操作系统平台,作为华为公司从低端到核心的全系列路由器、以太…

Narak靶机渗透

靶场下载地址:https://download.vulnhub.com/ha/narak.ova 一、靶机配置 导入靶机 攻击机kali的IP为192.168.245.131,靶机的IP设置成NAT模式。 二、信息搜集 用攻击机对存活主机进行扫描及端口探测 对发现的存活主机进行全端口扫描,还是只开…

Mac删除自带的ABC输入法,简单快捷

一、下载PlistEdit Pro软件 二、终端执行 sudo open ~/Library/Preferences/com.apple.HIToolbox.plist 三、其中有一个数字下面的KeyboardLayout Name的value为“ABC”,这就是ABC输入法,点击上面的Delete按钮,删除整项ABC内容&#xff0c…

设置frp在ubuntu开机自启

要在 Ubuntu 上启动 FRP,您可以按照以下步骤进行操作: 下载适用于 Ubuntu 的 FRP。您可以从官方网站下载最新版本的 FRP:https://github.com/fatedier/frp/releases 解压下载的 FRP 文件。您可以使用以下命令从终端解压文件: t…

面试篇-SpringBoot自动配置原理

在Spring Boot中,自动装配是一种强大的功能,它允许开发者快速、简单地配置和管理应用程序的组件。以下是对Spring Boot自动装配原理的详细解释: Spring BootApplication注解源码: SpringBootApplication注解是一个复合注解&#x…

91 C++对象模型探索。RTTI运行时类型识别回顾 与 存储位置介绍

一,RTTI 运行时类型识别,简单回顾 C运行时类型识别RTTI,要求父类这种必须 至少有一个虚函数,如果父类中没有虚函数,那么得到的RTTI就不准确; RTTI就可以在执行期间查询一个多态指针,或者多态应…

初始化和赋值

列表初始化 #include <iostream>struct test{int a; };class object{ public:object(int v10):a{v}{}int a; };int main(){test t1;test t2{};std::cout<<t1.a<<std::endl;std::cout<<t2.a<<std::endl;object b2{11};std::cout<<b2.a<…

详解SpringCloud微服务技术栈:深入ElasticSearch(4)——ES集群

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;详解SpringCloud微服务技术栈&#xff1a;深入ElasticSearch&#xff08;3&#xff09;——数据同步&#xff08;酒店管理项目&a…

C++ 之LeetCode刷题记录(二十四)

&#x1f604;&#x1f60a;&#x1f606;&#x1f603;&#x1f604;&#x1f60a;&#x1f606;&#x1f603; 开始cpp刷题之旅。 目标&#xff1a;执行用时击败90%以上使用 C 的用户。 119. 杨辉三角 II 给定一个非负索引 rowIndex&#xff0c;返回「杨辉三角」的第 rowI…

TI AM5708工业派

文章目录 一、TI AM5708工业派简介二、主要使用的功能三、J12 扩展接口四、NFS代码实现总结 一、TI AM5708工业派简介 TI AM5708工业派是基于美国德州仪器&#xff08;TI&#xff09;的AM5708处理器所开发的智能硬件工业派&#xff0c;主要面向工业生产、图像处理、智能人机交…

基于单片机的烟草干燥温度控制系统设计

摘 要&#xff1a;烟草干燥研究一直备受国内外烟草工作者的重视&#xff0c;在烟草干燥的方法中热风管处理法是利用热空气对流使烟草达到干燥的效果&#xff0c;这样可以控制烟草干燥时的温度&#xff0c;使烟草能够更好更快地干燥&#xff0c;因此温度的检测和控制是很重要的。…

C语言基础14

今天是学习嵌入式相关内容的第十五天&#xff0c;以下是今日所学内容 1.内存管理: 1.malloc void *malloc(size_t size); 2.free void free(void *ptr); 练习:要求申请堆区空间,将"hello world"存放到堆区空间,完成打印 2.内存溢出: 内存溢出也…

Java多线程--线程安全问题练习题

文章目录 &#xff08;1&#xff09;练习题1&#xff08;2&#xff09;练习题2&#xff08;3&#xff09;练习题3 现在咱们线程一共说了这么几件事情&#xff0c;如下&#xff1a; 具体文章见专栏。 接下来看几个练习题吧。 &#xff08;1&#xff09;练习题1 &#x1f30b;题…

会议会务报名签到互动抽奖视频图片直播公众号开发

会议会务报名签到互动抽奖视频图片直播公众号开发 现在越来越多的人进行网络签到&#xff0c;特别是大型的会务/展会&#xff0c;网络签到进场形式应用的越来越广泛也是发展的趋势&#xff1b;会助力智能会议管理系统&#xff1a;可以实现在线报名&#xff08;免费/付费/后台导…

结构体的学习

结构体与共用体&#xff0c;枚举 1.数据类型复习&#xff1a; 2结构体. eg&#xff1b;统计全校同学信息 需要记录的点--- 姓名&#xff0c;班级&#xff0c;性别&#xff0c;成绩&#xff0c;年龄 统计名字&#xff1a;char s[ ] [ 100 ] { "Tmo" } …

Linux ---- Shell编程三剑客之sed

一、sed工具概述 1、sed概念 Sed&#xff08;Stream EDitor&#xff09;是一个强大而简单的文本解析转换工具可以读取文本&#xff0c;并根据指定的条件对文本内容进行编辑&#xff08;删除、替换、添加、移动等&#xff09;&#xff0c;最后输出所有行或者仅输出处理的某些行…

ONLYOFFICE文档8.0现已发布,功能全新升级!

本文目录-ONLYOFFICE 前言&#xff1a;ONLYOFFICE介绍一、经济实惠的开源选择二、自主部署保证数据安全三、灵活的定制与集成四、强大的跨平台全面支持ONLYOFFICE文档8.0更新内容更新一&#xff1a;显示协作者头像更新二&#xff1a;插件UI界面更新更新三&#xff1a;可填写的P…

springboot 怎么设置局域网访问

如何配置Spring Boot应用以实现局域网访问 在开发一个Spring Boot应用时&#xff0c;我们通常会通过localhost来访问和测试我们的应用。但是&#xff0c;当我们想要在局域网中分享我们的应用&#xff0c;供其他设备访问时&#xff0c;仅仅使用localhost是不够的。本文将引导你…