安装Elasticsearch到Linux(源码)

运行环境

系统版本:CentOS Linux release 7.3.1611 (Core)
软件版本:Elasticsearch-7.1.0
硬件要求:最低2核4GB

安装过程

1、源码安装JDK

1.1、从官网下载源码包

官网下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html。
可能需要注册一个Oracle账号。

root@localhost:~# wget https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz?AuthParam=1555053295_8cf8b2b24ab4f6973dcc2a05d83be26d

1.2、解压源码包到安装目录

root@localhost:~# mv jdk-8u201-linux-x64.tar.gz* jdk-8u201-linux-x64.tar.gz
root@localhost:~# mkdir /usr/local/jdk
root@localhost:~# tar xzvf jdk-8u201-linux-x64.tar.gz -C /usr/local/jdk/

1.3、配置环境变量

配置环境变量,使命令在全局生效。

root@localhost:~# vim /etc/profile
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_201
export PATH=$JAVA_HOME/bin:$PATH
root@ubuntu:~# source /etc/profile

1.4、查看版本

root@localhost:~# java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

2、系统配置

配置完成后,由于要修改用户服务可开启的最大进程数,所以需要重启服务器。

[root@localhost ~]# vim /etc/security/limits.conf
root soft nofile 65536
root hard nofile 65536
* soft nofile 65536
* hard nofile 65536
[root@localhost ~]# vim /etc/security/limits.d/20-nproc.conf
*          soft    nproc     65536
root       soft    nproc     unlimited
[root@localhost ~]# vim /etc/sysctl.conf
vm.max_map_count=262144
#Elasticsearch默认使用mmapfs来存储索引,mmap计数可能由于系统限制值太低了,可能会导致ES出现内存不足的一场,我们需要将其设置为更大。
[root@localhost ~]# sysctl -p
[root@localhost ~]# swapoff -a
[root@localhost ~]# reboot

3、下载Elasticsearch软件包

Elasticsearch软件包由ELK官网提供。

[root@localhost ~]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.0-linux-x86_64.tar.gz

4、安装Elasticsearch

[root@localhost ~]# mkdir /usr/local/elk
[root@localhost ~]# tar xzvf elasticsearch-7.1.0-linux-x86_64.tar.gz -C /usr/local/elk/

5、配置Elasticsearch

我们构建一个单节点的Elasticsearch集群,单机运行。

[root@localhost ~]# vim /usr/local/elk/elasticsearch-7.1.0/config/elasticsearch.yml
cluster.name: my-application
# Elasticsearch集群名
node.name: node-1
# 该主机节点名
path.data: /data/elasticsearch/data
# 数据存储目录路径
path.logs: /data/elasticsearch/logs
# 日志存储目录路径
# bootstrap.memory_lock: true
network.host: 0.0.0.0
# 监听的主机地址
http.port: 9200
# 监听的主机端口,用于接收客户端HTTP请求的端口
transport.port: 9300
# 监听的主机端口,用于集群内主机传输通信所使用的端口
discovery.seed_hosts: ["172.16.254.129"]
# 集群内发现发送主机列表
cluster.initial_master_nodes: ["node-1"]
# 用于集群初始化所指定的master节点主机
#gateway.recover_after_nodes: 3
#action.destructive_requires_name: true
cluster.routing.allocation.disk.threshold_enabled: false
#关闭ES根据磁盘使用率分配分片(副本)数据功能,避免由于磁盘可用空间低于默认值而导致的ES自动停止。
#cluster.routing.allocation.disk.watermark.low: 10gb
#cluster.routing.allocation.disk.watermark.high: 20gb

6、创建相关存储目录

[root@localhost ~]# mkdir -p /data/elasticsearch/data
[root@localhost ~]# mkdir -p /data/elasticsearch/logs

7、创建运行用户,并授权相关目录

Elasticsearch默认不允许使用ROOT用户运行服务。

[root@localhost ~]# useradd -M elk
[root@localhost ~]# chown -R elk.elk /data/elasticsearch/
[root@localhost ~]# chown -R elk.elk /usr/local/elk/elasticsearch-7.1.0

8、启动Elasticsearch服务

[root@localhost ~]# sudo -u elk /usr/local/elk/elasticsearch-7.1.0/bin/elasticsearch -d
[root@localhost ~]# tail -n 200 -f /data/elasticsearch/logs/my-application.log
[root@localhost ~]# netstat -lnupt |grep 9200
tcp6       0      0 :::9200                 :::*                    LISTEN      2481/java
tcp6       0      0 :::9300                 :::*                    LISTEN      9932/java

猜你喜欢

转载自www.cnblogs.com/network-ren/p/12377146.html
今日推荐