elasticsearch(5.2.0)安装文档

来源:互联网 发布:彩票网络代购 编辑:程序博客网 时间:2024/06/01 10:31


1、 集群安装

以三个节点集群安装为例,使用elasticsearch-5.2.0进行安装。

1.1、 硬件要求

系统要求:CentOS 6.x/CentOS7.x

Linux内核要求:

Linux2.6+(不开启system call filters)

Linux3.5+(开启system call filters)

其他要求:

系统文件打开数最少为63356

vm.max_map_count最低262144,建议配置655360

1.2、 软件要求

Java要求:Oracle JVM 1.8u40+

1.3、 安装步骤

1.3.1、 为elasticsearch新建启动用户

1) 以root身份新建用户:

useradd  elastic

2) 为用户设置密码:

passwd elastic

3) 进入/etc目录:

cd /etc

4) 为sudoers文件赋予可写入权限:

chmod 644 sudoers

5) 打开sudoers文件

vim sudoers

6) 为用户添加su权限

找到root    ALL=(ALL)       ALL这一行,然后在这一行下边添加如下代码:

elastic ALL=(ALL)       ALL

7) 使用:wq保存后退出

8) 取消sudoers文件可写入权限:

chmod 0440 sudoers

1.3.2、 修改系统配置

1.3.2.1、 修改最大文件打开数

检查最大文件打开数,如果最大文件打开书大于等于63356,则跳过,否则进行下一步:

1) 使用elastic用户登录

su elastic

2) 检查最大文件打开数

ulimit -a |grep "open files"

修改最大文件打开数:

3) 使用root用户登录

su root

4) 打开/etc/security/limits.conf文件

cd /etc/security/limits.conf

在打开的文件中增加下面代码:

* soft nofile 65536

* hard nofile 65536

5) 保存并关闭

1.3.2.2、 修改elastic用户最大运行线程数

检查elastic用户最大运行线程数,如果大于等于4096则跳过此步骤

1) 使用elastic用户登录

su elastic

2) 检查elastic用户最大运行线程数

ulimit -a|grep "max user processes"

修改elastic用户最大运行线程数

3) 使用root用户登录

su root

4) 打开/etc/security/limits.conf文件

vim /etc/security/limits.conf

在打开的文件中增加下面代码:

@elastic soft nproc 4096

@elastic hard nproc 4096

5) 保存并关闭

1.3.2.3、 修改vm.max_map_count

检查vm.max_map_count,如果大于等于262144,则跳过修改步骤

1) 使用root用户登录

su root

2) 检查vm.max_map_count

sysctl -a | grep "vm.max_map_count"

修改vm.max_map_count

3) 打开sysctl.conf文件

vim /etc/sysctl.conf

4) 增加下面代码

vm.max_map_count = 262144

5) 保存并退出

6) 使修改生效

sysctl –p

暂时性修改方式可用sysctl -w vm.max_map_count=262144

1.3.3、 安装包准备

https://www.elastic.co/downloads/elasticsearch下载elasticsearch-5.2.0.zip,然后解压。

unzip elasticsearch-5.2.0.zip

1.3.4、 elasticsearch配置

进入已经解压的elasticsearch-5.2.0根目录

cd elasticsearch-5.2.0

elasticsearch.yml配置

1) 打开elasticsearch.yml文件

vim config/elasticsearch.yml

2) 修改如下配置:

cluster.name: elastic-cluster(三个节点集群名称必须相同)

node.name: trump-2(每个节点名称必须不同)

path.data: /home/elastic/elasticsearch-5.2.0/data(如果有多个数据目录用逗号隔开)

path.logs: /home/elastic/elasticsearch-5.2.0/logs(如果有多个日志目录用逗号隔开)

bootstrap.memory_lock: false

bootstrap.system_call_filter: false(如果linux内核小于3.5则设置为false,否则为true)

network.host: 172.16.18.22(主机ip)

http.port: 9200elasticsearch的http服务端口)

discovery.zen.ping.unicast.hosts: ["server1:9300", "server2:9300","server3:9300"](集群课发现主机)

discovery.zen.minimum_master_nodes: 2(最小master主机数量)

3) 保存并关闭

jvm.options配置:

1) 打开jvm.options文件

vim config/jvm.options

2) 修改堆内存大小:

-Xms32g(建议为系统内存一半,且和最大堆内存一致,避免再分配)

-Xmx32g(建议为系统内存一半)

3) 保存并关闭

1.3.5、 启动

使用新建的elastic用户登录然后启动elasticsearch(5.0之后elasticsearch拒绝使用root用户登录)

1) 进入elasticsearch根目录

  cd ../elasticsearch-5.2.0

2) 运行elasticsearch启动命令

./bin/elasticsearch –d-d为后台运行,如果要在前台运行可以不加-d)

3) 检查安装是否成功

在浏览器输入http://ip:9200,如果出现下面信息表示成功

 

1.3.6、 检查集群状态

1.3.6.1、 集群健康状态检查

在浏览器输入http://ip:9200/_cat/health?vip为任意节点ip),可以看到如下状态

 

1.3.6.2、 集群节点检查

在浏览器输入http://ip:9200/_cat/nodes?vip为任意节点ip),可以看到如下信息

 

1.3.6.3、 集群索引查看

在浏览器输入http://ip:9200/_cat/indices?vip为任意节点ip),可以看到如下信息

 

1.3.7、 head插件安装(需要联网)

1.3.7.1、 下载head插件

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

下载之后并解压 unzipelasticsearch-head-master.zip

1.3.7.2、 安装nodejs

下载地址http://nodejs.cn/download/

1)下载之后并解压

tar -xvf node-v8.2.1-linux-x64.tar 

2)进入node目录

cd node-v8.2.1-linux-x64

3)建立软连接

ln -s bin/node /usr/local/bin/

ln -s bin/npm /usr/local/bin/

4) 验证

执行node –v 显示版本号说明安装成功

1.3.7.3、 使用npm安装grunt

1npm install -g grunt –cli

提示:如果资源下载速度较慢,执行下面语句为npm配置国内镜像

npm config set registry https://registry.npm.taobao.org

2)建立软连接

ln –s /home/es/node-v8.2.1-linux-x64/lib/node_modules/grunt/bin/grunt /usr/local/bin

1.3.7.4、 npm安装依赖

1)进入head插件目录

cd elasticsearch-head-master

2)安装

npm install   如果安装速度较慢,需要配置国内镜像,方法见1.3.6.7

1.3.7.5、 修改elasticsearch配置文件

修改config/elasticsearch.yml文件,加入以下内容

http.cors.enabled: true

http.cors.allow-origin: "*"

1.3.7.6、 配置head

编辑Gruntfile.js,找到下面connect属性,新增hostname: ‘0.0.0.0’:

connect: {

        server: {

            options: {

                hostname: '0.0.0.0',

                port: 9100,

                base: '.',

                keepalive: true

            }

        }

}   

1.3.7.7、 启动head

1) 进入到head根目录

cd elasticsearch-head-master

2) 启动head

grunt server

3)在浏览器输入http://ip:9100  Ip为安装head节点的ip)