环境要求:JDK1.8
安装单机版的ElasticSearch
(1)上传已下载好的elasticsearch-6.2.3.tar.gz
命令:rz
(2)解压
命令: tar -zxvf elasticsearch-6.2.3.tar.gz
(3)将加压出来的文件夹重命名
命令: mv elasticsearch-6.2.3 master
(4)修改配置文件使其允许跨域访问
进入mater: cd master
进入conf: cd config
编辑配置文件:vi elasticsearch.yml
键入“i”进入编辑模式,到最后一行
新增:
http.cors.enabled: true
http.cors.allow-origin: "*"
冒号后面必须有个空格,否则会报错
按“esc”,键入“:qw”保存退出。
(5)启动elasticsearch
进入安装根目录,命令: cd ../
进入bin目录,启动es,命令:./elasticsearch
过程中可能会出现下列这些问题:
1)内存不足:
解决办法:这是内存不足引起的,减少启动程序所需内存,或加大内存,如关闭一些程序。
方法一:扩大虚拟机内存,直接更改虚拟机内存就好了,此方法省略。
方法二:减小所需内存的办法。
进入config,命令: cd config
修改jvm.properties文件,命令: vi jvm.options
可以看到此版本它的默认内存是1G,我们把它设小一点。
保存退出。
2)
[WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] 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:125) ~[elasticsearch-6.解决办法:
添加用户,用新用户权限去开启elasticsearch。
命令格式: useradd 用户名 -g 所属组名 -p 密码
groupadd ymq
useradd ymq -g ymq -p ymq
授权访问组权限命令格式: chown -R 所属用户 : 所属用户组名 更改权限的文件路径
chown -R ymq:ymq 路径
chmod -R 777 路径再次启动,
前台启动命令: ./elasticsearch
后台运行命令:./elasticsearch -d
(6)验证
启动成功后,访问127.0.0.1:9200验证:
这样单例安装就成功啦。
(7)停止elasticsearch服务
如果是前台启动直接用ctrl+c停止就好了。
如果是后台,则按如下执行即可。
安装插件elasticsearch-head
上面虽然我们成功的连接上了elasticsearch,返回的json格式的数据可读性较差,我们需要下载一款插件来管理elasticsearch,此插件需要安装nodejs环境,请参照我的另一篇《CentOS7 安装NodeJS-v8.11.1》。
(1)检查nodejs是否成功安装、npm的版本。
nodejs是其需要的环境,npm是包管理器。
没有成功node环境的小伙伴请自行安装(http://www.runoob.com/nodejs/nodejs-install-setup.html),npm在安装node时会自带的,只是node安装完成后,看一下npm版本,尽量升级到最新版本。
(2)去github上找到我们需要的插件elasticsearch-head(https://github.com/mobz/elasticsearch-head),下载:
下载
下载完成
(3)解压
命令: unzip master.zip
这是由于没有安装unzip所致,安装一下:
再来解压:
解压完成。
(4)安装依赖包
进入解压后的项目: cd elasticsearch-head-master
安装依赖包: npm install
阿西吧,报了一个错
下面我们来解决它
命令: ls
把依赖包先删除,命令: rm -rf node_modules
安装一个插件:npm install phantomjs-prebuilt@2.1.14 --ignore-scripts
然后安装依赖包,命令: npm install
OK
(5)启动
该插件,默认启用的是9100端口,需要开启。
查看防火墙端口开启情况: firewall-cmd --list-port
开启9100端口: firewall-cmd --zone=public --add-port=9100/tcp --permanent
重启防火墙: firewall-cmd --reload
启动命令:npm run start
启动成功,如需停止用ctrl+c。
下面我们在浏览器打开它
OK。
伪集群安装
在安装单机成功的情况下,集群/伪集群安装比较简单,主要是配置文件。
配置主节点
进入Elasticsearch的config目录
编辑elasticsearch.yml: vi elasticsearch.yml
配置
#集群名
cluster.name: elasticsearch
#节点名
node.name: master
network.host: 0.0.0.0
http.port: 9200
保存退出。
配置从节点
会到elasticsearch安装的上一级目录,将自己的elasticsearch改个名称
复制两份elasticsearch并新起名字
命令: cp -r 你的elasticsearch目录 新名字
分别给这两份文件夹授权给你的用户
命令: sudo chown -R 用户名 文件夹
进入第一个新复制的文件夹,进入config文件夹,编辑elasticsearch.yml
命令: vi elasticsearch.yml
改变节点名称和端口号
注意有一个属性需要配置
#自动发现地址
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
保存退出。
重复上述步骤将另一个新复制的目录里的配置文件的端口号(端口号不能相同)和节点名改了。
防火墙开放端口
防火墙开放8200、8300端口。
启动
启动各节点,并在浏览器中查看。
本文系个人安装过程,如有错误请批评指正。