Elasticsearch 单实例部署记录
本部署记录基于 Elasticsearch-7.1.0.tar.gz 安装,所需的其他插件请参考ES版本
分词器:ik 分词器 - elasticsearch-analysis-ik-7.1.0.zip
可视化:kibana - kibana-7.1.0-linux-x86_64.tar.gz
- JDK的安装与配置:https://blog.csdn.net/qq_36623327/article/details/114255727
- Elasticsearch 单实例部署:https://blog.csdn.net/qq_36623327/article/details/114255791
- Elasticsearch 主从复制:https://blog.csdn.net/qq_36623327/article/details/114255871
- Kibana 的安装:https://blog.csdn.net/qq_36623327/article/details/114255942
创建普通用户
Elasticsearch 不允许使用 root 用户启动,需要创建专用用户,可以使用档案系统专用用户或自行创建
创建普通用户
- 建立用户组 groupadd archser
- 建立用户 useradd -g archser archser
- 修改用户密码 passwd archser
## 因为已经在 home 文件夹下创建了 archser 文件夹,这里使用其他用户名演示正常的创建过程
[root@localhost /]# groupadd elastic
[root@localhost /]# useradd -g elastic elastic
[root@localhost /]# passwd elastic
更改用户 elastic 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
文件夹授权
将 Elasticsearch 文件夹的权限授予 elastic 用户
[root@localhost elasticsearch]# chmod -R 755 /home/archser/elasticsearch/
[root@localhost elasticsearch]# chown -R elastic:elastic /home/archser/elasticsearch/
[root@localhost elasticsearch]# cd /home/archser/elasticsearch/
[root@localhost elasticsearch]# ll
总用量 343068
-rwxr-xr-x 1 elastic elastic 346793931 2月 23 18:13 elasticsearch-7.1.0-linux-x86_64.tar.gz
-rwxr-xr-x 1 elastic elastic 4504522 2月 23 18:13 elasticsearch-analysis-ik-7.1.0.zip
切换用户
后面的操作尽量使用 elastic 用户操作(修改系统参数等操作需要使用 root 用户,可以自行切换)
su - elastic
解压软件和分词器
解压 Elasticsearch
tar -xzvf elasticsearch-7.1.0-linux-x86_64.tar.gz
重命名文件夹名称
mv elasticsearch-7.1.0 elasticsearch
配置分词器
在 elasticsearch 的 plugins 文件夹下创建 ik 文件夹,将 ik 分词器解压到 ik 文件夹中
mkdir ./elasticsearch/plugins/ik
cd ./elasticsearch/elasticsearch/plugins/ik
cp /home/archser/elasticsearch/elasticsearch-analysis-ik-7.1.0.zip ./
unzip ./elasticsearch-analysis-ik-7.1.0.zip
修改系统参数
本部分的系统参数需要使用 root 用户修改
## 切换用户
su - root
## 修改配置文件
vi /etc/security/limits.conf
## 在文件后面增加如下内容,注意:前面的 * 号不能丢
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
------------------------------------------
vi /etc/sysctl.conf
## 在文件末尾增加一行
vm.max_map_count=655360
## 加载系统参数
sysctl -p
## 修改环境变量
vi /etc/profile
## 配置Elasticsearch 环境变量
export ES_HOME=/home/archser/elasticsearch/elasticsearch (可根据实际情况修改路径)
export PATH=$JAVA_HOME/bin:$ES_HOME/bin:$PATH
## 刷新配置文件
source /etc/profile
## 修改完成后要切换回普通用户
su - elastic
修改 Elasticsearch 配置信息
-
修改 elasticsearch.yml
## 进入Elasticsearch 的 conf 文件夹 cd /home/archser/elasticsearch/elasticsearch/config/ ## 修改 elasticsearch.yml vi elasticsearch.yml ## 将节点名称解开注释并重命名(单台部署可以使用默认名称,集群部署注意集群中的名称不能重复) node.name: node-154 ## 将允许外网链接的节点揭开注释并修改为不限制IP network.host: 0.0.0.0 ## 打开端口号注释 http.port: 9200 ## 将发现实例列表解开注释,暂时使用默认值 discovery.seed_hosts: ["127.0.0.1", "[::1]"] ## 将集群主节点列表解开注释,使用当前节点为主节点 cluster.initial_master_nodes: ["node-154"]
-
修改 jvm.options
## 将最大最小内存都改为 4 G (视服务器配置而定,建议4G,不要超过4G ) -Xms4g -Xmx4g
测试 Elasticsearch
## 进入 elasticsearch 的 bin 文件夹,执行 elasticsearch
cd /home/archser/elasticsearch/elasticsearch/bin/
./elasticsearch
## 观察输出日志是否正常,出现 started 则证明启动完成
[2021-02-24T14:37:43,138][INFO ][o.e.n.Node ] [node-154] started
## 访问 9200 端口,是否返回 JSON 格式信息
http://192.168.31.154:9200/
{
"name" : "node-154",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "6lZHZ_YhTJGI67xSdi_LWg",
"version" : {
"number" : "7.1.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "606a173",
"build_date" : "2019-05-16T00:43:15.323135Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
修改配置文件
## 修改 Elasticsearch/config/elasticsearch.yml ,将下面的配置加入进去
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
## 修改后需要重启ES
生成密码文件
## 进入 Elasticsearch/bin 目录中,生成证书
./elasticsearch-certutil cert -out /home/soft/elasticsearch/config/elastic-certificates.p12 -pass ""
## 检查在 config 文件夹下是否存在 elastic-certificates.p12
自动生成密码
## 进入 elasticsearch 的 bin 文件夹,执行生成密码命令,*** 密码一定写成文件做好备份 ***
[elastic@localhost bin]$ ./elasticsearch-setup-passwords auto
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.
The passwords will be randomly generated and printed to the console.
Please confirm that you would like to continue [y/N]y
Changed password for user apm_system
PASSWORD apm_system = D1WstaORnMplRabUEbMB
Changed password for user kibana
PASSWORD kibana = B66pt4LCOtOxxqPaAc0n
Changed password for user logstash_system
PASSWORD logstash_system = 6OE1Ui7sqAyZogfooice
Changed password for user beats_system
PASSWORD beats_system = jF276YnbAFz86Z9tXoyA
Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = zVGiQxfyjukZHQq9QGIk
Changed password for user elastic ## 使用这个密码即可
PASSWORD elastic = XR7QpTu4WWFSuggUpIAi
[elastic@localhost bin]$
## 密码要记录,我一般写个文件存在服务器上,网盘上在搞一份
测试密码
访问当前服务器的 9200 端口,看是否需要密码,输入 elastic 对应的密码,正常登录即可