系统环境:centos7.5
192.168.204.128
192.168.204.129
192.168.204.130
JDK:1.8
elasticsearch-7.1.1
1.配置JAVA环境,将JDK1.8解压到/usr/local/jdk/目录下,在/etc/profile中添加
JAVA_HOME=/usr/local/jdk/jdk1.8
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
PATH=$JAVA_HOME/bin:$HOME/bin:$HOME/.local/bin:$PATH
2.创建文件夹,将下载的Elasticsearch压缩包解压到该目录
sudo mkdir /ES
将elasticsearch-7.1.1压缩包上传到ES目录
cd /ES
sudo tar -zxvf elasticsearch-7.1.1-linux-x86_64.tar.gz
配置elasticsearch.yum文件
sudo vim /ES/elasticsearch-7.1.1/config/elasticsearch.yml
这里选择192.168.204.130作为Master,在最下面添加以下配置
---------------------------------------------------------------------------------------------------------------------------------------------------------------
http.cors.enabled: true
http.cors.allow-origin: "*"
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
##集群名称,每个节点配置成一样的名称才能形成正确的集群
cluster.name: wang
##节点名称,每个节点配置不同名称
node.name: master
##是否主节点
node.master: true
##集群主节点node名称
cluster.initial_master_nodes: ["master"]
##是否数据节点
node.data: true
##单机最大节点数
node.max_local_storage_nodes: 1
##索引数据的存储路径
path.data: /usr/local/es1
##日志文件的存储路径
path.logs: /usr/local/es1
##绑定的ip地址,外网也可以访问
network.host: 0.0.0.0
##设置对外服务的http端口,默认为9200
http.port: 9200
## 设置节点间交互的tcp端口
transport.tcp.port: 9302
transport.tcp.compress: true
## 设置集群中节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
discovery.zen.ping.unicast.hosts: ["192.168.204.128:9300","192.168.204.129:9301","192.168.209.130:9302"]
discovery.zen.minimum_master_nodes: 1
##防止同一个shard的主副本存在同一个物理机上
cluster.routing.allocation.same_shard.host: true
------------------------------------------------------------------------------------------------------------------------------------------------------
192.168.204.128配置
http.cors.enabled: true
http.cors.allow-origin: "*"
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
##集群名称,每个节点配置成一样的名称才能形成正确的集群
cluster.name: wang
##节点名称,每个节点配置不同名称
node.name: node1
##是否主节点
node.master: false
##集群主节点node名称
cluster.initial_master_nodes: ["master"]
##是否数据节点
node.data: true
##单机最大节点数
node.max_local_storage_nodes: 1
##索引数据的存储路径
path.data: /usr/local/es1
##日志文件的存储路径
path.logs: /usr/local/es1
##绑定的ip地址,外网也可以访问
network.host: 0.0.0.0
##设置对外服务的http端口,默认为9200
http.port: 9200
## 设置节点间交互的tcp端口,默认是9300
transport.tcp.port: 9300
transport.tcp.compress: true
## 设置集群中节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
discovery.zen.ping.unicast.hosts: ["192.168.204.128:9300","192.168.204.129:9301","192.168.209.130:9302"]
discovery.zen.minimum_master_nodes: 1
##防止同一个shard的主副本存在同一个物理机上
cluster.routing.allocation.same_shard.host: true
192.168.204.129配置
http.cors.enabled: true
http.cors.allow-origin: "*"
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
##集群名称,每个节点配置成一样的名称才能形成正确的集群
cluster.name: wang
##节点名称,每个节点配置不同名称
node.name: node2
##是否主节点
node.master: false
##集群主节点node名称
cluster.initial_master_nodes: ["master"]
##是否数据节点
node.data: true
##单机最大节点数
node.max_local_storage_nodes: 1
##索引数据的存储路径
path.data: /usr/local/es1
##日志文件的存储路径
path.logs: /usr/local/es1
##绑定的ip地址,外网也可以访问
network.host: 0.0.0.0
##设置对外服务的http端口,默认为9200
http.port: 9200
## 设置节点间交互的tcp端口
transport.tcp.port: 9301
transport.tcp.compress: true
## 设置集群中节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
discovery.zen.ping.unicast.hosts: ["192.168.204.128:9300","192.168.204.129:9301","192.168.204.130:9302"]
discovery.zen.minimum_master_nodes: 1
##防止同一个shard的主副本存在同一个物理机上
cluster.routing.allocation.same_shard.host: true
因为elasticsearch不能用root用户启动,需要创建用户
sudo useradd wang (创建用户名)
sudo passwd wang (设置密码)
sudo chown -R wang:wang /ES (给用户ES文件夹权限)
创建数据目录
mkdir /usr/local/es1
sudo chown -R wang:wang es1
3.切换创建的用户,启动elasticsearch
su wang
sh /ES/elasticsearch-7.1.1/bin/elasticsearch
发现报错
切换到root用户,编辑limits.conf 添加类似如下内容
vi /etc/security/limits.conf
添加如下内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
修改内存大小
sudo sysctl -w vm.max_map_count=262144
切换用户再次启动
sh /ES/elasticsearch-7.1.1/bin/elasticsearch -d (后台启动)
在浏览器中输入Ip:9200可查看
5.然后我们要安装head插件,首先安装Nodejs,在主节点服务器下执行
sudo mkdir /node
cd /node
sudo wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.xz
sudo tar -xvf node-v10.16.0-linux-x64.tar.xz
改名
sudo mv node-v10.16.0-linux-x64 nodejs
添加软连接
sudo ln -s /node/nodejs/bin/node /usr/local/bin
sudo ln -s /node/nodejs/bin/npm /usr/local/npm
输入node -v查看是否配置成功
6.下载elasticsearch-head-master.zip
sudo mkdir/head
cd /head
wget https://github.com/mobz/elasticsearch-head/archive/master.zip
sudo unzip elasticsearch-head-master.zip
进入到elasticsearch-head-master安装npm
cd elasticsearch-head-master
curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
yum install -y nodejs
npm config set registry https://registry.npm.taobao.org
sudo npm install
npm -v
安装完成后在elasticsearch-head-master目录下面,执行以下命令启动head插件
sudo npm run start
在浏览器输入ip:9100
记得要关闭防火墙,不然可能会导致无法形成集群。
centos6关闭防火墙命令
service iptables stop
centos7关闭防火墙命令
systemctl stop firewalld.service
(附)
查看ES进程命令
ps -ef | grep elastic