Elasticsearch安装
文章目录
一、说明
- 安装Elasticsearch 一定要注意版本的匹配,
1、安装Elasticsearch准备
1、Elasticsearch 简介
2、历史版本下载
3、本例子使用6.7.0
4、先安装分词器在进行Elasticsearch的安装。
5、简单步骤:解压 - 将分词器放在插件目录下 - 修改配置文件 -启动Elasticsearch
2、安装Elasticsearch-head-master准备
1、Elasticsearch-head-master Github地址
直接取主干clone最新代码即可。
2、
3、安装elasticsearch-分词器准备
1、 分词器6.7.0安装链接
2、安装方法a、
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.7.0/elasticsearch-analysis-ik-6.7.0.zip
b、离线安装直接下载然后解压后上传到相应目录下,这个也很快。
- 下载解压后的分词器目录
![]()
- Elasticsearch 的插件目录
![]()
- 新建分词器插件文件夹
![]()
- 将分词器的文件粘贴到插件目录下
![]()
二、详细安装
1、Elasticsearch部分
- 根据 一中的1部分进行
- 编辑:es/config/elasticearch.yml 插入,解决跨域问题
http.cors.enabled: true
http.cors.allow-origin: “*”
1、 wget xxx.tar.gz 使用该命令从网上下载,或者直接自己去一中1部分的地址下载相应的版本上传到服务器。
2、tar -vxf xxx.tar.gz 进行解压 上一步下载的压缩文件,【也可以自己解压后直接上传都可以。】
3、./bin/elasticsearch 直接启动
这个地方我们会遇到这个报错
文字信息
[2019-12-13T12:45:00,372][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [unknown] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163) ~[elasticsearch-6.7.0.jar:6.7.0]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-6.7.0.jar:6.7.0]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.7.0.jar:6.7.0]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.7.0.jar:6.7.0]
at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.7.0.jar:6.7.0]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:116) ~[elasticsearch-6.7.0.jar:6.7.0]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.7.0.jar:6.7.0]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.7.0.jar:6.7.0]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.7.0.jar:6.7.0]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.7.0.jar:6.7.0]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-6.7.0.jar:6.7.0]
… 6 more
这个是因为为了安全不允许在root用户下启动Elasticsearch
所以我们需要未Elasticsearch 创建一个启动的用户
groupadd “你的组名” 创建组
useradd “你的用户名” 创建用户testuser
passwd “你的用户密码” 给已创建的用户testuser设置密码
然后将 root下该文件的操作权限给你新建的用户
使用如下命令:
chown -R “用户名”:“组名” “文件夹名” 如: chown -R esusername:esgroup elasticsearch-6.7.0
不授权会报下面的错误
Exception in thread “main” java.nio.file.AccessDeniedException: /data/es/elasticsearch-6.7.0/config/jvm.options
at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)
at java.nio.file.Files.newByteChannel(Files.java:361)
at java.nio.file.Files.newByteChannel(Files.java:407)
at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:384)
at java.nio.file.Files.newInputStream(Files.java:152)
at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:60)
使用 su “用户名” 切换目录
。
然后可以愉快的启动了。。。。。。。。。。。。。。。。。。。。。。。。。。。
4、./bin/elasticsearch -d 后台启动,【关闭跳板机或者关闭服务器后也可以访问】。
- 这3、4两个命令主要是执行下图红色文件。
5、jps 检查是否启动 可以使用 kill -9 xxx (jps得结果中有xxx) 结束进程。
6、第一次我们可以正常启动,但是此时的端口号是9200, ip是120.0.0.1 ,所以我们可以通过修改elasticsearch.yml文件来修改端口号和ip
7、 修改之后重新启动可能会报错【取决于服务器的配置】
bootstrap checks failed bootstrap checks failed
如果报这个错的话根据下图修改![]()
- 懒人走这
编辑 /etc/security/limits.conf,追加以下内容;
- soft nofile 65536
- hard nofile 65536
此文件修改后需要重新登录用户,才会生效
编辑 /etc/sysctl.conf,追加以下内容:
vm.max_map_count=655360
保存后,执行:
sysctl -p
重新启动,成功。8、建议后台启动 使用 -d命令 ./bin/elasticsearch -d
2、Elasticsearch-head-master部分
1、安装根据git上的就可以
+主要问题解决
1、如下图:
这个是没有安装 grunt命令 ,使用 npm install -g grunt-cli 进行安装。
2、输入grunt -version 检查安装是否成功。
执行npm run start 报错如下:
这个我们需要根据github的流程走,只需要安装node就行
npm install
三、收尾工作
1、对外暴露我们的端口【防火墙会禁用端口所以我们需要自己开启】
a、 # 查询端口是否开放
firewall-cmd --query-port=“port”/tcp 如 : firewall-cmd --query-port=8080/tcp
b、# 开放6369端口
firewall-cmd --permanent --add-port=8080/tcp
c、#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
四、验收
1、验收Elasticsearch
2、验收Elasticsearch-head-master