Linux搭建Elasticsearch集群详细过程

系统环境: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

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

今朝花落悲颜色

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值