首先 下载
https://www.elastic.co/downloads/elasticsearch
然后
解压到 用户目录 比如:~/module
然后 配置环境变量 比如:export ES_HOME=/home/zhy/module/elasticsearch-6.4.1
export PATH=$PATH:${ES_HOME}/bin
vim 安装目录下的config/elasticsearch.yml
cluster.name: my-es6
node.name: node-1
node.master: true
path.data: /home/zhy/module/elasticsearch-6.4.1/data
path.logs: /home/zhy/module/elasticsearch-6.4.1/logs
network.host: 0.0.0.0
http.port: 9200
#
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["zhy.cauchy8389.com:9300"]
discovery.zen.minimum_master_nodes: 1
# ---------------------------------- Gateway -----------------------------------
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-credentials: true
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
解释说明:
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.153 这个不用自然是配置ip地址的
http.port: 9200 端口号,不配置的话默认9200
discovery.zen.ping.unicast.hosts: [“192.168.0.153”,”192.168.0.154”,”192.168.0.155”] 这个就是配置集群的时候要用的到了,[]中填上集群中其他集群的ip的地址,如果是master的话请把所有salve的机器地址填上
discovery.zen.minimum_master_nodes: 2 关于这个值配置多少合适的话大家去搜一下,自己权衡一下集群,这里我用了3台机器模拟集群,所以填上2。
http.cors.enabled: true 这个参数的设置和下面一个配置就关于ip的访问策略了,如果你发现其他ip地址访问不了就有可以这参数没有配置
http.cors.allow-origin: “*”
sudo vim /etc/security/limits.conf
* - nofile 65536
* soft memlock unlimited
* hard memlock unlimited
* soft nproc 4096
* hard nproc 4096
把vi /etc/security/limits.d/90-nproc.conf 里面nproc一行注掉
#* soft nproc 1024
root soft nproc unlimited
修改 /etc/sysctl.conf
vm.max_map_count=655360
fs.file-max=655360
然后sysctl -p使系统配置生效
以上步骤后最好重启下 reboot
这时候 elasticsearch -d 就能启动成服务了,然后jps看下java进程中有elasticsearch没有。
附:head插件的安装
wget https://github.com/mobz/elasticsearch-head/archive/master.zip
unzip
cd elasticsearch-head-master
安装node :网上说的乱七八糟的都不需要,只要按照如下步骤:
先下载node 解压到/home/zhy/module/elasticsearch-6.4.1/nodejs
然后:
cd elasticsearch-head-master
sudo ln -s /home/zhy/module/elasticsearch-6.4.1/nodejs/bin/node /usr/local/bin/
sudo ln -s /home/zhy/module/elasticsearch-6.4.1/nodejs/bin/npm /usr/local/bin/
npm install -g grunt-cli //执行后会生成node_modules文件夹
npm install
sudo ln -s /home/zhy/module/elasticsearch-6.4.1/nodejs/bin/grunt /usr/local/bin/
查看 grunt -version 显示版本号就正确了。
修改vim Gruntfile.js文件:增加hostname属性,设置为*
connect: {
server: {
options: {
port: 9100,
hostname: '*',
base: '.',
keepalive: true
}
}
}
修改 vim _site/app.js 文件:修改head的连接地址:
this.base_uri = this.config.base_uri || this.prefs.get(“app-base_uri”) || “http://localhost:9200“;
修改成ElasticSearch的机器地址
this.base_uri = this.config.base_uri || this.prefs.get(“app-base_uri”) || “http://elastichost:9200“;
修改完成你就可以启动head插件了:在 elasticsearch-head-master下启动服务
grunt server &
访问地址:http://elastichost:9100
如果你在浏览器中访问不了,请检查防火墙是否关闭。