文章目录
- 前言
- 一、单机本地安装
- 二、安装图形化界面
- 三、Ik划词器
- 四、分布式部署
- 总结
前言
提示:仅供参考,我说简述的是我说遇到的问题
看着别人写的教程安装的,发现老出问题,单机版很简单,但是一到集群就很容易出现连接不上等错误。
我这里先来集成一下我遇到的过程,说不准对你们可以有个参考,我会尽量详细的写出我的过程。
我是使用的centOS7与ES5.6.8安装包
提示:以下是本篇文章正文内容
一、单机本地安装
1. 下载elasticsearch-5.6.8.tar.gz文件,导入虚拟机,这是虚拟机用的,注意别下载成Windows版本。
2. 解压,
tar -zxvf elasticsearch-5.6.8.tar.gz -C /usr/local/
4. 到解压下的目录,进入conf,
cd /usr/local/elasticsearch-5.6.8/config/
vi elasticsearch.yml
5. 修改配置
cluster.name: my-application(可以自己写个名字)
network.host: 192.168.159.101(自己虚拟机的静态IP)
末尾加上:
http.cors.enabled: true
http.cors.allow-origin: "*"
保存退出,切记冒号后面要有个空格
提示:切记冒号后面要有个空格
6. 创建普通用户
groupadd li(创建组)
useradd li -g li(创建用户)
名字随意
7. 更改权限
chown -R li:li /usr/local/elasticsearch-5.6.8
提示:注意改为自己起的用户名,ES需要切换到普通用户才能启动,因此需要给权限
8. 修改配置
vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
vi /etc/sysctl.conf
vm.max_map_count=655360
sysctl -p(使其生效)
cd /usr/local/elasticsearch-5.6.8/config/jvm.options
-Xms1g
-Xmx1g
将其修改到自己虚拟机可以承受的地步
提示:我这就因为设置的2g,单独启动可以启动,但是一旦我启动hadoop集群再启动它就会被杀死,导致hadoop与es无法共存,但是最后发现是因为内存不够才导致es被杀死。
9. 启动
cd /usr/local/elasticsearch-5.6.8/bin/
./elasticsearch(启动)
注意:记得切换会普通用户
提示:./elasticsearch -d是后台启动,现在是先看状态是否还报错
10. 验证是否成功启动
jps后有 Elasticsearch
访问http://192.168.159.101:9200/(自己的静态IP+:+9200/)
提示:我这是配好分布式后的,至于单机版咋样的了,忘记了,不过出来这个网页就算成功了
二、安装图形化界面
1.下载文件并传入虚拟机
elasticsearch-head-master.zip
cp elasticsearch-head-master.zip /usr/local/elasticsearch-5.6.8/
2.移动进之前的ES目录中,方便管理
yum -y install unzip
3.安装解压工具
unzip elasticsearch-head-master.zip
rm -rf elasticsearch-head-master.zip
cd elasticsearch-head-master/
4.解压删除移动
5.修改yum源码,加入网站,使其能下载想要的文件
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash
6. 安装nodejs
提示:我这是配好分布式后的,至于单机版咋样的了,忘记了,不过出来这个网页就算成功了
yum -y install nodejs
node -v(检测是否成功)
7.安装grunt
npm install -g grunt-cli
npm install grunt
8.修改配置
vi Gruntfile.js
hostname: '*',
cd _site/
vi app.js
大写字母G跳到最后
向上翻找到
在那一块中找到下图这一块,修改为自己的IP
改为自己的静态IP地址
cd /usr/local/elasticsearch-5.6.8/elasticsearch-head-master/
grunt server
9. npm install grunt-contrib-clean
把上面的都安装了
npm install grunt-contrib-jasmine
最后一个先yum -y install bzip2
提示:最后一个我安装失败了一会,一直重试,不行,好像是尝试安装 bzip2后才好转,但也是还常失败,网络问题好像,不过安装不了也不影响,可以正常使用。
9. kill -9 es那个进程
ps -ef |grep grunt
kill -9 上一句查到的grunt的那个进程
grunt server &
后台启动
10.检测
http://192.168.159.101:9100/可以访问
三、Ik划词器
1.elasticsearch-analysis-ik-5.6.8.zip下载导入
cp elasticsearch-analysis-ik-5.6.8.zip /usr/local/elasticsearch-5.6.8/plugins/
unzip elasticsearch-analysis-ik-5.6.8.zip
rm -rf elasticsearch-analysis-ik-5.6.8.zip
mv elasticsearch analysis-ik
重新开启ES就可以了
2.测试
http://192.168.159.101:9200/_analyze?analyzer=ik_max_word&pretty=true&text=我是程序员
访问后
四、分布式部署
1.分发文件给其他虚拟机
scp -r /usr/local/elasticsearch-5.6.8/ hadoop02:/usr/local/
提示:记得修改为自己的 , vi /etc/hosts加完好友更方便,具体操作自行上网搜索 。
2.然后 把单机版教程的6-8再做一次,最后修改vi elasticsearch.yml,相当于 单机版的第5步
主机进行:
cd /usr/local/elasticsearch-5.6.8/config
vi elasticsearch.yml
cluster.name: my-ES(不动它)
node.name: hadoop01(自己定,随意)
node.master: true
network.host: 192.168.159.101(自己虚拟机的IP)
discovery.zen.ping.unicast.hosts: ["192.168.159.101", "192.168.159.102","192.168.159.103"]
(自己的虚拟机地址,准备了几个放几个)
http.cors.enabled: true(不动)
http.cors.allow-origin: "*"(不动)
提示:实际上是修改好后再分发更适合,不过这会再分发一遍也无大碍 。
其他虚拟机
cd /usr/local/elasticsearch-5.6.8/config
vi elasticsearch.yml
cluster.name: my-ES(不动它,和主机一样)
node.name: hadoop02(自己定,随意)
(删掉)node.master: true(删掉)
network.host: 0.0.0.0(就写这个,报错的话自己搜索,它这样写好像是会自动扫描接口,最容易出错的就是这个)
discovery.zen.ping.unicast.hosts: ["192.168.159.101", "192.168.159.102","192.168.159.103"](不动)
(自己的虚拟机地址,准备了几个放几个)
http.cors.enabled: true(不动)
http.cors.allow-origin: "*"(不动)
3.删除rm -rf /usr/local/elasticsearch-5.6.8/data
这是之前单机版运行的数据,如果不删除会报错,说联系不到其他虚拟机
```
提示:很重要,要删掉/data 。
4.然后运行就可以了,要加进去的虚拟机都进行一遍就行
总结
没有总结了,有额外的报错,带着报错信息搜索百度就可以了