【一、环境】
- 操作系统: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.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虚拟机内存不够,则可以在config\jvm.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保持唯一即可。
安装分词插件,拼音插件,可以查看博客的其他文章