elasticsearch-7.6.2安装

本文详细介绍了在Linux环境中如何安装和配置Elasticsearch,包括同步系统时间、关闭防火墙和SELinux、创建数据目录、修改配置文件、安装x-pack、设置环境变量、安装IK分词器和SQL插件等步骤,确保集群稳定运行。

上传软件包到/usr/local/src下

配置elasticsearch环境

同步三台节点机的系统时间

[root@master ~]# yum install -y ntpdate
[root@master ~]# ntpdate ntp1.aliyun.com

关闭三台节点的iptables和selinux

[root@master ~]# systemctl stop firewalld
[root@master ~]# systemctl disable firewalld
[root@master ~]# firewall-cmd --state
[root@master ~]# setenforce 0
[root@master ~]# getenforce
Permissive
[root@master ~]# vim /etc/sysconfig/selinux
SELINUX=disabled

安装elasticsearch

[root@master ~]# cd /usr/local/src/

解压elasticsearch

[root@master src]# mkdir /usr/local/elk
[root@master src]# tar xf elasticsearch-7.6.2.tar.gz -C /usr/local/elk/
[root@master src]# cd /usr/local/elk/elasticsearch-7.6.2/

创建es data/log文件

[root@master elasticsearch-7.6.2]# mkdir -p /data/es/{data,log}

修改elasticsearch.yaml文件 Tip:注意前边加空格

[root@master elasticsearch-7.6.2]$ cp config/elasticsearch.yml config/elasticsearch.yml.bak
[root@master elasticsearch-7.6.2]$ vim config/elasticsearch.yml
cluster.name: hudyang-elk  #集群名称,同一个集群的标识.
node.name: master  #节点名称
path.data: /data/es/data # 数据路径
path.logs: /data/es/log  # 日志路径
network.host: 0.0.0.0
http.port: 9200 # 端口
discovery.zen.minimum_master_nodes: 2 # 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点.默认为1,对于大的集群来说,可以设置大一点的值(2-4)
discovery.seed_hosts: ["192.168.248.128","192.168.248.129"] #集群主机IP
cluster.initial_master_nodes: ["192.168.248.128","192.168.248.129"]  #集群中首次启动时可被选举为master的节点

安装x-pack (可以不使用)

xpack.security.enabled: true  
xpack.security.audit.enabled: true
xpack.license.self_generated.type: basic #basic表示xpack使用基础版license,否则无法启动
xpack.security.transport.ssl.enabled: true

node.master: true  #允许一个节点可以成为一个master节
node.data: true  #允许该节点存储数据(默认开启)
http.cors.enabled: true       #允许跨域访问,head使用
http.cors.allow-origin: "*"   #允许跨域访问,head使用
http.cors.allow-credentials: true # 是否返回设置的跨域Access-Control-Allow-Credentials头,如果设置为true,那么会返回给客户端。
http.cors.allow-methods: OPTIONS,HEAD,GET,POST,PUT,DELETE
http.cors.allow-headers: WWW-Authenticate,X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization,X-User # 配置插件

修改jvm.options文件 默认是1g官方建议对jvm进行一些修改,不然很容易出现OOM,参考官网改参数配置最好不要超过内存的50%

JVM 内存建议不要低于 2G,否则有可能因为内存不足导致 ES 无法正常启动或内存溢出,JVM 建议不要超过 32G,否则 JVM 会禁用内存对象指针压缩技术,造成内存浪费。机器内存大于 64G 内存时,推荐配置 -Xms30g -Xmx30g。JVM 堆内存较大时,内存垃圾回收暂停时间比较长,建议配置 ZGC 或 G1 垃圾回收算法

[root@master elasticsearch-7.6.2]$ vim config/jvm.options

-Xms1g  修改为 ===>  -Xms2g
-Xmx1g  修改为 ===>  -Xmx2g

修改/etc/security/limits.conf配置

[root@master elasticsearch-7.6.2]# vim /etc/security/limits.conf

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

修改/etc/sysctl.conf文件配置, 单进程可以使用的最大map内存区域数量

[root@master elasticsearch-7.6.2]# vim /etc/sysctl.conf
vm.max_map_count = 655360
fs.file-max=655360

启动sysctl配置

[root@master elasticsearch-7.6.2]# sysctl -p

设置环境变量

[root@master elasticsearch-7.6.2]# vim /etc/profile
####### elasticsearch ######
export ES_HOME=/usr/local/elk/elasticsearch-7.6.2
export PATH=$PATH:$ES_HOME/bin

加载环境变量

[root@master elasticsearch-7.6.2]# source /etc/profile

#切换用户 es不能使用root启动 data目录授权

[root@master elasticsearch-7.6.2]# groupadd  elk
[root@master elasticsearch-7.6.2]# useradd -g elk elk
[root@master elasticsearch-7.6.2]# chown -R elk:elk /usr/local/elk/elasticsearch-7.6.2
[root@master elasticsearch-7.6.2]# sudo chmod -R 777 /data/es

设置开机自启动

创建elasticsearch服务

[elk@master elasticsearch-7.6.2]# vim /usr/lib/systemd/system/elasticsearch.service
[Unit]
Description=elasticsearch
After=network.target

[Service]
Type=forking
User=elk
Group=elk
ExecStart=/usr/local/elk/elasticsearch-7.6.2/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

给脚本赋权限:

[elk@master elasticsearch-7.6.2]# chmod +x /usr/lib/systemd/system/elasticsearch.service

重新加载systemd的守护线程

[elk@master elasticsearch-7.6.2]# sudo systemctl daemon-reload

开机启动生效

[elk@master elasticsearch-7.6.2]# sudo systemctl enable elasticsearch.service

启动elasticsearch.service

[elk@master elasticsearch-7.6.2]# sudo systemctl start elasticsearch.service

查看elasticsearch.serivce状态

[elk@master elasticsearch-7.6.2]$ sudo systemctl status elasticsearch.service

如果出现错误可以使用如下命令查看日志

[elk@master elasticsearch-7.6.2]$ sudo journalctl -u elaticsearch.service

如果配置x-pack设置密码

[root@master elasticsearch-7.6.2]# cd bin/
[root@master bin]# elasticsearch-setup-passwords interactive

安装IK分词器插件

iK分词器地址:  https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip
安装参考文档   https://github.com/medcl/elasticsearch-analysis-ik/blob/master/README.md
版本对应地址:  https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.6.2

安装ik分词器(安装ik分词器版本一定要与所安装es版本一致)

[root@master ~]# cd /usr/local/elk/elasticsearch-7.6.2/
[root@master elasticsearch-7.6.2]# 
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip

重启ES

[elk@master elasticsearch-7.6.2]# sudo systemctl restart elasticsearch.service

安装SQL插件

SQL插件安装参考文档: https://github.com/NLPchina/elasticsearch-sql
版本对应地址:  https://github.com/NLPchina/elasticsearch-sql/archive/refs/tags/7.6.2.0.zip

安装SQL插件(安装SQL插件版本一定要与所安装es版本一致)

[root@master elasticsearch-7.6.2]# 
./bin/elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-sql/releases/download/7.6.2.0/elasticsearch-sql-7.6.2.0.zip
[root@master elasticsearch-7.6.2]#  cd /usr/local/src/
[root@master src]# unzip es-sql-site-standalone.zip -d /usr/local/elk/es-sql-site-standalone
[root@master src]# cd /usr/local/elk/es-sql-site-standalone/site-server/
[root@master site-server]# npm install express --savnpm install express --save

修改端口

[root@origin site-server]# vim site_configuration.json

node node-server.js(如果卡住则配置成功,否则报错)


```bash
[root@origin site-server]# node node-server.js
[root@origin site-server]# nohup node node-server.js &

重启ES

[elk@master site-server]# sudo systemctl restart elasticsearch.service
以下是在 Linux 系统上使用给定资源部署 ELK 7.6.2 的详细方法: ### 1. 安装 JDK ELK 栈依赖 Java,需要先安装 JDK 8 或更高版本。可以使用以下命令安装: ```bash [root@es1 ~]# rpm -ivh jdk-8u241-linux-x64.rpm ``` ### 2. 部署 Elasticsearch - **解压 Elasticsearch**: ```bash [root@es1 ~]# tar -xvf elasticsearch-7.6.2-linux-x86_64.tar.gz -C /opt/soft/ ``` - **修改权限**: ```bash [root@es1 ~]# chown -R elk:elk /opt/soft/elasticsearch-7.6.2 ``` - **配置 Elasticsearch**: 编辑 `/opt/soft/elasticsearch-7.6.2/config/elasticsearch.yml` 文件,根据需求修改配置,例如: ```yaml cluster.name: my-elk-cluster node.name: node-1 network.host: 0.0.0.0 http.port: 9200 ``` - **安装 IK 分词器**: ```bash [root@es1 ~]# unzip elasticsearch-analysis-ik-7.6.0.zip -d /opt/soft/elasticsearch-7.6.2/plugins/analysis-ik ``` - **启动 Elasticsearch**: ```bash [root@es1 ~]# su - elk [elk@es1 ~]$ /opt/soft/elasticsearch-7.6.2/bin/elasticsearch -d ``` ### 3. 部署 Kibana - **解压 Kibana**: ```bash [root@es1 ~]# tar -xvf kibana-7.6.2-linux-x86_64.tar.gz -C /opt/soft/ ``` - **修改权限**: ```bash [root@es1 ~]# chown -R elk:elk /opt/soft/kibana-7.6.2 ``` - **配置 Kibana**: 编辑 `/opt/soft/kibana-7.6.2/config/kibana.yml` 文件,配置 Elasticsearch 地址: ```yaml server.port: 5601 server.host: "0.0.0.0" elasticsearch.hosts: ["http://localhost:9200"] ``` - **启动 Kibana**: ```bash [root@es1 ~]# su - elk [elk@es1 ~]$ /opt/soft/kibana-7.6.2/bin/kibana -d ``` ### 4. 部署 Logstash - **解压 Logstash**: ```bash [root@es1 ~]# tar -xvf logstash-7.6.2.tar.gz -C /opt/soft/ ``` - **修改权限**: ```bash [root@es1 ~]# chown -R elk:elk /opt/soft/logstash-7.6.2 ``` - **配置 Logstash**: 创建一个简单的配置文件 `/opt/soft/logstash-7.6.2/config/simple.conf`: ```plaintext input { stdin {} } output { elasticsearch { hosts => ["localhost:9200"] index => "logstash-%{+YYYY.MM.dd}" } stdout {} } ``` - **启动 Logstash**: ```bash [root@es1 ~]# su - elk [elk@es1 ~]$ /opt/soft/logstash-7.6.2/bin/logstash -f /opt/soft/logstash-7.6.2/config/simple.conf ``` ### 5. 部署 Apache ZooKeeper - **解压 ZooKeeper**: ```bash [root@es1 ~]# tar -xvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/soft/ ``` - **修改权限**: ```bash [root@es1 ~]# chown -R elk:elk /opt/soft/apache-zookeeper-3.5.7-bin ``` - **配置 ZooKeeper**: 复制示例配置文件并编辑: ```bash [root@es1 ~]# cp /opt/soft/apache-zookeeper-3.5.7-bin/conf/zoo_sample.cfg /opt/soft/apache-zookeeper-3.5.7-bin/conf/zoo.cfg [root@es1 ~]# vim /opt/soft/apache-zookeeper-3.5.7-bin/conf/zoo.cfg ``` 修改数据目录等配置: ```plaintext dataDir=/opt/soft/apache-zookeeper-3.5.7-bin/data ``` - **启动 ZooKeeper**: ```bash [root@es1 ~]# su - elk [elk@es1 ~]$ /opt/soft/apache-zookeeper-3.5.7-bin/bin/zkServer.sh start ``` ### 6. 部署 Kafka - **解压 Kafka**: ```bash [root@es1 ~]# tar -xvf kafka_2.13-2.4.0.tgz -C /opt/soft/ ``` - **修改权限**: ```bash [root@es1 ~]# chown -R elk:elk /opt/soft/kafka_2.13-2.4.0 ``` - **配置 Kafka**: 编辑 `/opt/soft/kafka_2.13-2.4.0/config/server.properties`,配置 ZooKeeper 地址: ```plaintext zookeeper.connect=localhost:2181 ``` - **启动 Kafka**: ```bash [root@es1 ~]# su - elk [elk@es1 ~]$ /opt/soft/kafka_2.13-2.4.0/bin/kafka-server-start.sh -daemon /opt/soft/kafka_2.13-2.4.0/config/server.properties ``` ### 7. 部署 Filebeat - **解压 Filebeat**: ```bash [root@es1 ~]# tar -xvf filebeat-7.6.2-linux-x86_64.tar.gz -C /opt/soft/ ``` - **修改权限**: ```bash [root@es1 ~]# chown -R elk:elk /opt/soft/filebeat-7.6.2-linux-x86_64 ``` - **配置 Filebeat**: 编辑 `/opt/soft/filebeat-7.6.2-linux-x86_64/filebeat.yml`,配置输出到 Elasticsearch: ```yaml output.elasticsearch: hosts: ["localhost:9200"] ``` - **启动 Filebeat**: ```bash [root@es1 ~]# su - elk [elk@es1 ~]$ /opt/soft/filebeat-7.6.2-linux-x86_64/filebeat -e ``` ### 8. 部署 Elasticsearch Head - **解压 Elasticsearch Head**: ```bash [root@es1 ~]# unzip elasticsearch-head-master.zip -d /opt/soft/elasticsearch-head ``` - **安装 Node.js 和 npm**: ```bash [root@es1 ~]# yum install -y nodejs npm ``` - **安装依赖并启动**: ```bash [root@es1 ~]# cd /opt/soft/elasticsearch-head [root@es1 elasticsearch-head]# npm install [root@es1 elasticsearch-head]# npm run start ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值