centos7(新系统) 安装 elasticsearch6.3.2 命令

创建用户

从5.0开始,ElasticSearch 安全级别提高了,不允许采用root帐号启动,所以我们要添加一个用户

1 创建 elasticsearch 用户组

1

[root@localhost ~]# groupadd elasticsearch

 

2 创建用户 es 并设置密码为es

1

2

[root@localhost ~]# useradd es

[root@localhost ~]# passwd es

之后输入两次密码,完成密码修改

3 用户es 添加到 elasticsearch 用户组

1

[root@localhost ~]# usermod -G elasticsearch es

4 设置sudo权限

[root@localhost ~]# visudo

出现:visudo: command not found错误,原因是没有安装sudo

执行命令安装: yum install sudo

其他原因请参考 https://blog.csdn.net/Zsigner/article/details/88863745

1

2

3

4

5

在root ALL=(ALL) ALL 一行下面

添加es用户 如下:

es ALL=(ALL) ALL

修改完生效命令

sudo visudo -c

添加成功保存后切换到es用户操作

1

2

[root@localhost ~]# su es

[es@localhost root]$

下载安装包

在/usr/local/src 目录下 下载elasticsearch ,并解压 tar.gz 

[es@localhost src]$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.tar.gz

出现:-bash: wget: command not found错误,原因是没有安装wget 

执行命令 root下 yum -y install wget,es 用户下 sudo yum -y install wget

下载完成后解压(压缩命令是 tar -zcvf 生成的文件名 被压缩的文件/目录 eg: tar -zcvf filename.tar.gz ./filename)

[es@localhost src]$ sudo tar -zxvf elasticsearch-6.3.2.tar.gz 


输入es 账号密码,如果想免密码执行命令在第四步补充:

es ALL=(ALL) ALL下添加

ceph    ALL=(es)        NOPASSWD:ALL

在es用户下执行命令就不需要再输入密码了,如下

把解压的文件移动到 /usr/local

1

[es@localhost src]$ sudo mv elasticsearch-6.3.2 /usr/local

更改elasticsearch-6.3.2 文件夹以及内部文件的所属用户为es, 用户组组为elasticsearch,-R表示逐级

1

[es@localhost local]$ sudo chown -R es:elasticsearch elasticsearch-6.3.2

ElasticSearch 配置

elasticsearch.yml 修改

1

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

报错:sudo: vim: command not found ,原因没有安装vim

安装命令: yum install vim

安装完成修改yml文件命令:  

vim config/elasticsearch.yml

修改内容(没有就添加):

cluster.name: my-application

node.name: node-1

network.host: 0.0.0.0 

http.port: 9200

#因为Centos6不支持SecComp,而ES默认bootstrap.system_call_filter为true进行检测

bootstrap.memory_lock: false
bootstrap.system_call_filter: false

修改/etc/sysctl.conf 

切换回root 用户 执行

1

vim /etc/sysctl.conf

在文件最后面添加内容:

vm.max_map_count=262144

保存退出后,使用sysctl -p 刷新生效

[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
vm.max_map_count = 262144
[root@localhost ~]# 

修改文件/etc/security/limits.conf

1

vim /etc/security/limits.conf

添加如下内容:

1

2

3

4

5

* hard nofile 65536

* soft nofile 65536

 

* soft nproc 2048

* hard nproc 4096 

启动elasticesearch 可能还会报如下错误

max number of threads [1024] for user [lish] likely too low, increase to at least [4096]

解决:切换到root用户,进入limits.d目录下修改配置文件。

vi /etc/security/limits.d/90-nproc.conf

修改如下内容:

* soft nproc 1024

#修改为

* soft nproc 4096

 

启动 elasticsearch

完成上面配置修改后,切换到es 用户,目录切换到 elasticsearch 安装目录下执行

1

[es@localhost elasticsearch-6.3.2]$ bin/elasticsearch

在浏览器输入localhost:9200 验证是否启动成功,如果浏览器输出如下信息,代表安装启动成功

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

{

  "name" "node-1",

  "cluster_name" "elasticsearch",

  "cluster_uuid" "8okSnhNzRr6Xo233szO0Vg",

  "version" : {

    "number" "6.3.2",

    "build_flavor" "default",

    "build_type" "tar",

    "build_hash" "053779d",

    "build_date" "2018-07-20T05:20:23.451332Z",

    "build_snapshot" false,

    "lucene_version" "7.3.1",

    "minimum_wire_compatibility_version" "5.6.0",

    "minimum_index_compatibility_version" "5.0.0"

  },

  "tagline" "You Know, for Search"

}

  

如果启动过程中出现异常信息,请根据信息百度相关问题,下面是我启动过程遇到的错误信息并附上解决方案

异常信息1:expecting token of type [START_OBJECT] but found [VALUE_STRING]]; 

错误原因:elasticsearch.yml 文件内部错误 
解决办法:仔细检查yml文件中的配置项书写格式: (空格)name:(空格)value

---------------------------------------------------------------------------------
异常信息2:java.lang.UnsupportedOperationException: seccomp unavailable: CONFIG_SECCOMP not compiled into kernel, CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed
 错误原因:Centos6不支持SecComp,而ES默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动
 
解决办法:修改elasticsearch.yml 添加一下内容 :

bootstrap.memory_lock: false
bootstrap.system_call_filter: false

---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
异常信息3:BindTransportException[Failed to bind to [9300-9400]
解决办法 打开配置文件elasticsearch.yml 将 network.host: 192.168.0.1 修改为本机IP 0.0.0.0


--------------------------------------------------------------------------------------------
异常信息4:max number of threads [1024] for user [lish] likely too low, increase to at least [2048]

解决办法:切换到root用户,进入limits.d目录下修改配置文件。

vi /etc/security/limits.d/90-nproc.conf 

修改如下内容:

* soft nproc 1024

#修改为

* soft nproc 2048

参考文章:

https://www.cnblogs.com/jingping/p/9448099.html

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zsigner

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值