CentOS 7下ElasticSearch集群搭建案例
最近在网上看到很多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
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集群配置生效
ElasticSearch集群到此就完成了!
ElasticSearch 的详细介绍:请点这里
ElasticSearch 的下载地址:请点这里
相关推荐
newbornzhao 2020-09-14
做对一件事很重要 2020-09-07
renjinlong 2020-09-03
明瞳 2020-08-19
李玉志 2020-08-19
mengyue 2020-08-07
molong0 2020-08-06
AFei00 2020-08-03
molong0 2020-08-03
wenwentana 2020-08-03
YYDU 2020-08-03
另外一部分,则需要先做聚类、分类处理,将聚合出的分类结果存入ES集群的聚类索引中。数据处理层的聚合结果存入ES中的指定索引,同时将每个聚合主题相关的数据存入每个document下面的某个field下。
sifeimeng 2020-08-03
心丨悦 2020-08-03
liangwenrong 2020-07-31
sifeimeng 2020-08-01
mengyue 2020-07-30
tigercn 2020-07-29
IceStreamLab 2020-07-29