ES5.0集群搭建
最近在网上看到很多ES集群的搭建方法,本人在这人使用Elasticsearch5.0.1版本,介绍如何搭建es集群并安装head插件和其他插件安装方法。
一、搭建环境(2台Centos7系统服务器)
所需软件
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: 1 #节点数不能超过节点总数量(防止脑裂两台可配置成1,三台可配置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: 1 #节点数不能超过节点总数量
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
grunt server &
浏览器访问(最好是谷歌浏览器)
接口:
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集群配置生效
es集群到此就完成了!后续将发布zookeeper和kafka集群!
感谢!有问题请指出!转载请指出源链接!
ES5.0集群搭建的更多相关文章
- Redis 3.0 集群搭建
Redis 3.0 集群搭建 开启两个虚拟机 分别在两个虚拟机上开启3个Redis实例 3主3从两个虚拟机里的实例互为主备 下面分别在两个虚拟机上安装,网络设置参照codis集群的前两个主机 分别关闭 ...
- Redis 5.0 集群搭建
Redis 5.0 集群搭建 单机版的 Redis 搭建 https://www.jianshu.com/p/b68e68bbd725 /usr/local/目录 mkdir redis-cluste ...
- Ubuntu 12.04下Hadoop 2.2.0 集群搭建(原创)
现在大家可以跟我一起来实现Ubuntu 12.04下Hadoop 2.2.0 集群搭建,在这里我使用了两台服务器,一台作为master即namenode主机,另一台作为slave即datanode主机 ...
- centos下hadoop2.6.0集群搭建详细过程
一 .centos集群环境配置 1.创建一个namenode节点,5个datanode节点 主机名 IP namenodezsw 192.168.129.158 datanode1zsw 192.16 ...
- redis3.0集群搭建
生产环境中准备使用redis3.0集群了,花了一天时间研究了一下,下面记录一下集群搭建的过程. 服务器规划: 192.168.116.129 7000,7003 192.168.116.130 ...
- hadoop2.6.0集群搭建
p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...
- Zookeeper3.4.10 + ActiveMQ-5.15.0 集群搭建
网上的教程真的是凤毛麟角,就不想说啥了,一次一次把我带入坑. 好了关于Zookeeper的搭建已经说好了,本文说说基于Zookeeper的MQ集群. 第一步.将mq安装包上传到CentOS7,并解压 ...
- Weblogic 10.3.6.0 集群搭建
Weblogic 集群搭建 Oracle的Weblogic分开发者版本和生产版本,有32位和64位.一般生产版本的weblogic是64位的,安装文件是一个大小为1G多的jar包.去oracle官网上 ...
- docker redis4.0集群搭建
一.前言 redis集群对于很多人来说非常熟悉,在前些日子,我也有一位大兄弟也发布过一篇关于在阿里云(centOS7)上搭建redis 集群的文章,虽然集群搭建的文章在网上很多,我比较喜欢这篇文章的地 ...
随机推荐
- scala-Future和Promise
首先说明同步与异步,阻塞与非阻塞的问题: Asynchronous vs. Synchronous A method call is considered synchronous if the cal ...
- DeepLearning.ai学习笔记(四)卷积神经网络 -- week1 卷积神经网络基础知识介绍
一.计算机视觉 如图示,之前课程中介绍的都是64* 64 3的图像,而一旦图像质量增加,例如变成1000 1000 * 3的时候那么此时的神经网络的计算量会巨大,显然这不现实.所以需要引入其他的方法来 ...
- 关于spring mybateis 定义resultType="java.util.HashMap"
关于spring mybateis 定义resultType="java.util.HashMap" List<HashMap<String, Object>& ...
- 简单工厂(Simple Factory),最合适的设计模式首秀.
简单工厂又称为静态工厂方法(static factory method)模式,简单工厂是由一个工厂来决定创建出哪一种个体的实现,在很多的讨论中,简单工厂做为工厂方法模式(Factory Method) ...
- ES6 Proxy和Reflect (上)
Proxy概述 Proxy用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种"元编程"(meta programming),即对编程语言进行编程. Proxy可以理 ...
- HTML5 矩阵变换
transforms 使用图形上下文对象的transforms方法修改变换矩阵,该方法的定义如下: context.transform(m11,m12,m21,m22,dx,dy); 其中m11,m1 ...
- Windows,Mac与Linux哪个更适合开发者?
以前写的,怕引来口水战,干脆不发.这段时间面试了十来人,用Mac的开发水平明显高于Windows的,挺多感想的,于是改改发了吧. Windows: 对普通用户而言体验最友好,对开发者 ...
- centos7 编译ntopng源码
先安装编译所需的开发工具 yum groupinstall 'Development Tools' yum install tcl yum install libpcap libpcap-devel ...
- Vuex 源码学习(二)
Vue加载后,将Vuex 加载到 Vue对象上后,初始化Store. (一) Store的参数的定义 其中 action 与 mutation 的订阅者 用 数组存储,而其属性都是用对象存储的. 考虑 ...
- Nginx 限制连接的实践 (DDOS)
参考: 运维人员的日常 关于限制用户连接,Nginx 提供的模块: ngx_http_limit_req_module , ngx_http_limit_conn_module , 还有 stre ...