ElasticSearh作为目前比较流行的全文搜索引擎。目前使用的公司以及个人比较多。其是基于RESTful web接口使用java语言开发,其能够达到实时搜索,稳定,可靠,快速,安装使用方便。本篇简单介绍下如何在linux系统上进行安装配置。
创新互联服务项目包括留坝网站建设、留坝网站制作、留坝网页制作以及留坝网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,留坝网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到留坝省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
1. 操作系统:CentOS 7.4
2. 安装Elasticsearch前提条件:JDK1.8及以上,我这里使用的版本是 jdk1.8.0_181
3. 目前Elasticsearch最新的版本是 7.5.1,我这里使用的版本是 5.2.2
说明:ElasticSearch的运行不能用root执行,必须普通用户来启动。
一、jdk 安装
JDK安装
二、elasticsearch安装1.创建用户 [root@test-01 ~]# groupadd elastic [root@test-01 ~]# useradd elastic -g elastic -m
2.下载安装 [root@test-01 ~]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.tar.gz [root@test-01 ~]# tar zxvf elasticsearch-5.2.2.tar.gz [root@test-01 ~]# mv elasticsearch-5.2.2 /usr/loca/elasticsearch //创建数据及日志目录 [root@test-01 ~]# mkdir -p /data/elasticsearch/data [root@test-01 ~]# mkdir -p /data/elasticsearch/logs //添加权限 [root@test-01 ~]# chown elastic:elastic elasticsearch /usr/loca/elasticsearch -R [root@test-01 ~]# chown elastic:elastic elasticsearch /data/elasticsearch/logs -R [root@test-01 ~]# chown elastic:elastic elasticsearch /data/elasticsearch/data -R
3.修改配置文件(修改方法参考如下:)集群配置文件略同 [root@test-01 ~]# cat /usr/local/elasticsearch/config/elasticsearch.ym l egrep -v '^(#|$)' cluster.name: es_cluster node.name: node-01 //随机定义 node.master: true //主true 从false node.data: true path.data: /data/elasticsearch/data path.logs: /data/elasticsearch/logs network.host: 192.168.0.164 http.port: 9200 transport.tcp.port: 9300 discovery.zen.ping.unicast.hosts: ["192.168.0.165", "192.168.0.164"] discovery.zen.minimum_master_nodes: 1 xpack.security.enabled: true http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-headers: Authorization,Content-Type xpack.security.authc: accept_default_password: true
解释说明: bootstrap.memory_lock: false bootstrap.system_call_filter: false 一看就知道是关于内用访问的方面的配置 cluster.name 集群名字,同一个集群中使用相同名字,单机就随意 node.name: node-01 节点名字 node.master: 是否为集群的master机器 node.data: true 是否作为数据节点 network.host: 192.168.0.164 这个不用自然是配置ip地址的,也可以配置成0.0.0.0 http.port: 9200 端口号,不配置的话默认9200 discovery.zen.ping.unicast.hosts: [“192.168.0.165”,”192.168.0.164”] 这个就是配置集群的时候要用的到了,[]中填上集群中其他集群的ip的地址,如果是master的话请把所有salve的机器地址填上 discovery.zen.minimum_master_nodes: 1 关于这个值配置多少合适的话大家去搜一下,自己权衡一下集群,这里我用了3台机器模拟集群,所以填上2。 http.cors.enabled: true 这个参数的设置和下面一个配置就关于ip的访问策略了,如果你发现其他ip地址访问不了就有可以这参数没有配置
4.调整系统参数 [root@test-01 ~]# vim /etc/security/limits.conf root soft nofile 65535 root hard nofile 65535 * soft nofile 65536 * hard nofile 131072 * soft nproc 2048 [root@test-01 ~]# vim /etc/sysctl.conf vm.max_map_count=662144 vm.overcommit_memory = 1 执行命令,使配置文件生效 [root@test-01 ~]# sysctl –p
5.启动与停止 [root@test-01 ~]# su elastic -c "/usr/local/elasticsearch/bin/elasticsearch -d" [root@test-01 ~]# kill -9 `ps aux|grep [e]lasticsearch |grep -v tail|awk '{print $2}'`
三、安装head插件 一般安装在/usr/local/elasticsearch/elasticsearch-head路径下 1.安装node 源码安装方法如下: [root@test-01 ~]# yum -y install gcc make gcc-c++ openssl-devel 下载源码及解压: [root@test-01 ~]# wget http://nodejs.org/dist/v4.4.7/node-v4.4.7-linux-x64.tar.gz [root@test-01 ~]# tar zxvf node-v4.4.7-linux-x64.tar.gz [root@test-01 ~]# mv node-v4.4.7-linux-x64 /usr/local/node [root@test-01 ~]# ln -s /usr/local/node/bin/node /usr/local/bin/node [root@test-01 ~]# ln -s /usr/local/node/bin/npm /usr/local/bin/npm [root@test-01 ~]# node -v 2.安装grunt grunt是一个很方便的构建工具,可以进行打包压缩、测试、执行等等的工作,5.2里的head插件就是通过grunt启动的。因此需要安装一下grunt: [root@test-01 ~]# git clone git://github.com/mobz/elasticsearch-head.git [root@test-01 ~]# cd elasticsearch-head [root@test-01 ~]# npm install -g grunt-cli //执行后会生成node_modules文件夹 [root@test-01 ~]# npm install 注意:5.0以上,elasticsearch-head 不能放在elasticsearch的 plugins、modules 目录下,否则elasticsearch启动会报错。 修改vim Gruntfile.js文件:增加hostname属性,设置为*
3.启动grunt [root@test-01 ~]# grunt server & 不安装 grunt 也可以启动: [root@test-01 ~]# npm run start &