elasticsearch7.17.26 离线部署(单机)

1. 下载离线包

下载地址官网
在这里插入图片描述

2. 上传服务器

在这里插入图片描述
解压并传到 /dcsm (目录任意)

mkdir /dcsm
tar -xvf elasticsearch-7.17.26-linux-x86_64.tar.gz -C /dcsm

3. 修改 elasticsearch.yml文件

echo "network.host: 0.0.0.0" >> /dcsm/elasticsearch/config/elasticsearch.yml
echo "discovery.type: single-node" >> /dcsm/elasticsearch/config/elasticsearch.yml
echo "path.data: /dcdata/elasticsearch/data" >> /dcsm/elasticsearch/config/elasticsearch.yml
echo "path.logs: /dcdata/elasticsearch/logs" >> /dcsm/elasticsearch/config/elasticsearch.yml

4. 创建必要文件夹

mkdir -p /dcdata/elasticsearch/data
mkdir -p /dcdata/elasticsearch/logs

5. 修改jvm大小(默认4G)

sed -i 's/## -Xms4g/-Xms4g/' /dcsm/elasticsearch/config/jvm.options  
sed -i 's/## -Xmx4g/-Xmx4g/' /dcsm/elasticsearch/config/jvm.options

6. 调整操作系统的内核参数与资源限制

echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf
echo "vm.max_map_count=262144" >> /etc/sysctl.conf
sysctl -p

7. 创建系统文件elasticsearch.service

sudo bash -c 'cat > /etc/systemd/system/elasticsearch.service <<EOF
[Unit]
Description=elasticsearch
After=network-online.target

[Service]
User=es
Group=es
ExecStart=/dcsm/elasticsearch/bin/elasticsearch
KillMode=control-group
Restart=on-failure

[Install]
WantedBy=multi-user.target
Alias=elastic.service
EOF'

8. 授权并启动

chmod +x  /etc/systemd/system/elasticsearch.service
systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl start elasticsearch

在这里插入图片描述

9. 部署完成

在这里插入图片描述

10. 部署脚本(方便快速部署)

只要将脚本与安装包放在同一目录中即可。
在这里插入图片描述

#!/usr/bin/env bash

local_tmp=$(df -mlT -x tmpfs -x devtmpfs -x iso9660 | grep -v "/boot" | grep -v '挂载点' | grep -v 'Mounted on' | sort -n -k 5 | tail -1 | awk '{print$NF}')
echo ${local_tmp}

bigPath=${local_tmp##* }

if [ ${bigPath} = "/" ] || [ ${bigPath} = '/dcdata' ]; then
  echo "最大存储空间为${bigPath}"
else
  dataPath=${bigPath}/dcdata
  mkdir -p ${dataPath}
  ln -s ${bigPath}/dcdata /dcdata
fi
dataPath=/dcdata
rootPath=/dcsm

mkdir -p $rootPath
mkdir -p ${dataPath}/elasticsearch/data
mkdir -p ${dataPath}/elasticsearch/logs


tar -xvf elasticsearch-7.17.26-linux-x86_64.tar.gz -C /dcsm
mv /dcsm/elasticsearch-7.17.26 /dcsm/elasticsearch

#检查用户组是否存在
check_user() {
  #判断用户是否存在passwd中
  i=$(cat /etc/passwd | cut -f1 -d':' | grep -w "$1" -c)
  if [ $i -le 0 ]; then
    echo "用户 $1 将被创建."
    return 0
  else
    #显示用户存在
    return 1
  fi
}
#创建es用户
function createEsUser() {
  check_user es
  if [ $? -eq 0 ]; then
    groupadd es && useradd -r -g es es
  fi
}

createEsUser
chown -R es:es /dcsm/elasticsearch
chown -R es:es /dcdata/elasticsearch


#默认为4G
sed -i 's/## -Xms4g/-Xms4g/' /dcsm/elasticsearch/config/jvm.options  
sed -i 's/## -Xmx4g/-Xmx4g/' /dcsm/elasticsearch/config/jvm.options

echo "network.host: 0.0.0.0" >> /dcsm/elasticsearch/config/elasticsearch.yml
echo "discovery.type: single-node" >> /dcsm/elasticsearch/config/elasticsearch.yml
echo "path.data: /dcdata/elasticsearch/data" >> /dcsm/elasticsearch/config/elasticsearch.yml
echo "path.logs: /dcdata/elasticsearch/logs" >> /dcsm/elasticsearch/config/elasticsearch.yml
echo "xpack.security.enabled: true" >> /dcsm/elasticsearch/config/elasticsearch.yml
echo "xpack.license.self_generated.type: basic" >> /dcsm/elasticsearch/config/elasticsearch.yml
echo "xpack.security.transport.ssl.enabled: true" >> /dcsm/elasticsearch/config/elasticsearch.yml

echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf
echo "vm.max_map_count=262144" >> /etc/sysctl.conf
sysctl -p

sudo bash -c 'cat > /etc/systemd/system/elasticsearch.service <<EOF
[Unit]
Description=elasticsearch
After=network-online.target

[Service]
User=es
Group=es
ExecStart=/dcsm/elasticsearch/bin/elasticsearch
KillMode=control-group
Restart=on-failure

[Install]
WantedBy=multi-user.target
Alias=elastic.service
EOF'

chmod +x  /etc/systemd/system/elasticsearch.service
systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl start elasticsearch

echo 'es 部署完成!'
systemctl status elasticsearch

11.开启权限认证

echo "xpack.security.enabled: true" >> /dcsm/elasticsearch/config/elasticsearch.yml
echo "xpack.license.self_generated.type: basic" >> /dcsm/elasticsearch/config/elasticsearch.yml
echo "xpack.security.transport.ssl.enabled: true" >> /dcsm/elasticsearch/config/elasticsearch.yml

重启 elasticsearch
systemctl restart elasticsearch

执行设置用户名和密码的命令

cd /dcsm/elasticsearch &&
bin/elasticsearch-setup-passwords interactive

在这里插入图片描述
设置完毕。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JavaOpsPro

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值