Administrator
发布于 2025-11-13 / 1 阅读
0
0

单节点7.10.2-es7部署

1,环境准备

sudo yum install -y java-11-openjdk java-11-openjdk-devel

# 验证安装
java -version
javac -version

2,创建专用账号

# 创建elasticsearch用户和组
sudo groupadd elasticsearch
sudo useradd -r -m -g elasticsearch -s /bin/bash elasticsearch

# 设置密码(可选)
sudo passwd elasticsearch

3,下载及配置

#创建安装目录
mkdir /project/elasticsearch

#赋权
chown -R elasticsearch:elasticsearch /project/elasticsearch

# 切换到elasticsearch用户
sudo su - elasticsearch

# 下载
cd /project/elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-linux-x86_64.tar.gz

# 解压
tar -xzf elasticsearch-7.10.2-linux-x86_64.tar.gz
cd elasticsearch-7.10.2/

调整主机限制

su root
# 切换回root用户
exit

# 编辑limits.conf
sudo tee -a /etc/security/limits.conf << 'EOF'
elasticsearch soft nofile 65536
elasticsearch hard nofile 65536
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited
elasticsearch soft nproc 4096
elasticsearch hard nproc 4096
EOF

调整内核参数

# 编辑sysctl.conf
sudo tee -a /etc/sysctl.conf << 'EOF'
vm.max_map_count=262144
vm.swappiness=1
net.core.somaxconn=2048
EOF

# 立即生效
sudo sysctl -p

修改es配置文件

# 切换到elasticsearch用户
sudo su - elasticsearch
cd elasticsearch-7.10.2/

# 备份原配置
cp config/elasticsearch.yml config/elasticsearch.yml.backup

# 创建新的配置文件
cat > config/elasticsearch.yml << 'EOF'
# ======================== Elasticsearch Configuration =========================
#
# Cluster配置
cluster.name: wiki-halo-cluster

# Node配置
node.name: ${HOSTNAME}
node.master: true
node.data: true
node.ingest: true

# 路径配置
path.data: /project/elasticsearch/elasticsearch-7.10.2/data
path.logs: /project/elasticsearch/elasticsearch-7.10.2/logs
path.repo: ["/project/elasticsearch/elasticsearch-7.10.2/snapshots"]

# 网络配置
network.host: 0.0.0.0
http.port: 9200
transport.port: 9300

# 发现配置 - 单节点模式
discovery.type: single-node
discovery.seed_hosts: ["127.0.0.1", "[::1]"]

# 内存锁定(提升性能)
bootstrap.memory_lock: true

# 网关配置
gateway.recover_after_nodes: 1

# 安全配置(可选)
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: false
xpack.security.http.ssl.enabled: false

# 监控配置(可选)
xpack.monitoring.collection.enabled: false

# 性能优化配置
indices.memory.index_buffer_size: 10%
indices.queries.cache.size: 5%
thread_pool.write.queue_size: 200
thread_pool.search.queue_size: 500
EOF

调整jvm参数

es账号操作即可

vi config/jvm.options
根据需要修改内容:
-Xms256m
-Xmx384m

添加服务启动文件

sudo tee /etc/systemd/system/elasticsearch.service << 'EOF'
[Unit]
Description=Elasticsearch 7.10.2
Documentation=https://www.elastic.co
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=elasticsearch
Group=elasticsearch
Environment=ES_project=/project/elasticsearch/elasticsearch-7.10.2
Environment=ES_PATH_CONF=/project/elasticsearch/elasticsearch-7.10.2/config
Environment=PID_DIR=/project/elasticsearch/elasticsearch-7.10.2/config/elasticsearch_pid
Environment=ES_SD_NOTIFY=true
Environment=JAVA_project=/usr/lib/jvm/java-11-openjdk

WorkingDirectory=/project/elasticsearch/elasticsearch-7.10.2

ExecStart=/project/elasticsearch/elasticsearch-7.10.2/bin/elasticsearch -p ${PID_DIR}/elasticsearch.pid -Elogger.level=info

# 标准输出和错误输出到系统日志
StandardOutput=journal
StandardError=inherit

# 重启配置
Restart=on-failure
RestartSec=30

# 资源限制
LimitNOFILE=65536
LimitMEMLOCK=infinity

# 创建PID目录
PermissionsStartOnly=true
ExecStartPre=/bin/mkdir -p ${PID_DIR}
ExecStartPre=/bin/chown elasticsearch:elasticsearch ${PID_DIR}

[Install]
WantedBy=multi-user.target
EOF

启动服务即可

systemctl enable --now elasticsearch
systemctl status elasticsearch

创建密码

# 切换到elasticsearch用户
sudo su - elasticsearch
cd elasticsearch-7.10.2/

# 设置密码
./bin/elasticsearch-setup-passwords interactive


创建密码示例:
Enter password for [elastic]: elastic_password_123
Reenter password for [elastic]: elastic_password_123
Enter password for [apm_system]: apm_password_123
Reenter password for [apm_system]: apm_password_123
Enter password for [kibana]: kibana_password_123
Reenter password for [kibana]: kibana_password_123
Enter password for [logstash_system]: logstash_password_123
Reenter password for [logstash_system]: logstash_password_123
Enter password for [beats_system]: beats_password_123
Reenter password for [beats_system]: beats_password_123
Enter password for [remote_monitoring_user]: remote_password_123
Reenter password for [remote_monitoring_user]: remote_password_123

然后使用插件访问即可


评论