ElasticSearch 6 安装及相关坑解析

首先 下载

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
如果你在浏览器中访问不了,请检查防火墙是否关闭。

 

 

 

 

 

 

 

展开阅读全文

没有更多推荐了,返回首页