elasticsearch在ubuntu下的配置以及简单使用

参考资料

官方下载地址
ELK学习实验002:Elasticsearch介绍及单机安装
ElasticSearch (ES从入门到精通一篇就够了)

前言

警告:elasticsearch默认不允许使用root账号来运行的,所以,强烈建议一开始就创建一个账号例如:es用于对elastic的部署。

给elastic创建账号

  1. 创建es用户组及es用户、并设置密码
groupadd es
### 下面的命令表示,创建esgroup下一个账号,叫es,然后自动创建对应的账号目录以及使用的shell命令。
useradd es -g es -m -s /bin/bash
passwd es

在这里插入图片描述

[测试]切换账号es看是否正常:

su es
cd ~/
pwd

有:
在这里插入图片描述
可以看到能够成功切换,且有自己的用户目录。
用户目录为:
/home/es
接下来,给es添加sudo权限:

vim /etc/sudoers
然后添加:
es    ALL=(ALL:ALL) ALL

如下图:

在这里插入图片描述
按wq! 进行强制保存,然后再测试一下:
在这里插入图片描述
好了,

  1. 更改es文件夹及内部文件的所属用户及组为es:es

在elasticsearch根目录执行此命令:

## 我这里用的是root直接赋予权限
~/software/# chown -R es:es elastic
  1. 切换到es用户再启动
su es
./bin/elasticsearch -d

出现:

./elasticsearch-env: line 86: cd: /root/software/elastic/config: Permission denied
./elasticsearch-env: line 90: cd: /root/software/elastic: Permission denied

这种问题
这是。。新版本V8的问题吗?问题吗?
下面也顺便解决下:

部署以及安装单机版本

在这里插入图片描述
上传到服务器ftp上面。然后,解压缩:

注意,请使用es账号来操作以及解压缩。
首先:
su es
然后,
es@toowhite-MS-7D48:~$ mkdir software
es@toowhite-MS-7D48:~$ cd software/
es@toowhite-MS-7D48:~/software$ sudo cp /root/software/elasticsearch-8.12.0-linux-x86_64.tar.gz ./
ls 
然后看到:

在这里插入图片描述

解压缩:
tar -xf  elasticsearch-8.12.0-linux-x86_64.tar.gz 
-- 改下名字好记点
mv elasticsearch-8.12.0 elastic
cd elastic 
ls

可以看到文件如下:
在这里插入图片描述

好了进行配置

  1. 设置ip地址,允许接受任何一个ip地址访问—ps:配置的这台搜索服务作为开发环境使用,必须能够接收内网其他机器的请求:
vim config/elasticsearch.yml
设置以下内容:
network.host: 0.0.0.0   #设置IP地址,任意网络可以访问

在这里插入图片描述
然后,调整elastic使用的内存,测试机器不需要那么多内存:

vim config/jvm.options
修改内存为:( 根据自己情况进行修改)
-Xms512m      
-Xmx512m

如下显示:
在这里插入图片描述

修改一个进程在VMAS(虚拟内存区域)创建内存映射的最大数量

sudo  vim /etc/sysctl.d/99-sysctl.conf然后,修改为:vm.max_map_count=655360然后执行:
sudo  sysctl -p /etc/sysctl.d/99-sysctl.conf

在这里插入图片描述

然后,启动:
在这里插入图片描述
启动成功。
… 我发现。。。elastic还会自己配置一堆参数的,例如如下:
在这里插入图片描述
不知道这些参数是不是随时变的。。如果随时变。。那就麻烦了。

启用http访问接口

不知道其他版本是不是启动以后就能访问http接口,但是我使用的v8不行。
具体要设置一下:[因为第一次启动以后会初始化并且添加部分参数的,下面就是要修改自动添加的参数配置]

在elastic自动配置时候,会将 http的访问给禁止了,要修改参数为:

vim config/elasticsearch.yml
xpack.security.enabled: false

重启一下:

请先用命令获得程序pid,
lsof -i:9200
来得到程序的pid,然后使用 kill pid来关闭elastic---因为http接口暂时没法用啊,没办法通过程序关闭。

可以看到:
在这里插入图片描述

https的访问

注意,自动配置的时候默认是关闭了http的访问,只开启https的访问的,如果将地址协议改成https,那么你就可以看到:
在这里插入图片描述
当你输入了正确的账号以及密码以后,也是能够正常访问的:
在这里插入图片描述

常见命令

## 后台启动
./bin/elasticsearch -d  
## 停止

创建脚本进行服务的启动以及关停。

启动

start.sh

#!/bin/sh
touch log.log#关闭之前的进程
(ps -ef | grep './bin/elasticsearch -d' | grep -v grep | awk '{print $2}' | xargs kill -9) 2>/dev/null#启动etcd服务进程
nohup ./bin/elasticsearch -d  >> log.log 2>&1 &
tail -f log.log if [ $? -eq 0 ]
thenecho "elastic:开启成功!"
elseecho "elastic:开启失败"exit #开启失败没必要进行下一步
fi

保存以后再
chmod +x start.sh

关闭

stop.sh

#!/bin/sh
mkdir logs
echo '查找端口9200的占用程序并且杀掉进程。如果elastic的http端口改变了,请同步更新到该脚本上'
lsof -ntP -i:9200 | grep -v grep|awk '{printf $1}'|  xargs kill -9
echo "查看是否正常退出进程"
lsof -i:9200
DATE=`date +%Y-%m-%d-%H-%M` #获取当前系统时间
mv log.log logs/${DATE}_log.log

然后
chmod +x stop.sh

常见错误

不允许root账号执行

在这里插入图片描述

报错:
不允许使用root账号执行。。。

xms这些参数有空格

启动以后看到:
Invalid initial heap size: -Xms512m
在这里插入图片描述

这是因为:
在这里插入图片描述

无法访问 9200 端口

先检查一下9200端口是否真的被elastic用了:
在这里插入图片描述

这种情况确实是elastic已经启动且占用了9200,那么问题是。。
在这里插入图片描述

在elastic自动配置时候,会将 http的访问给禁止了,要修改参数为:

vim config/elasticsearch.yml
xpack.security.enabled: false

重启一下:

ps: 如果http接口可以用的话,
可以直接使用:
## 关闭本地节点
curl -XPOST 'http://localhost:9200/_cluster/nodes/_local/_shutdown'
## 关闭所有节点
curl -XPOST 'http://localhost:9200/_shutdown'
这个命令,但是http没办法使用,那么可以用:
lsof -i:9200
来得到程序的pid,然后使用 kill pid来关闭。

可以看到:
在这里插入图片描述

classpath环境变量引发的惨案-NoSuchFileException

在这里插入图片描述
运行的时候可能会出现这种问题,问题在哪里?

这个问题是由于 Elasticsearch 8.x 版本与旧版本的 Java 环境变量配置不兼容导致的。
Elasticsearch 8 闪退报错:Elasticsearchjava.nio.file.NoSuchFileException: elasticsearch-8.8.2\%JAVA_HOME%\lib\dt.jar
环境变量配置错误:如果在环境变量中设置了 CLASSPATH,这可能会导致 Elasticsearch 8 找不到 dt.jar 。
请检环境变量设置,并尝试删除或修改 CLASSPATH 变量。

检查一下/etc/profile 有:
在这里插入图片描述
找到classpath,注释掉。

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

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

相关文章

亚马逊国际获得AMAZON商品详情 API

公共参数 请求地址: amazon.item_get 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]cache…

Java关于Excel文件的导入导出

人生如梦 荣华富贵 如木槿之花 朝荣夕逝 需求 导出: 能够将库表内的数据导出多个Excel表,并且生成一个压缩包,提供用户下载导入: 能够将一个压缩包内的多个Excel表解压,并获取表内的所有数据 FileUtils 工具类 publi…

【开发】长期项目与代码质量,对抗软件工程复杂度(设计、重构、规范)

【开发】长期项目与代码质量,对抗软件工程复杂度(设计、重构、规范) 文章目录 一、设计模式与设计原则二、历史债务与代码重构1、技术债务的来源2、重构—无奈之举3、工程一致性:有效控制技术债务积累的主要手段 一、设计模式与设…

基于ssm和微信小程序的健身房私教预约管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式 🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 &…

Postman-接口测试教程

接口是软件开发中常用的概念,是软件生产过程中比较核心的任务。对于接口开发者,调试接口是一件较为繁琐的事情,很多时候需要线上线下来回切换。在这里,我就跟大家介绍一个只需要在本地就可以调试接口的方法,即使用post…

java大文件分片上传

1.效果图 2.前端html <!DOCTYPE html> <html> <head></head> <body> <form><input type"file" id"fileInput" multiple><button type"button" onclick"upload()" >大文件分片上传&l…

2022年网络等级保护考试题库及答案

一、单项选择题 1.在等保1.0的根本要求中&#xff0c;网络设备防护的内容归属于网络安全&#xff0c; 在等保2.0中将其归属到〔〕。 A安全通信网络 B 安全区域边界 C 安全计算环境 D安全治理中心 答案&#xff1a;c 2.应成立指导和治理网络安全工作的委员会或领导小组&…

计算机网络_1.3电路交换、分组交换和报文交换

1.3电路交换、分组交换和报文交换 一、电路交换1、“电路交换”例子引入2、电路交换的三个阶段3、计算机之间的数据传送不适合采用电路交换 二、分组交换1、发送方&#xff08;1&#xff09;报文&#xff08;2&#xff09;分组&#xff08;3&#xff09;首部 2、交换节点3、接收…

LeetCode 使循环数组所有元素相等的最少秒数

地址&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 难度&#xff1a;中等 题目描述&#xff1a;给你一个下标从 0 开始长度为 n 的数组 nums 。 每一秒&#xff0c;你可以对数组执行以下操作&#xff1a; 对于范围在 [0, n - 1] 内的每…

代码随想录算法训练营第二十二天 |235. 二叉搜索树的最近公共祖先,701.二叉搜索树中的插入操作,450.删除二叉搜索树中的节点(待补充)

235.二叉搜索树的最近公共祖先 1、题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 2、文章讲解&#xff1a;代码随想录 3、题目&#xff1a; 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公…

深入理解二叉树:遍历、构建与性质探索的代码实现

&#x1f4f7; 江池俊&#xff1a; 个人主页 &#x1f525;个人专栏&#xff1a; ✅数据结构冒险记 ✅C语言进阶之路 &#x1f305; 有航道的人&#xff0c;再渺小也不会迷途。 文章目录 前言一、二叉树的存储结构二、二叉树链式结构的实现三、二叉树的前、中、后续遍历&…

【数据结构 07】AVL树

目录 一、二叉搜索树 二、AVL树 2.1 左单旋 2.2 右单旋 2.3 左右双旋 2.4 右左双旋 三、AVL.h 四、test.cpp 一、二叉搜索树 二叉搜索树&#xff0c;又称二叉排序树&#xff08;Binary Search Tree&#xff09;&#xff0c;相比于普通二叉树&#xff0c;BST的特性有&a…

UE5 C++ 读取本地图片并赋值到UI上

目录 结果图 节点样式 主要代码 调试代码 结果图 节点样式 主要代码 &#xff08;注释纯属个人理解&#xff0c;可能存在错误&#xff09; // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h&q…

rocketmq自定义开机自启动【systemctl方式】

环境&#xff1a; rocketmq版本&#xff1a;4.7.0 rocketmq二进制包&#xff1a;rocketmq-all-4.7.0-bin-release.zip 系统&#xff1a;linux系统 1. 准备namesrv启动脚本 mqnamesrv.sh【任意路径】 #!/bin/bash source /etc/profile workdir"/home/ec2-user/config/…

Java面向对象详解

面向对象和面向过程的区别&#xff1a; 面向对象和面向过程都是对软件分析、设计和开发的一种思想&#xff0c;它指导着人们以不同的方式去分析、设计和开发软件。C语言是一种典型的面向过程语言&#xff0c;Java是一种典型的面向对象语言。 面向过程适合简单、不需要协作的事务…

Flask和Go框架相比

Flask和Go框架是目前非常受欢迎的Web开发框架&#xff0c;它们在设计和目标上有所不同。 首先&#xff0c;Flask是一个轻量级的Python Web框架&#xff0c;而Go框架是基于Go语言的。 Flask注重简单性和灵活性&#xff0c;提供了一些基本的工具和功能&#xff0c;使得开发者能够…

C#的String.Format 方法

目录 一、重载 二、Format(String, Object) 1.定义 2.示例 三、Format(String, Object[]) 1.定义 2.示例 3.示例 将对象的值转换为基于指定格式的字符串&#xff0c;并将其插入到另一个字符串。 一、重载 Format(IFormatProvider, String, Object, Object, Object) …

PDF操作——批量删除末页

一、说明 由于PDF末页为空白页或者是免责声明需要删除&#xff0c;涉及的文件比较多&#xff0c;因此写了一小段代码进行处理。 二、完整架构流程 这个代码的整体架构流程可以分为以下几个步骤&#xff1a; 导入所需的库&#xff1a;首先&#xff0c;代码导入了PyPDF2和os两…

Optimism的挑战期

1. 引言 前序博客&#xff1a; Optimism的Fault proof 用户将资产从OP主网转移到以太坊主网时需要等待一周的时间。这段时间称为挑战期&#xff0c;有助于保护 OP 主网上存储的资产。 而OP测试网的挑战期仅为60秒&#xff0c;以简化开发过程。 2. OP与L1数据交互 L1&#xf…

探索智能巡检机器人深度学习的奥秘

机器人深度学习&#xff08;Robot Deep Learning&#xff09;是指利用深度学习技术&#xff0c;使机器人能够从大量数据中学习和提取特征&#xff0c;进而实现自主感知、决策和行动的能力。通过深度学习算法&#xff0c;机器人可以从传感器获取的数据中自动学习模式和规律&…