惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
A
About on SuperTechFans
IT之家
IT之家
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Blog — PlanetScale
Blog — PlanetScale
aimingoo的专栏
aimingoo的专栏
云风的 BLOG
云风的 BLOG
The GitHub Blog
The GitHub Blog
Vercel News
Vercel News
G
Google Developers Blog
J
Java Code Geeks
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
Cloudbric
Cloudbric
L
LINUX DO - 最新话题
MyScale Blog
MyScale Blog
H
Heimdal Security Blog
PCI Perspectives
PCI Perspectives
Attack and Defense Labs
Attack and Defense Labs
S
Security @ Cisco Blogs
Latest news
Latest news
I
Intezer
L
Lohrmann on Cybersecurity
C
CXSECURITY Database RSS Feed - CXSecurity.com
月光博客
月光博客
T
Threatpost
博客园 - 【当耐特】
S
Schneier on Security
P
Privacy International News Feed
G
GRAHAM CLULEY
T
Tenable Blog
AWS News Blog
AWS News Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
雷峰网
雷峰网
博客园 - Franky
Engineering at Meta
Engineering at Meta
美团技术团队
S
Secure Thoughts
T
Troy Hunt's Blog
Microsoft Security Blog
Microsoft Security Blog
SecWiki News
SecWiki News
V
Visual Studio Blog
人人都是产品经理
人人都是产品经理
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Cisco Talos Blog
Cisco Talos Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Martin Fowler
Martin Fowler
Webroot Blog
Webroot Blog
Google DeepMind News
Google DeepMind News
H
Hackread – Cybersecurity News, Data Breaches, AI and More

博客园 - 下里巴人or知己

基于支付宝微信通知的一种个人收款回调方案(转) P2P技术详解(三):P2P技术之STUN、TURN、ICE详解 turn协议的工作原理 iOS捷径(Workflow 2.0)拓展 支付宝 二维码/转账码/生成方式,突破二维码生成数量的限制 支付宝-API接口解析-转账到银行 浅析套接字中SO_REUSEPORT和SO_REUSEADDR的区别 SpringMVC启动过程详解(li) 无感知的热部署切换 这个女生说:弄懂本文前,你所知道的区块链可能都是错的 为什么我们做分布式使用Redis? Java内存模型原理,你真的理解吗? CentOS 7.4 下搭建 Elasticsearch 6.3 搜索群集 分布式系统理论进阶 - Raft、Zab Paxos,Raft,Zab一致性协议-Raft篇 P2P 网络核心技术:Gossip 协议 分布式系统Paxos算法 Hacker News的热门排名算法(转) cessss
CentOS 7下ElasticSearch集群搭建案例
下里巴人or知己 · 2018-11-16 · via 博客园 - 下里巴人or知己

最近在网上看到很多ElasticSearch集群的搭建方法,本人在这人使用Elasticsearch5.0.1版本,介绍如何搭建ElasticSearch集群并安装head插件和其他插件安装方法。

一、搭建环境(2台CentOS 7系统服务器)

所需软件

  Elasticsearch-5.0.1.tar.gz
  node-v4.2.2-linux-x64.tar.gz

基础环境JAVA

  yum -y install java-1.8*
  java -version #检查java是否安装成功

测试环境关闭防火墙和selinux

    关闭防火墙
        systemctl stop firewalld
        systemctl diable firewalld
    关闭selinux
        sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config   #需要重启系统

配置主机名和hosts文件

  配置hostname
        sed -i 's/localhost/es1/g' /etc/hostname
     sed -i 's/localhost/es1/g' /etc/hostname
  配置hosts vi /etc/hosts #添加一下内容 
     172.16.81.133 es1
     172.16.81.134 es2

创建用户

        useradd elasticsearch
        passwd elasticsearch   #然后输入两次密码即可!

二、安装es软件(tar.gz解压安装)

         tar -zxvf elasticsearch-5.0.1.tar.gz
         mv elasticsearch-5.0.1 elasticsearch5
         cd elasticsearch5

创建data和logs目录

         mkdir -p es
         mkdir -p es/data
         mkdir -p es/logs

修改配置文件

            cd /opt/elasticsearch5/config
            vi elasticsearch.yml
            es1配置文件如下:
                cluster.name: es-cluster    #集群名,不同名称代表不同集群
                node.name: es1    #节点名称,自定义
                path.data: /opt/elasticsearch5/es/data    #数据路径
                path.logs: /opt/elasticsearch5/es/logs    #日志路径
                bootstrap.memory_lock: false    #关闭锁内存
                network.host: 172.16.81.133    #绑定IP地址
                http.port: 9200    #绑定端口
                discovery.zen.ping.unicast.hosts: ["es1", "es2"]    #集群列表,类型数组,可以是IP或域名
                discovery.zen.minimum_master_nodes: 2    #节点数不能超过节点总数量
                http.cors.enabled: true    #开启http网络节点发现
                http.cors.allow-origin: "*"    #允许所有同网段节点发现
            es2配置文件如下:
                cluster.name: es-cluster    #集群名,不同名称代表不同集群
                node.name: es2    #节点名称,自定义
                path.data: /opt/elasticsearch5/es/data    #数据路径
                path.logs: /opt/elasticsearch5/es/logs    #日志路径
                bootstrap.memory_lock: false    #关闭锁内存
                network.host: 172.16.81.134    #绑定IP地址
                http.port: 9200    #绑定端口
                discovery.zen.ping.unicast.hosts: ["es1", "es2"]    #集群列表,类型数组,可以是IP或域名
                discovery.zen.minimum_master_nodes: 2    #节点数不能超过节点总数量
                http.cors.enabled: true    #开启http网络节点发现
                http.cors.allow-origin: "*"    #允许所有同网段节点发现

配置内核参数

            vi /etc/security/limits.conf    #添加以下内容
                * soft nofile 65536
                * hard nofile 131072
                * soft nproc 2048
                * hard nproc 4096
            vi /etc/sysctl.conf 
                添加下面配置:
                vm.max_map_count=655360
                并执行命令:
                sysctl -p

修改文件权限

            chown -R elasticsearch:elasticsearch elasticsearch5

切换到elasticsearch启动程序

            su - elasticsearch
            cd /opt/elasticsearch5/bin
            ./elasticsearch  #观察输出信息
            ./elasticsearch &    #后台运行

查看端口

            netstat -lntp
            结果:
            tcp        0      0 0.0.0.0:9100            0.0.0.0:*               LISTEN      8892/grunt                  
            tcp6       0      0 172.16.81.133:9200      :::*                    LISTEN      5250/java           
            tcp6       0      0 172.16.81.133:9300      :::*                    LISTEN      5250/java           
            存在9100、9200、9300上述上个端口即可!

三、安装elasticsearch-head插件

安装依赖包和工具包

yum -y install wget git bizp2

git项目到本地

cd /opt
git clone git://github.com/mobz/elasticsearch-head.git

安装node、npm、grunt

wget https://nodejs.org/dist/v4.2.2/node-v4.2.2-linux-x64.tar.gz
tar -zxvf node-v4.2.2-linux-x64.tar.gz

设置链接

ln -s /opt/node-v4.2.2-linux-x64/bin/node /usr/sbin/node
ln -s /opt/node-v4.2.2-linux-x64/bin/npm /usr/sbin/npm

设置npm代理镜像

npm config set registry https://registry.npm.taobao.org

安装、配置grunt

npm install -g grunt
ln -s /opt/node-v4.2.2-linux-x64/lib/node_modules/grunt/bin/grunt /usr/sbin/grunt

修改elasticsearch-head配置文件

                cd /opt/elasticsearch-head
                vi _site/app.js
                // 把localhost改为ip
                this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";
                this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://172.16.81.89:9200";
                修改Gruntfile.js
                connect: {
                    server: {
                        options: {                                                                                                                  
                            hostname: "0.0.0.0", #添加这里
                            port: 9100,
                            base: '.',
                            keepalive: true
                        }   
                    }   
                }

安装head

 cd /opt/elasticsearch-head
 npm install

启动head

浏览器访问(最好是谷歌浏览器)

接口:
http://172.16.81.133:9200/
集群:
http://172.16.81.133:9100/   #五角星代表主节点,圆点代表数据节点 查看主master是谁: http://172.16.81.133:9200/_cat/master 更多URL信息 http://172.16.81.133:9200/_cat

最后在介绍下5.x安装插件的方法,这儿我们举例安装!

我们将安装geoip的插件(可以解析外网地址显示在地图上)

cd /opt/elasticsearch5/bin

[root@es1 bin]# ./elasticsearch-plugin install --help   #我们看到了所支持的插件
Install a plugin

The following official plugins may be installed by name:
analysis-icu
analysis-kuromoji
analysis-phonetic
analysis-smartcn
analysis-stempel
discovery-azure-classic
discovery-ec2
discovery-file
discovery-gce
ingest-attachment
ingest-geoip
ingest-user-agent
lang-javascript
lang-Python
mapper-attachments
mapper-murmur3
mapper-size
repository-azure
repository-gcs
repository-hdfs
repository-s3
store-smb
x-pack

Non-option arguments:

安装插件:

[root@es1 bin]# ./elasticsearch-plugin install ingest-geoip
-> Downloading ingest-geoip from elastic
[=================================================] 100%  
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: plugin requires additional permissions @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission accessDeclaredMembers
See http://docs.Oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.

Continue with installation? [y/N]y
-> Installed ingest-geoip

验证:

cd /opt/elasticsearch5/plugins
[root@es1 plugins]# ls
ingest-geoip  #会看到刚刚安装的插件,需要重启es集群配置生效

ElasticSearch集群到此就完成了!