--安装jdk1.8或以上版本,并配置环境变量
--配置完成后,执行如下命令
# java -version
--输出版本号,即安装完成
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
##1.2 创建用户/用户组
--需要为elasticsearch创建新的用户,elasticsearch不能使用root运行
# groupadd elasticsearch
# useradd elsearch -g elasticsearch -p elsearch123
--从elasticsearch下载稳定版安装包
# cd /usr/local
# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.tar.gz
--下载完成后,进行解压
# tar -zxvf elasticsearch-6.5.4.tar.gz
给文件夹授权
# chown -R elsearch:elasticsearch elasticsearch-6.5.4
--切换用户
# su - elsearch
$ cd /usr/local/elasticsearch-6.5.4
$ vi config/elasticsearch.yml
--进行如下配置
--配置es,能够外网访问
network.host: [本机IP]
--预防出现如下错误:ERROR: bootstrap checks failed
system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk--
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
--切换用户
# su - root
--应对启动时报错:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
#vim /etc/security/limits.conf
--插入如下内容,配置对应elsearch用户的限制
elsearch soft nofile 65536
elsearch hard nofile 65536
--应对启动时报错:max number of threads [1024] for user [hadoop] is too low, increase to at least [4096]
vim /etc/security/limits.d/90-nproc.conf
--修改如下内容
soft nproc 4096
-- 这个值要对应报错中“increase to at least [4096]”中的值
--应对启动时报错:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
# vi /etc/sysctl.conf
--增加如下内容
vm.max_map_count=655360
--使内容生效
# sysctl -p
--切换用户
# su - elsearch
$ cd /usr/local/elasticsearch-6.5.4
$ ./bin/elasticsearch -d
-- 如果是windows下,执行elasticsearch.bat
-- 确认服务安装成功
# curl -XGET 'http://10.0.1.70:9200/?pretty'
-- 输出一下内容即服务启动成功
{
"name" : "els-node03",
"cluster_name" : "cewell-elscluster",
"cluster_uuid" : "09JWC66kT0qrDTj_KSqQHw",
"version" : {
"number" : "6.5.4",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "d2ef93d",
"build_date" : "2018-12-17T21:17:40.758843Z",
"build_snapshot" : false,
"lucene_version" : "7.5.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
集群名称: cewell-elscluster
主机名 | 节点名 | IP |
---|---|---|
db01 | els-node01 | 10.0.1.68 |
db02 | els-node02 | 10.0.1.69 |
chunkserver | els-node03 | 10.0.1.70 |
根据第一节中的内容进行单节点安装
# su - root
# mkdir -p /els/{data,log}
--确认创建成功
# ll -d /els/*
--对elsearch用户进行授权
chown -R elsearch:elasticsearch /els/*
--切换用户
#su - elsearch
--编辑配置文件
$ cd /usr/local/elasticsearch-6.5.4
$ vi ./config/elasticsearch.yml
--根据集群规划进行配置
--集群名称
cluster.name: cewell-elscluster
--节点名称,仅仅是描述名称,用于在日志中区分
node.name: [els-node01|els-node02|els-node03]
--配置数据存储路径和日志文件路径
path.data: /els/data
path.logs: /els/log
--集群节点通信配置
discovery.zen.ping.unicast.hosts: ["10.0.1.68", "10.0.1.69","10.0.1.70"]
--预防脑裂配置:节点数/2+1
discovery.zen.minimum_master_nodes: 2
$ vi ./config/jvm.options
-Xms4g
-Xmx4g
$ ./bin/elasticsearch -d
因为es的节点之间通信是p2p方式进行的,所以访问任一节点都得到相同的内容
--切换终端
# curl -XGET 'http://10.0.1.69:9200/_cat/nodes?pretty'
10.0.1.69 26 61 0 0.00 0.07 0.06 mdi * els-node02 --节点名称前的*代表当前节点为主节点
10.0.1.68 20 72 3 1.00 1.05 1.03 mdi - els-node01
10.0.1.70 27 37 0 0.00 0.02 0.00 mdi - els-node03
--查看其他集群监控信息
#curl -XGET 'http://10.0.1.69:9200/_cat?pretty'