参考:

https://blog.csdn.net/u014180504/article/details/78733827

 

https://blog.csdn.net/youzhouliu/article/details/78885897

 

 

——————————————————————————————————————————————

为了避免踩坑,先解决以下问题

1.  不要用root用户,搭建 ES

2.  为了避免   这个错误   max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

    需要 [root@localhost config]# vim /etc/security/limits.conf 

    添加以下内容:

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

     我是root用户添加的,要想生效,需要退出用户,重新进入才行(普通用户重新进入才生效)。

 

3. 为了避免  max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

   需要在: /etc/sysctl.conf  文件里  set vm.max_map_count=262144

   我设置的是:

 

 

4. 机器要安装jdk 1.8+

-----------------------------------------------------

单机安装:

1. 下载 ,url:https://www.elastic.co/downloads/elasticsearch

 

 

2. 上传centos,解压

tar zxvf elasticsearch-6.5.0.tar.gz 

3. 配置 config/elasticsearch.yml文件

 在 文件末尾添加如下配置:

 

4. 启动: ./bin/elasticsearch

[2018-11-19T10:55:24,935][INFO ][o.e.n.Node               ] [es-master] started     说明启动成功

 

5.浏览器访问  http://192.168.1.157:9200/      注意9200对外开放端口

 

 

 

-----------------------------------------------

安装head插件

1. 下载地址: https://github.com/mobz/elasticsearch-head

     上传, 并 tar -zxvf  解压 

2. 运行head需要运行node所以也要下载node           https://npm.taobao.org/mirrors/node/latest-v10.x/

 

     上传,并 unzip 解压

3.  在  /etc/profile 中添加

 

 

修改完保存并

source /etc/profile
1
这里遇到了大坑啊,由于ES启动时不建议用root账户的所以我直接用其他的账户登录之后修改,但是不让改没权限,然后我就切换到root修改也source 了,但是在切换回其他账户的时候

echo $NODE_HOME
1
死活是空的,我就纳闷了,在看也修改了,这里就埋下了坑,就直接说解决方案吧,哭死了,必须在用当前账户在 source /etc/profile一次才行,在

echo $NODE_HOME

安装grunt

接下来解压下载的master.zip,进入下载的elasticsearch-head-master,
执行

[root@localnode1 elasticsearch-head-master]#npm install -g grunt-cli
1
接下来检查grunt 安装是否成功

[root@localnode1 elasticsearch-head]# grunt -version
grunt-cli v1.3.2
输出版本说明成功

修改head插件源码:

修改服务器监听地址:Gruntfile.js

 


修改修改连接地址:_site/app.js

 

 

在elasticsearch-head-master目录下

[root@localnode1 elasticsearch-head]# npm install
[root@localnode1 elasticsearch-head]# grunt server

启动成功就可以访问192.168.1.157:9100就可以看到如下界面

 

 

----------------------------------------------

 伪集群搭建:

 1. 把解压的elasticsearch-6.5.0, 复制三份, 分别为es-node1,es-node2,es-node3

[es@localhost es-node1]$ vim config/elasticsearch.yml 

   cluster.name: elasticsearch

  node.name: es-node1

network.host: 192.168.1.157

http.port: 9200

discovery.zen.ping.unicast.hosts: ["192.168.1.157","192.168.1.157:9301"]

 

discovery.zen.minimum_master_nodes: 2

network.bind_host: 192.168.1.157
#设置绑定的ip地址,这是master虚拟机的IP
#
# network.publish_host: 192.168.1.157
# #设置其它节点和该节点交互的ip地址
transport.tcp.port: 9300

http.cors.enabled: true
http.cors.allow-origin: "*"

 

[es@localhost es-node2]$ vim config/elasticsearch.yml 

cluster.name: elasticsearch

node.name: es-node2

network.host: 192.168.1.157

http.port: 9201

discovery.zen.ping.unicast.hosts: ["192.168.1.157","192.168.1.157:9301"]

discovery.zen.minimum_master_nodes: 2

network.bind_host: 192.168.1.157
#设置绑定的ip地址,这是master虚拟机的IP
#
# network.publish_host: 192.168.1.157
# #设置其它节点和该节点交互的ip地址
transport.tcp.port: 9301

 

[es@localhost es-node3]$ vim config/elasticsearch.yml 

cluster.name: elasticsearch

node.name: es-node3

network.host: 192.168.1.157

http.port: 9202

discovery.zen.ping.unicast.hosts: ["192.168.1.157","192.168.1.157:9301"]

discovery.zen.minimum_master_nodes: 2

network.bind_host: 192.168.1.157
#设置绑定的ip地址,这是master虚拟机的IP
#
# network.publish_host: 192.168.1.157
#设置其它节点和该节点交互的ip地址
transport.tcp.port: 9302

 

第一步,修改elasticsearch-head下Gruntfile.js文件,内容如下:

1
2
3
4
5
6
7
8
9
10
connect: {
    server: {
        options: {
            hostname: '0.0.0.0',
            port: 9100,
            base: '.',
            keepalive: true
        }
    }
}

第二步,修改elasticsearch-head\_site\app.js 文件。this.base_uri 改为下面的值。

1
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.1.157:9200";

最后一般,在 elasticsearch.yml  中追加下面的内容。

1
2
http.cors.enabled: true
http.cors.allow-origin: "*"

然后重启 elasticsearch ,访问 http://xxxx:9100/ 就可以成功的连接上 9200 端口。

 

 

posted on 2018-11-15 16:37  毛会懂  阅读(130)  评论(0编辑  收藏  举报