1. 首页 > 服务器系统 > Linux

Linux系统下ElasticSearch的安装和启动教程

安装环境

Linux(centos)

下载地址

https://www.elastic.co/cn/downloads/elasticsearch

安装步骤

切换到ES安装目录,如 /www;

在www目录下,创建elasticsearch文件夹,并进入文件夹内;

 mkdir elasticsearch
 cd elasticsearch

获取elasticearch安装包;
可以使用在线下载命令,下载安装包。

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.12.0-linux-x86_64.tar.gz

也可以将之前已经下载好的安装包上传到当前目录下。

解压elasticsearch安装包;

tar -zvxf  elasticsearch-8.12.0.tar.gz

进入elasticsearch-8.17.0/config文件夹内,修改配置文件;

cd elasticsearch-8.12.0/config

定位到#network.host: 192.168.0.1位置,在下面增加一行:
network.host: 0.0.0.0
保存并退出(先按esc键,输入:wq!,按回车键即可)

在这里插入图片描述

配置JVM ;
设置 es 启动内存、根据系统配置需要来配置。

配置分词器;
添加ik分词器,分词器下载地址https://github.com/infinilabs/analysis-ik/releases

把elasticsearch-analysis-ik-x.x.x.zip在解压的文件夹elasticsearch-analysis-ik-x.x.x复制到 elasticsearch安装目录下的plugins中analysis-ik 分词器配置文件 IKAnalyzer.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
	<comment>IK Analyzer 扩展配置</comment>
	<!--用户可以在这里配置自己的扩展字典 -->
	<entry key="ext_dict"></entry>
	 <!--用户可以在这里配置自己的扩展停止词字典-->
	<entry key="ext_stopwords"></entry>
	<!--用户可以在这里配置远程扩展字典 -->
	<!-- <entry key="remote_ext_dict">words_location</entry> -->
	<!--用户可以在这里配置远程扩展停止词字典-->
	<!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

提高系统资源限制
增加最大文件描述符数量:编辑 /etc/security/limits.conf 文件,添加或修改以下行:

* soft nofile 65535
* hard nofile 65535
elasticsearch soft nofile 65535
elasticsearch hard nofile 65535

增加虚拟内存区域限制:编辑 /etc/sysctl.conf 文件,添加或修改以下行:

vim /etc/sysctl.conf
#加入以下内容
vm.max_map_count = 262144

保存后执行sysctl -p命令刷新生效

注册服务,创建配置文件;

1).service文件

vim /usr/lib/systemd/system/elasticsearch.service
[Unit]
Description=elasticsearch
After=network.target
[Service]
Type=forking
User=elasticsearch
Group=elasticsearch
ExecStart=/usr/local/elasticsearch/elasticsearch-8.12.0/bin/elasticsearch -d
PrivateTmp=true
# 指定此进程可以打开的最大文件数
LimitNOFILE=65535
# 指定此进程可以打开的最大进程数
LimitNPROC=65535
# 最大虚拟内存
LimitAS=infinity
# 最大文件大小
LimitFSIZE=infinity
# 超时设置 0-永不超时
TimeoutStopSec=0
# SIGTERM是停止java进程的信号
KillSignal=SIGTERM
# 信号只发送给给JVM
KillMode=process
# java进程不会被杀掉
SendSIGKILL=no
# 正常退出状态
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target

启动脚本
在 /etc/init.d 目录下创建一个名为 elasticsearch 的脚本

#!/bin/bash
# Elasticsearch environment variables
export ES_HOME=/www/elasticsearch/elasticsearch-8.12.0
# Start the service
case "$1" in
  start)
    echo "Starting Elasticsearch..."
    su -c "/usr/share/elasticsearch/bin/elasticsearch" elasticsearch
    ;;
  stop)
    echo "Stopping Elasticsearch..."
    pkill -f 'elasticsearch'
    ;;
  restart|force-reload)
    $0 stop
    sleep 2
    $0 start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}" >&2
    exit 3
    ;;
esac
exit 0

设置脚本可执行

sudo chmod +x /etc/init.d/elasticsearch
sudo chown -R elasticsearch:elasticsearch /www/elasticsearch/elasticsearch-8.12.0

10.非 Root 用户运行 Elasticsearch
由于安全原因,Elasticsearch 不允许以 root 用户运行。需要创建一个专用的用户来运行 Elasticsearch。
创建用户和组:

sudo groupadd elasticsearch
sudo useradd -g elasticsearch elasticsearch

启动并启用服务;
服务相关命令

# 启动服务
systemctl start elasticsearch
查看服务状态:
systemctl status elasticsearch
# 重启服务
systemctl restart elasticsearch
# 停止服务
systemctl stop elasticsearch
# 禁止开机启动
systemctl disable elasticsearch
# 启用开机启动
systemctl enable elasticsearch

打开 9200,访问 ip:9200 查看是否启动成功;
设置密码
启动elasticsearch服务

systemctl start elasticsearch

切换到 elasticsearch 安装文件目录 bin 下

cd /xxx/elasticsearch/elasticsearch-8.12.0/bin

使用 elasticsearch-certutil 命令生成证书

./elasticsearch-certutil ca -out config/certs/elastic-certificates.p12 -pass

保证 elasticsearch 正常运行时才可以运行此命令,运行后显示
Enter password for CA Private key :
不要输入直接按回车就行,按完回车后会出来
Directory /www/elasticsearch/elasticsearch-8.12.0/config/certs does not exist. Do you want to create it? [Y/n]
直接输入y,然后回车

修改 elasticsearch.yml 配置
加入下面内容

# 开启xpack
xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
# 证书配置
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12

重启 elasticsearch

systemctl restart elasticsearch

设置用户密码

# 手动配置每个用户密码模式(需要一个一个的输入)
./elasticsearch-setup-passwords interactive
#自动配置每个用户密码(随机生成并返回字符串密码,需要保存好)
./elasticsearch-setup-passwords auto

部分内置账号的角色权限解释如下:
elastic 账号:拥有 superuser 角色,是内置的超级用户。
kibana 账号:拥有 kibana_system 角色,用户 kibana 用来连接 elasticsearch 并与之通信。Kibana 服务器以该用户身份提交请求以访问集群监视 API 和 .kibana 索引。不能访问 index。
logstash_system 账号:拥有 logstash_system 角色。用户 Logstash 在 Elasticsearch 中存储监控信息时使用

修改密码
以 elastic 账号为例,注意需要在 elasticsearch 服务已启动的情况下进行

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

以上就是Linux 系统 ElasticSearch的安装和启动的详细内容,更多相关资料请阅读主机测评网其它文章!

本文由主机测评网发布,不代表主机测评网立场,转载联系作者并注明出处:https://zhuji.jb51.net/linux/8672.html

联系我们

在线咨询:点击这里给我发消息

Q Q:2220678578