Elasticsearch 使用初级入门 【入门篇】

版权声明:更多信息请关注 wwws.shinians.com 官网 https://blog.csdn.net/zzhuan_1/article/details/82905524

                           Elasticsearch 使用初级入门                    

整理中....

1.下载

        下载网址:https://www.elastic.co/cn/downloads/elasticsearch

2.安装

因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户

第一步:liunx创建新用户  adduser XXX    然后给创建的用户加密码 passwd XXX    输入两次密码。

第二步:切换刚才创建的用户 su XXX  然后执行elasticsearch  会显示Permission denied 权限不足。

第三步:给新建的XXX赋权限,chmod 777 *  这个不行,因为这个用户本身就没有权限,肯定自己不能给自己付权限。所以要用root用户登录付权限。

第四步:root给XXX赋权限,chown -R XXX /你的elasticsearch安装目录。

 chown -R datacenter /opt/elasticsearch-6.4.1

然后执行成功。

参考链接 https://blog.csdn.net/mengfei86/article/details/51210093?utm_source=copy

3.启动

 
Run bin/elasticsearch (or bin\elasticsearch.bat on Windows)

然后应该就可以了。

顺便说一下,-d表示在后台启动服务,要不然当前窗口关闭之后服务就停掉了

./elasticsearch -d

测试shell:Run curl http://localhost:9200/ 

查看哪些端口被占用

[root@iZ289mg5zb5Z ~]# netstat -nlp

4.异常处理特别篇章 

开通外网通过IP访问

1.

解决办法:vim config/elasticsearch.yml

增加:network.host: 0.0.0.0

此处可以设置下 ,设置成

discovery.zen.ping.unicast.hosts: [“0.0.0.0”]

重启问题解决

2.另外,个别虚拟机无法启动ES,查看日志如果有:

[2017-03-28T15:35:19,948][ERROR][o.e.b.Bootstrap          ] [kSH2rCN] node validation exception bootstrap checks failed
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决办法:切换root账户 vim /etc/sysctl.conf

增加一行  vm.max_map_count=655360

接着执行 sysctl -p

切回ES账户重新启动问题解决

3.elasticsearch用户拥有的可创建文件描述的权限太低,至少需要65536;

解决办法:#切换到root用户修改

vim /etc/security/limits.conf

# 在最后面追加下面内容

datacenter  hard nofile 65536

datacenter soft nofile 65536

datacenter   是启动ES的用户

重要的事情!!!!!!!

用su切换用户启动有时不太起作用,尝试关掉xshell然后重新登录启动下 es

4.其它一些解决方案

1、将文件解压缩,命令:tar -zxvf 包名称。这边要注意一点,elasticsearch不能用root账号来启动,需要在普通账号下启动,命令:adduser 用户名;将elasticsearch目录的权限改为新用户所有,命令:chown -R 用户组:用户名 elasticsearch文件路径
2、sudo vim /etc/sysctl.conf
加入:vm.max_map_count=262144 并执行命令:sysctl -p才生效
3、权限不够,导致/usr/local/elasticsearch-6.2.4/logs/elasticsearch.log日志文件以elasticsearch的文件没权限写入
解决:sudo chown -R kedacom usr/local/elasticsearch-6.2.4
4、ERROR: [4] bootstrap checks failed
[1]: initial heap size [264241152] not equal to maximum heap size [4215275520]; this can cause resize pauses and prevents mlockall from locking the entire heap
[2]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[3]: max number of threads [1024] for user [kedacom] is too low, increase to at least [4096]
[4]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决:切换到root用户,进入limits.d目录下修改配置文件。
vi /etc/security/limits.d/90-nproc.conf 
修改如下内容:
* soft nproc 1024 #修改为* soft nproc 4096
切换到root用户,编辑limits.conf 添加类似如下内容
vi /etc/security/limits.conf 
添加如下内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

其他一些基本设置

https://blog.csdn.net/qq_21387171/article/details/53577115

5.  关闭防火墙 执行一下命令:centos7

systemctl stop firewalld

systemctl mask firewalld

在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理,

如果要添加范围例外端口 如 1000-2000
语法命令如下:启用区域端口和协议组合
firewall-cmd [--zone=<zone>] --add-port=<port>[-<port>]/<protocol> [--timeout=<seconds>]
此举将启用端口和协议的组合。端口可以是一个单独的端口 <port> 或者是一个端口范围 <port>-<port> 。协议可以是 tcp 或 udp。
实际命令如下:添加

firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)

firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent 

猜你喜欢

转载自blog.csdn.net/zzhuan_1/article/details/82905524