CentOS7中安装ElasticSearch

在这里插入图片描述

文章目录

    • 检测是否安装了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 -versionopenjdk 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.hqwc.cn/news/443234.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构 02】队列

一、原理 队列通常是链表结构,只允许在一端进行数据插入,在另一端进行数据删除。 队列的特性是链式存储(随机增删)和先进先出(FIFO:First In First Out)。 队列的缺陷: 不支持随机…

【C/C++】C/C++编程——整型(一)

整型 C 中的整型是基本的数据类型之一,用于表示没有小数部分的数。这包括正整数、负整数以及零。C 提供了多种整型,以适应不同大小的数值需求和优化内存使用。 整型的种类 C 中的整型可以根据其大小(即占用的字节数)和能够表示…

方法阻塞的解决方案之一

1、简单使用 一个h一个cpp文件 #pragma once #include <iostream> #include <thread> #include <atomic> #include <chrono> #include <string>class Person {public:struct dog {std::string name;int age;};public:void a(std::atomic<bo…

笔记本从零安装ubuntu server系统+环境配置

文章目录 前言相关链接ubuntu Server 安装教程屏幕自动息屏关上盖子不休眠MobaXterm外网SSH内网穿透IPV6远程 为什么我要笔记本装Linux为什么要换ubuntu Server版能否连接wifi之后Linux 配置清单总结 前言 之前装了个ubuntu desktop 版&#xff0c;发现没有命令行&#xff0c;…

《HTML 简易速速上手小册》第4章:HTML 的表单与输入(2024 最新版)

文章目录 4.1 表单的基础&#xff08;&#x1f4dd;&#x1f680;&#x1f4ac; 开启沟通的大门&#xff09;4.1.1 表单基础知识点4.1.2 基础示例&#xff1a;创建一个简单的注册表单4.1.3 案例扩展一&#xff1a;创建一个调查问卷4.1.4 案例扩展二&#xff1a;创建一个预订表单…

【01】Linux 基本操作指令

带⭐的为重要指令 &#x1f308; 01、ls 展示当前目录下所有文件&#x1f308; 02、pwd 显示用户当前所在路径&#x1f308; 03、cd 进入指定目录&#x1f308; 04、touch 新建文件&#x1f308; 05、tree 以树形结构展示所有文件⭐ 06、mkdir 新建目录⭐ 07、rmdir 删除目录⭐…

【Java 数据结构】LinkedList与链表

LinkedList与链表 1. ArrayList的缺陷2. 链表2.1 链表的概念及结构2.2 链表的实现 3. LinkedList的模拟实现4.LinkedList的使用4.1 什么是LinkedList4.2LinkedList的使用 5. ArrayList和LinkedList的区别 1. ArrayList的缺陷 上节课已经熟悉了ArrayList的使用&#xff0c;并且…

虚拟机扩容后黑屏卡死解决方法

亲测有效&#xff0c;首先一般是在扩容后黑屏的&#xff0c;现象为开机后看到个横线光标不闪&#xff0c;黑屏&#xff0c;进入不了桌面。原因是硬盘已经满了&#xff0c;所以解决方法就是清理硬盘。所以首先还是要解决登录问题。 开机时按 esc 键进入 GNU GRUB&#xff0c;选择…

windows平台使用tensorRT部署yolov5详细介绍,整个流程思路以及细节。

目录 Windows平台上使用tensorRT部署yolov5 前言&#xff1a; 环境&#xff1a; 1.为什么要部署&#xff1f; 2.那为什么部署可以解决这个问题&#xff1f;&#xff08;基于tensorRT&#xff09; 3.怎么部署&#xff08;只讨论tensorRT&#xff09; 3.0部署的流程 3.1怎…

GoLang和GoLand的安装和配置

1. GoLang 1.1 特点介绍 Go 语言保证了既能达到静态编译语言的安全和性能&#xff0c;又达到了动态语言开发维护的高效率&#xff0c;使用一个表达式来形容 Go 语言&#xff1a;Go C Python , 说明 Go 语言既有 C 静态语言程序的运行速度&#xff0c;又能达到 Python 动态语…

闭包的理解?闭包使用场景

说说你对闭包的理解&#xff1f;闭包使用场景 #一、是什么 一个函数和对其周围状态&#xff08;lexical environment&#xff0c;词法环境&#xff09;的引用捆绑在一起&#xff08;或者说函数被引用包围&#xff09;&#xff0c;这样的组合就是闭包&#xff08;closure&#…

Vite+Vue3使用Vue-i18n笔记

一、下载依赖 vue-i18n yarn add vue-i18n创建存放语言文件的目录 以及配置文件的配置 我是在src/lang 新建index.ts、cn.ts、en.ts以及test文件夹其中再分别新建cn.ts以及en.ts /lang/index.ts 用于导出vue-i18n需要的配置对象 import en from "./en.ts"; import…