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

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

### Elasticsearch 7.17.27 集群部署教程及配置指南 #### 一、环境准备 在开始部署之前,需确认服务器满足以下条件: - 使用支持的操作系统版本,例如 Ubuntu 22.04 LTS[^2]。 - 安装 Java 开发环境(JDK),推荐使用 OpenJDK 或 Oracle JDK 版本 11。 #### 二、下载与解压软件包 从官方渠道获取 Elasticsearch 和 Kibana 软件包,并将其放置到目标目录下。以下是具体命令示例: ```bash wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.27-linux-x86_64.tar.gz tar -zxvf elasticsearch-7.17.27-linux-x86_64.tar.gz -C /opt/ mv /opt/elasticsearch-7.17.27 /opt/elasticsearch ``` 对于 Kibana 的安装同样适用上述方法[^3]。 #### 三、集群配置 ##### 1. 修改 `elasticsearch.yml` 文件 编辑 `/opt/elasticsearch/config/elasticsearch.yml` 文件,设置如下参数以实现多节点集群功能: ```yaml cluster.name: my-cluster-name node.name: node-1 network.host: 0.0.0.0 discovery.seed_hosts: ["20.26.223.119", "20.26.223.120"] cluster.initial_master_nodes: ["node-1", "node-2"] path.data: /var/lib/elasticsearch/data path.logs: /var/log/elasticsearch/logs bootstrap.memory_lock: true indices.fielddata.cache.size: 20% thread_pool.search.queue_size: 1000 ``` 注意:以上 IP 地址应替换为实际环境中各节点的地址;如果需要 SSL/TLS 加密通信,则还需额外配置证书路径[^1]。 ##### 2. 设置 JVM 参数 调整 JVM 堆内存大小至合理范围(通常建议不超过机器总 RAM 的一半)。修改 `/opt/elasticsearch/jvm.options` 中的相关选项: ```properties -Xms4g -Xmx4g ``` 此处假设每台主机分配给 Elasticsearch 进程的最大堆空间为 4GB。 #### 四、启动服务并验证状态 通过 systemd 系统管理器或者直接执行 bin/startup.sh 启动各个节点的服务程序。随后可通过浏览器访问任意一台成员对外暴露端口 (默认为 9200),查看返回 JSON 数据来判断初始化成功与否。 #### 五、Kibana 配合可视化界面接入 按照先前提到的方式完成 Kibana 解压缩后,在其根目录下的 config/kibana.yml 添加必要的连接信息指向已搭建完毕的 ES 实例列表: ```yaml server.port: 5601 server.host: "0.0.0.0" i18n.locale: "en" elasticsearch.hosts: ["http://20.26.223.119:9200","http://20.26.223.120:9200"] ``` 最后重启 Kibana 并打开网页测试连通性即可。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

JavaOpsPro

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

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

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

打赏作者

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

抵扣说明:

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

余额充值