1:elasticsearch运行要依赖jdk环境所以还是先安装jdk
apt-get update #更新源
apt-get install openjdk-8-jdk #安装jdk环境
java -version #测试jdk是否安装成功
2:下载elasticsearch安装包新建用户并解压,系统调优
elasticsearch下载地址
新版es要以非root用户下安装运行,需要添加非root用户
useradd -r -m -s /bin/bash es #新建非root用户这里用户名起名为es
passwd es #为es用户设置密码 123456大家随意设置保证2次密码一致即可
su es #切换es用户
apt-get install -y lrzsz #下载完elasticsearch安装个lrzsz工具rz命令从windows传到需要搭建es集群的服务器即可
tar -zxvf elasticsearch-7.8.1.tar.gz #解压
chown es:es -R /home/es/elasticsearch-7.8.1 #在root账户下执行 为解压后的elasticsearch-7.8.1将该目录拥有者改为es用户
###系统调优
(1)在该配置文件中添加如下配置,原因是elasticsearch用户拥有的内存权限太小,至少需要262144
vim /etc/sysctl.conf #输入如下
fs.file-max=655360
vm.max_map_count=655360
sysctl -p #生效
(2)(nofile)最大开打开文件描述符(nproc)最大用户进程数(memlock)最大锁定内存地址空间
vim /etc/security/limits.conf #输入如下
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
* soft memlock unlimited
* hard memlock unlimited
(3) 调优
vim /etc/systemd/system.conf #输入如下
DefaultLimitNOFILE=65536
DefaultLimitNPROC=32000
DefaultLimitMEMLOCK=infinity
(4)修改将1024修改为65536
vim /etc/security/limits.d/90-nproc.conf #输入如下
* soft nproc 65536
3:第一台机器elasticsearch.yml配置文件,第一台机器做master节点
vim /elasticsearch-7.8.1/config/elasticsearch.yml #进入配置输入如下信息
cluster.name: darkwebV2 #集群名称
node.name: node-1 #当前节点名称
node.master: true #是否作为master节点
node.data: true #是否作为数据节点
bootstrap.memory_lock: true
bootstrap.system_call_filter: false
network.host: 0.0.0.0 #服务器ip地址 0.0.0.0 代表当前机器
http.port: 9200 #对外端口
discovery.seed_hosts: ["172.16.30.21", "172.16.30.41", "172.16.30.61"] #所有集群主机的外网ip
cluster.initial_master_nodes: ["node-1", "node-2","node-3"] #所有集群机子的节点名称
http.cors.enabled: true
http.cors.allow-origin: "*" #是否允许kibana、head等工具远程,我的是所有网络都可以操作
path.data: /home/es/elasticsearch-7.8.1/ee/data #data文件和日志保存地方,需要当前用户有操作权限
path.logs: /home/es/elasticsearch-7.8.1/ee/logs
4:第二台机器elasticsearch.yml配置文件
vim /elasticsearch-7.8.1/config/elasticsearch.yml #进入配置输入如下信息
cluster.name: darkwebV2
node.name: node-2
node.master: false
node.data: true
bootstrap.memory_lock: true
bootstrap.system_call_filter: false
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["172.16.30.21", "172.16.30.41", "172.16.30.61"]
cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
http.cors.enabled: true
http.cors.allow-origin: "*"
path.data: /home/es/elasticsearch-7.8.1/ee/data
path.logs: /home/es/elasticsearch-7.8.1/ee/logs
5:第三台机器elasticsearch.yml配置文件
vim /elasticsearch-7.8.1/config/elasticsearch.yml #进入配置输入如下信息
cluster.name: darkwebV2
node.name: node-3
node.master: false
node.data: true
bootstrap.memory_lock: true
bootstrap.system_call_filter: false
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["172.16.30.21", "172.16.30.41", "172.16.30.61"]
cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
http.cors.enabled: true
http.cors.allow-origin: "*"
path.data: /home/es/elasticsearch-7.8.1/ee/data
path.logs: /home/es/elasticsearch-7.8.1/ee/logs
5:启动elasticsearch并查看日志查、看集群健康状态
./elasticsearch -d #bin目录启动 -d代表后台运行
vi /var/log/elasticsearch/darkwebV2.log #查看日志
curl -XGET http://172.16.30.68:9200/_cluster/health #查看集群健康状态
访问 http://172.16.30.68:9200/_cat/nodes 如下图
6:下载kibana包并解压安装
kibana下载地址
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.8.1-linux-x86_64.tar.gz #下载kibana包
sha1sum kibana-7.8.1-linux-x86_64.tar.gz #检测包是否能用
tar -xzf kibana-7.8.1-linux-x86_64.tar.gz #解压
7:修改kibana配置文件
chown es:es -R /home/es/kibana-7.8.1-linux-x86_64 #在root账户下执行 添加权限
vi kibana-7.8.1-linux-x86_64/config/kibana.yml #进入配置文件输入如下信息
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://172.16.30.21:9200","http://172.16.30.41:9200","http://172.16.30.61:9200"]
kibana.index: ".kibana"
8:启动kibana
chmod +x kibana
nohup ./kibana >/dev/null 2>&1 &
http://172.16.30.68:5601/app/kibana#/dev_tools/console?_g=() #在浏览器访问kibana
9:安装ik分词
ik下载地址下载跟es版本对应的ik,每一个节点的es都要装ik
cd elasticsearch-7.8.1/plugins
mkdir ik #创建ik目录
将下载的ik在创建的目录解压
unzip elasticsearch-analysis-ik-7.8.1.zip #解压ik
ps -ef |grep elasticsearch #查看es启动端口
kill 端口号 #杀死启动的es
cd elasticsearch-7.8.1/bin
./elasticsearch -d #重启es即可