【一、环境】
操作系统:CentOS Linux release 8.0.1905 (Core)最低配置:2核4G最新es软件包官网地址:https://www.elastic.co/downloads/elasticseasrch【二、硬件环境】
主机配置信息
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
网络配置
开机自动联网
nmcli connection modify ens192 connection.autoconnect yes
配置IP地址
nmcli connection modify ens192 ipv4.addresses '192.168.49.139'
配置网关
nmcli connection modify ens192 ipv4.gateway '172.20.48.1'
静态IP地址
nmcli connection modify ens192 ipv4.method manual
重新加载配置文件
nmcli connection reload
重新激活网卡
nmcli connection up ens192
sshd服务开机自启动
systemctl enable sshd
nmcli网络管理开机自启动
systemctl enable NetworkManager
问题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.user1mkdir -p /usr/local/data/es/logschown -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保持唯一即可。
安装分词插件,拼音插件,可以查看博客的其他文章