Linux安装elasticsearch单机版

一、检查内核

uname -a

二、下载版本

下载版本选择自己服务器相同的内核版本 我这边是aaech64

ES下载地址

Kibana 下载地址

二、上传服务器解压

tar -xvf  elasticsearch-8.14.1-linux-aarch64.tar.gz

三、安装ES

因为ES不能用root用户启动先创建用户

#新增 es 用户
useradd es 

#为 es 用户设置密码
passwd es 

#如果错了,可以删除再加
userdel -r es 



#/usr/local下创建es文件夹
mkdir es 

#文件夹所有者
chown -R es:es /usr/local/es

修改相关配置

1、修改/usr/local/es/elasticsearch-8.14.1/config下elasticsearch.yml文件。

#编辑文件
vim /usr/local/es/elasticsearch-8.14.1/config/elasticsearch.yml



# 加入如下配置
cluster.name: elasticsearch
#数据存放路径
path.data: ./data 
#日志存放路径
path.logs: /usr/local/es/elasticsearch-8.14.1/data/logs 
node.name: node-1
#本机IP地址(设置可以访问的ip地址)
network.host: 0.0.0.0
#es暴露对外的端口
http.port: 9200
cluster.initial_master_nodes: ["node-1"]

2、解决es强依赖jdk问题

由于es和jdk是一个强依赖的关系,所以当我们在新版本的ElasticSearch压缩包中包含有自带的jdk,但是当我们的Linux中已经安装了jdk之后,就会发现启动es的时候优先去找的是Linux中已经装好的jdk,此时如果jdk的版本不一致,就会造成jdk不能正常运行,报错如下:

注:如果Linux服务本来没有配置JDK,则会直接使用ES目录下默认的JDK,反而不会报错。如果Linux安装了JDK,不指定JDK会报错。

修改/usr/local/es/elasticsearch-8.14.1/bin下elasticsearch文件。

本人安装用的是ES的JDK,也可以把JDK换成Linux安装的目录

vim elasticsearch

############## 添加配置解决jdk版本问题 ##############
# 将jdk修改为es中自带jdk的配置目录 /usr/local/es/elasticsearch-8.14.1
export JAVA_HOME=/usr/local/es/elasticsearch-8.14.1/jdk
export PATH=$JAVA_HOME/bin:$PATH

if [ -x "$JAVA_HOME/bin/java" ]; then
        JAVA="/usr/local/es/elasticsearch-8.14.1/jdk/bin/java"
else
        JAVA=`which java`
fi

3、解决内存不足问题

内存不足报错如下图所示:

解决方法

修改/usr/local/es/elasticsearch-8.14.1/config/jvm.options

#默认配置如下:
#-Xms4g
#-Xmx4g

#默认的配置占用内存太多了,调小一些:
-Xms256m
-Xmx256m

使用free -h 命令,查看系统内容情况,根据需要对es的虚拟机的内存进行设置。

root@VM-0-5-ubuntu:/usr/local/es/elasticsearch-8.14.1/config# free -h
              total        used        free      shared  buff/cache   available
Mem:           7.3G        4.8G        1.1G        7.6M        1.3G        2.2G
Swap:            0B          0B          0B

4、解决vm.max_map_count [65530] is too low问题

设置最大内存的分配

修改/etc/sysctl.conf配置文件
#执行
vi /etc/sysctl.conf

#在文件末尾添加

# 一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536
vm.max_map_count=655360

#保存并退出文档
:wq!

#再执行 重新加载
sysctl -p 
#以上:将参数写到文件中并重新加载 这种方式可以永久保存参数修改/etc/sysctl.conf文件,然后sysctl -p 刷新到内存中。格式:sysctl -p [file] //如果没有指定file,则默认从/etc/sysctl中加载变量

5、修改文件创建数量

#执行:
vi /etc/security/limits.conf

#在文件末尾插入
es soft nofile 65536
es hard nofile 65536

6、后台启动ES

#后台启动
bin/elasticsearch -d 

四、设置密码

1、修改配置文件 config/elasticsearch.yml,写入以下配置:

xpack.security.enabled: true
discovery.type: single-node
xpack.security.transport.ssl.enabled: true

2、设置密码

cd usr/local/es/elasticsearch-8.14.1/bin
./elasticsearch-setup-passwords interactive

下面是执行结果复制别人的

[root@iZ2vc772r7963jijk5rxjlZ bin]# ./elasticsearch-setup-passwords interactive
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y
 
 
Enter password for [elastic]: 
Reenter password for [elastic]: 
Enter password for [apm_system]: 
Reenter password for [apm_system]: 
Enter password for [kibana_system]: 
Reenter password for [kibana_system]: 
Enter password for [logstash_system]: 
Reenter password for [logstash_system]: 
Enter password for [beats_system]: 
Reenter password for [beats_system]: 
Enter password for [remote_monitoring_user]: 
Reenter password for [remote_monitoring_user]: 
Changed password for user [apm_system]
Changed password for user [kibana_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]

会为4个用户设置密码:

elastic, kibana, logstash_system,beats_system

其中:

elastic 账号:内置的超级用户,拥有 superuser 角色。

kibana 账号:用来连接 elasticsearch 并与之通信。Kibana 服务器以该用户身份提交请求以访问集群监视 API 和 .kibana 索引,不能访问 index。

以下命令将 elastic 密码修改为 "123456":

curl -H "Content-Type:application/json" -XPOST -u elastic 'http://127.0.0.1:9200/_xpack/security/user/elastic/_password' -d '{ "password" : "123456" }'

五、卸载ES

六、安装Kibana

待完成.....................................

相关推荐
Ljubim.te6 分钟前
Linux基于CentOS学习【进程状态】【进程优先级】【调度与切换】【进程挂起】【进程饥饿】
linux·学习·centos
cooldream200919 分钟前
Linux性能调优技巧
linux
大G哥20 分钟前
记一次K8S 环境应用nginx stable-alpine 解析内部域名失败排查思路
运维·nginx·云原生·容器·kubernetes
醉颜凉37 分钟前
银河麒麟桌面操作系统修改默认Shell为Bash
运维·服务器·开发语言·bash·kylin·国产化·银河麒麟操作系统
QMCY_jason1 小时前
Ubuntu 安装RUST
linux·ubuntu·rust
慕雪华年1 小时前
【WSL】wsl中ubuntu无法通过useradd添加用户
linux·ubuntu·elasticsearch
苦逼IT运维1 小时前
YUM 源与 APT 源的详解及使用指南
linux·运维·ubuntu·centos·devops
第六五1 小时前
ubuntu命令行连接wifi
服务器·ubuntu
仍有未知等待探索2 小时前
Linux 传输层UDP
linux·运维·udp
没有余地 EliasJie2 小时前
Windows Ubuntu下搭建深度学习Pytorch训练框架与转换环境TensorRT
pytorch·windows·深度学习·ubuntu·pycharm·conda·tensorflow