为了账号安全,请及时绑定邮箱和手机立即绑定

centos7部署ElasticSearch

2018.11.14 10:04 1394浏览

2.es规定root用户不能启动es,所以需要创建一个用户来启动es

创建用户名为elastic的用户

useradd elastic

设置elastic用户的密码

passwd elastic

3.创建es的data和logs目录

cd /usr/local/elasticsearch/elasticsearch-5.6.9

mkdir -p data

mkdir -p logs

4.将/usr/local/elasticsearch/elasticsearch-5.6.9的拥有者设置为elastic

chown -R elastic:elastic /usr/local/elasticsearch/elasticsearch-5.6.9

5.编辑配置文件

cd config/

vim elasticsearch.yml

编辑内容如下:

network.host: 你自己的服务器ip  可以设置为0.0.0.0

http.port: 9200

6.开放防火墙端口

firewall-cmd --zone=public --add-port=9200/tcp --permanent

firewall-cmd --zone=public --add-port=9300/tcp --permanent

firewall-cmd --reload

7.启动elasticsearch

切换用户

su elastic

启动

/usr/local/elasticsearch/elasticsearch-5.6.9/bin/elasticsearch -d

查看进程

ps aux | grep Elasticsearch

8.相关操作语句

查询全部数据

curl localhost:9200/_search?pretty=true

查询全部索引

curl localhost:9200/_cat/indices?v


9.安装ik中文分词器

下载最新版本的ik分词库,github地址为https://github.com/medcl/elasticsearch-analysis-ik,下载zip包

找到对应版本的ik分词库zip,本系统安装分词库地址如下

https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.6.9/elasticsearch-analysis-ik-5.6.9.zip

执行如下命令

cd /usr/local/elasticsearch/elasticsearch-5.6.9/bin/

./elasticsearch-plugin   installhttps://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.6.9/elasticsearch-analysis-ik-5.6.9.zip

然后重启Elasticsearch

测试语句如下:

curl -XGET 'http://localhost:9200/_analyze?pretty&analyzer=ik_smart' -d '我是雨哥哥'


10.安装head插件

(1)下载head插件

wgethttps://github.com/mobz/elasticsearch-head/archive/master.zip

解压

unzip master.zip

mv elasticsearch-head-master /usr/local/elasticsearchhead

修改elasticsearch下的config/elasticsearch.yml,添加如下代码

http.cors.enabled: true

http.cors.allow-origin: "*"

(2)下载node.js

从node.js官网https://nodejs.org/dist/下载安装包

wgethttps://nodejs.org/dist/v6.9.2/node-v6.9.2-linux-x64.tar.xz

解压并移动

xz -d node-v6.9.2-linux-x64.tar.xz

tar –xvf node-v6.9.2-linux-x64.tar

mv node-v6.9.2-linux-x64 /usr/local/nodejs

配置环境变量

vim /etc/profile

配置内容如下

#nodejs

export NODE_HOME=/usr/local/nodejs/node-v6.9.2-linux-x64

export PATH=$PATH:$NODE_HOME/bin

#nodejs

重启

source /etc/profile

查询nodejs版本

node -v

(3)下载安装grunt

cd /usr/local/elasticsearchhead/elasticsearch-head-master

执行后会生成node_modules文件夹

npm install -g grunt-cli

校验是否安装成功

grunt -version

(4)修改head插件源码

以下两个文件均存在于elasticsearch-head-master文件夹下

修改服务器监听地址

vim Gruntfile.js

增加hostname属性,设置为0.0.0.0

修改连接地址

cd _site

vim app.js

修改head的连接地址

this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";

把localhost改为自己es服务器的地址

this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://111.111.111.111:9200";

(5)运行head

开启防火墙

firewall-cmd --zone=public --add-port=9100/tcp --permanent

firewall-cmd --reload

首先开启es

然后在head目录中elasticsearch-head-master执行

npm install

cd /usr/local/elasticsearchhead/elasticsearch-head-master/

grunt server


问题:

1.Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)

解决办法:

由于elasticsearch5.0默认分配jvm空间大小为2G,修改jvm空间分配

如果使用虚拟机安装内存最好不小于2G

cd config/

vim jvm.options

-Xms512m

-Xms512m

2.org.elasticsearch.bootstrap.StartupException: BindTransportException[Failed to bind to [9300-9400]]; nested: BindException[Cannot assign requested address];

解决办法:

vim elasticsearch.yml

设置network.host = 0.0.0.0

3.[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决办法:

提高vm.max_map_count的大小

切换到root用户

vim /etc/sysctl.conf

在其中添加

vm.max_map_count=262144

然后执行

sysctl -p

4.java.lang.IllegalStateException: Received message from unsupported version: [2.0.0] minimal compatible version is: [5.0.0]

解决办法:

把springboot中的es包换成高于2.0的版本

springboot目前只支持大版本为2的elasticsearch,所以我们把springboot换成更高版本额



作者:雨落地筝
链接:https://www.jianshu.com/p/e8a5ac9c282b


点击查看更多内容
2人点赞

若觉得本文不错,就分享一下吧!

评论

相关文章推荐

正在加载中
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消