【一、环境】
【二、硬件环境】
IP
网关
用户名
密码
作用
172.20.33.100
255.255.0.0
172.20.30.1
root
root
主节点
user1
user1
172.20.33.101
255.255.0.0
172.20.30.1
root
root
从节点1
user1
user1
172.20.33.102
255.255.0.0
172.20.30.1
root
root
从节点2
开机自动联网
nmcliconnectionmodifyens192 connection.autoconnectyes
配置IP地址
nmcliconnectionmodifyens192 ipv4.addresses’192.168.49.139’
配置网关
nmcliconnectionmodifyens192 ipv4.gateway’172.20.48.1’
静态IP地址
nmcliconnectionmodifyens192 ipv4.methodmanual
重新加载配置文件
nmcliconnectionreload
重新激活网卡
nmcliconnectionupens192
sshd服务开机自启动
systemctlenablesshd
nmcli网络管理开机自启动
systemctlenableNetworkManager
问题1:ssh root@172.20.49.140时,出现:ssh_exchange_identification: read: Connection reset by peer,ssh在交换身份信息时,被对方重置了连接。
解决:查看服务器网关是否和本机电脑一致
【注】在网关一致,IP地址配置正确,并且重新加载网络配置文件、重新激活网卡后,如果还是ssh登录失败,直接init 6重启服务器。
目录名称
作用
命令
/usr/local/soft
存放tar.gz源文件包
mkdir/usr/local/soft
/usr/local/softins
文件安装目录
mkdir/usr/local/softins
/usr/local/data
数据文件存放目录
mkdir/usr/local/data
名称
版本
jdk-8u241-linux-x64.tar.gz
Jdk8
elasticsearch-6.2.2.tar.gz
Es6.2.2
elasticsearch-ik.zip
和es6.2.2配套的ik分词器
elasticsearch-pinyin.zip
和es6.2.2配套的拼音分词器
【注】要安装es、hadoop等,需先安装jdk。
【三、安装ElasticSearch】
3台服务器分别安装jdk,并配置JAVA_HOME;
3台服务器分别安装Elasticsearch,安装路径为:/usr/local/softins/es。
这里以“/usr/local/softins/es”为例。
tar -zxvf elasticsearch-6.2.2.tar.gz -C ?/usr/local/softins/es
解压后的文件中,bin是运行的脚本,config是设置文件,lib中存储依赖的包。
图 35列表内容
2.新建用户
# 创建用户组
groupadd comUser
# 创建用户
useradd -g comUser user1
# 为用户user1设定登录密码
passwd user1
3.授权
为了让comUser用户拥有对elasticsearch的执行权限,在root用户权限下解压后,需要对软件包更改属性组。
chown -R comUser.user1 /usr/local/softins/es/elasticsearch-6.2.2
创建数据目录,修改group属性。
mkdir -p /usr/local/data/es/indexdata/
chown -R comUser.user1 /usr/local/data/es/indexdata/
创建日志目录,修改group属性为comUser.user1
mkdir -p ?/usr/local/data/es/logs
chown -R comUser.user1 /usr/local/data/es/logs/
也可以直接给/usr/local/data/es授权。
chown -R comUser.user1 /usr/local/data/es
4.配置elasticsearch文件
编辑elasticsearch.yml文件,配置相关信息。
切换到/usr/local/softins/es/elasticsearch-6.2.2目录下,执行如下命令:
# 切换当前目录
cd /usr/local/softins/es/elasticsearch-6.2.2
# 编辑文件
vim ./config/elasticsearch.yml
配置内容如下:
# 设定es集群名称
cluster.name: my-es
# 设置es当前节点名称,用于区分不同节点
node.name: master
# 修改数据目录
path.data: /usr/local/data/es/indexdata/
# 日志目录位置
path.logs: /usr/local/data/es/logs/
# 监听访问地址为任意网段
network.host: 0.0.0.0
# 服务监听端口
http.port: 9200
5.修改系统参数
修改系统参数的目的是确保系统有足够的资源启动Elasticsearch。
切换到root用户下,修改资源参数,编辑/etc/security/limits.conf文件。
vim /etc/security/limits.conf
添加如下内容。
* soft nofile 65536
* hard nofile 131072
* soft nproc 65536
* hard nproc 131072
修改内核参数,编辑/etc/sysctl.conf文件。
vim /etc/sysctl.conf
添加如下内容:
vm.max_map_count=262144
保存退出后,从指定的文件加载系统参数。
sysctl -p
6、配置jvm参数
如果显示Java虚拟机内存不够,则可以在configjvm.options配置文件中调整内存大小 。其中,Xms参数表示堆空间的初始值,Xmx参数表示堆空间的最大值,应该把最小和最大JVM堆设置成相同的值,例如:
-Xms2g
-Xmx2g
执行命令,编辑jvm.options配置文件各参数值。
vim jvm.options
7、启动es
【注】启动es需要普通用户
切换用户到user1
su user1
进入到启动文件目录下
cd /usr/local/softins/es/elasticsearch-6.2.2/bin
启动
nohup ./elasticsearch &
以root用户查看9200端口是否开启
netstat -ntap | 9200

成功启动Elasticsearch后,会在解压目录下增加两个文件夹:data和logs文件夹。data文件夹用于存储索引数据,logs文件夹用于记录日志。因为创建索引比较耗时,所以文档会被预先写入到一个日志目录中。
8、设置防火墙
关闭防火墙
systemctl stop firewalld
查看防火墙状态
systemctl status firewalld
开放9200端口
firewall-cmd --permanent --add-port=9200/tcp
重新加载防火墙
firewall-cmd --reload
在浏览器中访问Elasticsearch,如下图所示。通过浏览器访问时需要将CentOS防火墙关闭或者在防火墙开启9200端口。

9、集群配置
只需配置的cluster.name保持一致,Elasticsearch节点即可自动形成集群。另外添加集群内节点的所有IP,便于发现集群内的节点,编辑elasticsearch.yml,修改内容如下:
# ?配置集群中的节点
discovery.zen.ping.unicast.hosts:["172.20.49.138:9300", "172.20.49.139:9300","172.20.49.140:9300"]
#
discovery.zen.minimum_master_nodes: 2
从节点的配置和上述一致,只需node.name保持唯一即可。
安装分词插件,拼音插件,可以查看博客的其他文章