ElasticSearch安装
ES不能使用root用户来启动,必须使用普通用户来安装启动。
创建用户组与用户组
创建用户
# groupadd elasticsearch
创建用户,并设置账号密码
useradd esuserpasswd mima1234.
创建es文件夹
mkdir -p /usr/local/es
用户es 添加到 elasticsearch 用户组,并且将es文件夹的操作权限给esuser用户
$ usermod ‐G elasticsearch esuser$ chown -R esuser /usr/local/es/
设置sudo权限。为了让普通用户有更大的操作权限,我们一般都会给普通用户设置sudo权限,方便普通用户的操作。 三台机器使用root用户执行visudo命令然后为es用户添加权限 :
visudo
在root ALL=(ALL) ALL 一行下面添加esuser用户 如下:
esuser ALL=(ALL) ALL
切换用户
$ su esuser
安装ES
将elasticsearch-7.6.1-linux-x86_64.tar.gz上传到es文件夹下,并解压
$ tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz
修改配置文件
$ cd /usr/local/es/elasticsearch-7.6.1/config/$ mkdir log$ mkdir data
配置elasticsearch.yml文件:
$ rm -rf elasticsearch.yml$ vim elasticsearch.ymlcluster.name: esuser-esnode.name: node1path.data: /usr/local/es/elasticsearch‐7.6.1/datapath.logs: /usr/local/es/elasticsearch‐7.6.1/lognetwork.host: 0.0.0.0http.port: 9200discovery.seed_hosts: 192.168.40.3cluster.initial_master_nodes: node1bootstrap.system_call_filter: falsebootstrap.memory_lock: falsehttp.cors.enabled: truehttp.cors.allow-origin: "*"
配置jvm.option,调整jvm堆内存大小:
$ cd /usr/local/es/elasticsearch-7.6.1/config/-Xms1g-Xmx1g
修改系统配置
由于现在使用普通用户来安装es服务,且es服务对服务器的资源要求比较多,包括 内存大小,线程数等。所以我们需要给普通用户解开资源的束缚。
1.使用esuser用户解除打开文件数据的限制:
问题描述:max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
$ sudo vi /etc/security/limits.conf# 星号不要去掉* soft nofile 65536* hard nofile 131072* soft nproc 2048* hard nproc 4096
2.使用esuser用户解除启动线程限制
问题描述:max number of threads [1024] for user [es] likely too low, increase to at least [4096]
$ sudo vi /etc/security/limits.d/90‐nproc.conf# 星号不要去掉* soft nproc 4096
3.使用esuser用户调大虚拟内存
问题描述:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
切换到root用户,追加配置,然后重新打开shell窗口
$ vim /etc/sysctl.conf#追加一下内容,保存vm.max_map_count=262144$ sysctl ‐p
启动ElasticSearch
进到bin目录下,后台启动es
$ ./elasticsearch -d
安装Kibana
上传安装包到/usr/local/es文件夹,并解压文件
$ tar -zxvf kibana-7.6.1-linux-x86_64.tar.gz
修改配置文件
$ cd kibana-7.6.1-linux-x86_64/config/$ vim kibana.ymlserver.port: 5601server.host: "192.168.40.3"elasticsearch.hosts: "http://192.168.40.3:9200"
启动kibana
$ ./kibana
浏览器访问:
http://192.168.40.3:5601/app/kibana
安装IK分词器
在/elasticsearch-7.6.1/plugins下创建文件夹ik
$ mkdir ik
将安装包上传到该文件夹中,解压
$ unzip elasticsearch-analysis-ik-7.6.1.zip
重启es生效。
集群搭建
集群elasticsearch.yml修改
分别设置集群中三台es的elasticsearch.yml文件
cluster.name: esuser-esnode.name: node1.esuser.cnpath.data: /usr/local/es/elasticsearch-7.6.1/datapath.logs: /usr/local/es/elasticsearch-7.6.1/lognetwork.host: node1.esuser.cnhttp.port: 9200discovery.seed_hosts: ["192.168.40.4", "192.168.40.5", "192.168.40.6"]cluster.initial_master_nodes: ["node1.esuser.cn", "node2.esuser.cn", "node3.esuser.cn"]bootstrap.system_call_filter: falsebootstrap.memory_lock: falsehttp.cors.enabled: truehttp.cors.allow-origin: "*"cluster.name: esuser-esnode.name: node2.esuser.cnpath.data: /usr/local/es/elasticsearch-7.6.1/datapath.logs: /usr/local/es/elasticsearch-7.6.1/lognetwork.host: node2.esuser.cnhttp.port: 9200discovery.seed_hosts: ["192.168.40.4", "192.168.40.5", "192.168.40.6"]cluster.initial_master_nodes: ["node1.esuser.cn", "node2.esuser.cn", "node3.esuser.cn"]bootstrap.system_call_filter: falsebootstrap.memory_lock: falsehttp.cors.enabled: truehttp.cors.allow-origin: "*"cluster.name: esuser-esnode.name: node3.esuser.cnpath.data: /usr/local/es/elasticsearch-7.6.1/datapath.logs: /usr/local/es/elasticsearch-7.6.1/lognetwork.host: node3.esuser.cnhttp.port: 9200discovery.seed_hosts: ["192.168.40.4", "192.168.40.5", "192.168.40.6"]cluster.initial_master_nodes: ["node1.esuser.cn", "node2.esuser.cn", "node3.esuser.cn"]bootstrap.system_call_filter: falsebootstrap.memory_lock: falsehttp.cors.enabled: truehttp.cors.allow-origin: "*"
集群kibana.yml修改
集群中只需要启动一台kibana即可,所以我们修改其中192.168.40.4中的kibana.yml文件
server.port: 5601server.host: "192.168.40.4"elasticsearch.hosts: "http://192.168.40.4:9200"
启动
安装elasticsearch-head
安装node.js
以下安装均使用192.168.40.4,root用户进行操作
下载并安装
$ cd /usr/local/es# 下载node.js安装包$ wget https://npm.taobao.org/mirrors/node/v8.1.0/node-v8.1.0-linux-x64.tar.gz# 解压安装包$ tar -zxvf node-v8.1.0-linux-x64.tar.gz -C /usr/local/es/
创建软连接
$ sudo ln -s /usr/local/es/node-v8.10.0/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm$ sudo ln -s /usr/local/es/node-v8.10.0/bin/node /usr/local/bin/node
修改环境变量,切换到root账号
$ vim /etc/profile# 在文档中追加一下配置export NODE_HOME=/usr/local/es/node-v8.10.0export PATH=:$PATH:$NODE_HOME/bin# 修改完环境变量使用source生效$ source /etc/profile
安装elasticsearch-head
以下安装均使用192.168.40.4,esuser用户进行操作
elasticsearch-head-compile-after.tar.gz 上传到服务器的/usr/local/es 路径下面去
$ cd /usr/local/es/$ tar -zxvf elasticsearch-head-compile-after.tar.gz -C /usr/local/es/
修改Gruntfile.js
$ cd /usr/local/es/elasticsearch-head$ vim Gruntfile.js# 修改93行hostnameconnect: {server: {options: {hostname: '192.168.40.4',port: 9100,base: '.',keepalive: true}}}
修改app.js
$ cd /usr/local/es/elasticsearch-head/_site$ vim app.js# 修改4354行 将localhost修改为自己的ip
启动elasticsearch-head
$ cd /usr/local/es/elasticsearch-head/node_modules/grunt/bin/# 前台启动$ ./grunt server# 后台启动$ nohup ./grunt server >/dev/null 2>&1 &
