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 ]
then
    echo "elastic:开启成功!"
else
    echo "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来关闭。

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

相关推荐

  1. AnacondaUbuntu安装与简单使用

    2024-01-28 06:12:03       105 阅读
  2. ubuntu环境openssl库简单使用

    2024-01-28 06:12:03       51 阅读
  3. Elasticsearch本地单机配置以及php组件使用记录

    2024-01-28 06:12:03       54 阅读
  4. Ubuntu使用Typora导出文档

    2024-01-28 06:12:03       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-28 06:12:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-28 06:12:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-28 06:12:03       82 阅读
  4. Python语言-面向对象

    2024-01-28 06:12:03       91 阅读

热门阅读

  1. WPF自定义控件,聚合器模式传递消息

    2024-01-28 06:12:03       66 阅读
  2. 2023年企业网络安全预算情况分析

    2024-01-28 06:12:03       56 阅读
  3. VUE3 加载自定义SVG文件

    2024-01-28 06:12:03       55 阅读
  4. 模型训练trick篇

    2024-01-28 06:12:03       66 阅读
  5. MySQL封装JDBC为工具类(JDBC简化)

    2024-01-28 06:12:03       56 阅读
  6. MySQL 函数参考手册(MySQL 字符串函数)

    2024-01-28 06:12:03       43 阅读
  7. 中科大--高级数据库期末试卷

    2024-01-28 06:12:03       58 阅读
  8. MySQL 函数参考手册(MySQL 数值函数)

    2024-01-28 06:12:03       35 阅读
  9. mysql数据库的备份和恢复

    2024-01-28 06:12:03       54 阅读
  10. 基础算法--搜索与图论(2)

    2024-01-28 06:12:03       37 阅读
  11. 图论第一天|797.所有可能的路径 200. 岛屿数量

    2024-01-28 06:12:03       67 阅读
  12. vue项目使用element-plus

    2024-01-28 06:12:03       50 阅读
  13. 题记(32)--矩阵K次幂

    2024-01-28 06:12:03       51 阅读
  14. 【LeetCode-435】无重叠区间(贪心)

    2024-01-28 06:12:03       59 阅读
  15. el-tree实现多选、反选、指定选择

    2024-01-28 06:12:03       54 阅读