Elasticsearch5 centos 中文搜索搭建

Elasticsearch是一个实时分布式搜索和分析引擎,简称es。它让你以前所未有的速度处理大数据成为可能。它用于全文搜索、结构化搜索、分析以及将这三者混合使用。最近在参与了一个即时通信项目,目前日均聊天对话为5w通,假设每通对话最少20句对话,则日均产生数据为100w条记录。如此大的数据量,如何实现聊天记录的模糊搜索呢?聊天记录是备案到mysql数据表的,当然直接查询数据库,也是可以的,但是性能方面就是一个超大的瓶颈,考虑到性能的问题,以及搜索效率,于是对solr、es进行了调用,最后考虑到es的开发效率已经使用简单,采用了es用于搜索,把mysql数据表备案的聊天数据通过定时任务同步到es。
好,废话不多说,下面开始linux下搭建es。我先前项目中用的是es2.3,现在来看,es都更新到了5.*版本了。所以下面搭建的是es5.3
1、elasticsearch5是基于jdk 1.8的,先安装jdk1.8
安装JDK8
# yum search jdk
.....
vip-jdk6.x86_64 : vip.com
vip-jdk7.x86_64 : vip.com
vip-jdk8.x86_64 : vip.com
# yum install vip-jdk8.x86_64 
配置JAVA_HOME
export JAVA_HOME='/apps/svr/jdk1.8.0_11'
export PATH=$PATH:$JAVA_HOME/bin
2、首先下载elasticsearch安装包,现在已经更新到5.*版本,和之前的2.*版本差别很大。
5.0以上版本的ES跟之前的版本最大的不同之处就是多了很多环境的校验,比如jdk,max-files等等
设置内核参数
vi /etc/sysctl.conf
# 增加下面的内容
fs. file - max =65536
vm.max_map_count=262144
设置资源参数
vi /etc/security/limits.conf
# 修改
* soft nofile 32768
* hard nofile 65536
修改进程数
ulimit -u 2048

3.安装好es之后,修改配置文件 /etc/elasticsearch/elasticsearch.yml, 修改 cluster.name,  node.name 和 network.host三项即可。

# 换个集群的名字,免得跟别人的集群混在一起
cluster.name:es-5.0-test
# 换个节点名字node.name:node-101
# 修改一下ES的监听地址,这样别的机器也可以访问
network.host: 0.0.0.0
# 默认的就好http.port: 9200
#增加新的参数,这样head插件可以访问es
http.cors.enabled:true
http.cors.allow-origin: "*"
备注:
  1. cluster.name指定一个集群名字,必须相同
  2. node.name 可以设置为hostname
  3. network.host 是允许访问的IP,可以设为host的IP,如果是0.0.0.0则允许所有IP访问
  4. 默认HTTP Restful端口是9200, Java客户端协议端口是9300
安装完elasticsearch,启动
进入bin目录,执行 ./elasticsearch &(服务后运行),启动之后,可以通过在浏览器通过所在服务器地址,端口9200访问
4、 elasticsearch-head插件安装
elasticsearch-head是一个elasticsearch的集群管理工具,它是完全由 HTML5 编写的独立网页程序,你可以通过插件把它集成到es,是一个es可视化工具
es2.*版本是直接在elasticsearch的plugins目录直接下载安装elasticsearch-head,启动elasticsearch的时候直接启动即可。
1.elasticsearch/bin/plugin -install mobz/elasticsearch-head
2.运行es
3.打开http://localhost:9200/_plugin/head/
但是es5.0之后,_head插件的安装有较大的改变,不能直接在plugin目录安装
目前elasticsearch5的head插件依赖nodejs
从github上下载 elasticsearch-head,注意不要放在elasticsearch的plugins目录,否则启动会报错。
任意目录新建一个目录head,从github上下载 elasticsearch-head插件安装包
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head 以下操作在此目录下
1、先全局安装nodejs
wget http://nodejs.org/dist/v0.10.26/node-v0.10.26.tar.gz
tar -zvxf node-v0.10.26.tar.gz
make && make install
node -v
2、安装npmnpm install
3、安装grunt
npm install grunt-cli -g
npm install grunt --save-dev
最后修改elasticsearch-head中的 _site/app.js文件中的


最后依赖node启动插件,执行命令
grunt server & 
&可是服务后台运行
最后在浏览器通过服务器地址:9100就可以访问了,从下图可以看到插件监控的是刚才对应安装的占用端口9200的es服务。后续的关于es的介绍将在后续文章介绍。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在CentOS上实现Elasticsearch 7.8开机自启动,你可以创建一个启动脚本并将其放置在`/etc/init.d/`目录中。以下是一个示例脚本: ```shell #!/bin/sh #chkconfig: 2345 80 05 #description: elasticsearch case "$1" in start) su es<<! cd /home/soft/elasticsearch/elasticsearch-7.8.0/ ./bin/elasticsearch -d ! echo "Elasticsearch started" ;; stop) es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'` kill -9 $es_pid echo "Elasticsearch stopped" ;; restart) es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'` kill -9 $es_pid echo "Elasticsearch stopped" su es<<! cd /home/soft/elasticsearch/elasticsearch-7.8.0/ ./bin/elasticsearch -d ! echo "Elasticsearch started" ;; *) echo "Usage: start|stop|restart" ;; esac exit $? ``` 将上述脚本保存为`elasticsearch`,然后使用以下命令将其复制到`/etc/init.d/`目录中: ```shell sudo cp elasticsearch /etc/init.d/ ``` 接下来,你需要设置脚本的权限: ```shell sudo chmod +x /etc/init.d/elasticsearch ``` 最后,你可以使用以下命令来启动、停止或重启Elasticsearch: ```shell sudo service elasticsearch start # 启动 sudo service elasticsearch stop # 停止 sudo service elasticsearch restart # 重启 ``` 这样,Elasticsearch 7.8就能在CentOS开机时自动启动了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Elasticsearch 开机自启脚本](https://download.csdn.net/download/weixin_40344051/12922702)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Linux搭建elasticsearch-7.8.0单机版本](https://blog.csdn.net/zhuocailing3390/article/details/125985525)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值