Centos7.5安装ES+可视化界面+同步MySQL数据 太过爱你忘了你带给我的痛 2023-07-13 10:44 19阅读 0赞 ### 目录 ### * * * * 1. ES简介: * 2. Centos下安装ES * 3. ES可视化界面安装 * 4. docker后台运行ElasticHD * 5. ElasticSearch 基本查询语法 * * 5.1 基本搜索 * 5.2 Group BY * 5.3 Distinct Count * 5.4 全文搜索 * 5.5 match查询 * 5.6 通配符查询 * 5.7 范围查询 * 5.8 正则表达式查询 * 6. 同步MySQL数据至ES #### 1. ES简介: #### 简单而言,ES(Elasticsearch)是一个基于RESTful web接口并且构建在Apache Lucene之上的开源分布式搜索引擎。 可以在极短的时间内存储、搜索和分析大量的数据。通常作为具有复杂搜索场景情况下的核心发动机。 总之一个字:**快** 为什么这么快?因为它基于的是Lucene倒排序,具体的细节请看:[传送门][Link 1]以及[传送门][Link 2] #### 2. Centos下安装ES #### 我已经替大家下载好啦: 链接:https://pan.baidu.com/s/1hds_ArOHaOKz4SvcudJYdQ 提取码:3g3c 安装之前还要安装JDK,没有安装JDK的可以用yum安装JDK yum install -y jdk1.8-* 1. 解压 unzip elasticsearch-7.6.1-linux-x86_64.tar 1. 添加用户,因为ES不能使用ROOT启动,至于为啥: > 这是出于系统安全考虑设置的条件。由于ElasticSearch可以接收用户输入的脚本并且执行,为了系统安全考虑, > 建议创建一个单独的用户用来运行ElasticSearch groupadd ela 创建ela组 useradd -g ela ela 创建ela用户,并且加入ela组 passwd ela 为ela用户设定登录密码 1. 授权 chown -R ela.ela +你的安装目录,可以用pwd查看 1. 配置yml文件 总共需要改动三个地方: cluster. initial master nodes :["node -1" ]//加入集群,都则将报错 network.host: 192.168.0.3 //一定要改成自己的内网IP地址,否则外部无法访问,亲测! http.port=9200//开启端口 1. 分配给用户内存 vim /etc/security/limits.conf 加入所示字样 ![在这里插入图片描述][20200311163251559.png_pic_center] 或者: ela hard nofile 65536 ela soft nofile 65536 继续: vim /etc/sysctl.conf 添加: vm.max_map_count=262144 1. 准备工作完成,启动es 切换用户到ela su ela //进入到启动文件目录下 cd /opt/elasticsearch-6.4.0/bin/ //启动(前台启动) ./elasticsearch -d 后台启动 ./elasticsearch 1. 关闭防火墙、查看端口9200 2. 启动成功 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FBQWh4eg_size_16_color_FFFFFF_t_70_pic_center] #### 3. ES可视化界面安装 #### 推荐使用ElasticHD,整齐简单,还有诸多小工具 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FBQWh4eg_size_16_color_FFFFFF_t_70_pic_center 1] 1. 下载: wget https://github.com/360EntSecGroup-Skylar/ElasticHD/releases/download/1.4/elasticHD_linux_amd64.zip 1. 解压: unzip elasticHD_linux_amd64.zip 1. 授权 chmod 0777 ElasticHD 或者 chown -R root ElasticHD 1. 启动 exec ./ElasticHD -p 127.0.0.1:9800 如果运行提示 `exec: "xdg-open": executable file not found in $PATH` 报错 因为找不到xdg-open命令,安装xdg-utils之后命令就可以使用了. yum install xdg-utils -y 再次执行 ./ElasticHD -p 127.0.0.1:9800 提示如下,表示已经运行成功 To view elasticHD console open http://127.0.0.1:9800 in browser xdg-open: no method available for opening 'http://127.0.0.1:9800' exit status 3 因为我是在服务器部署,在本地打ip+端口访问一直访问不了。怀疑是不是有ip访问限制 改成 ./ElasticHD -p 0.0.0.0:9800 #### 4. docker后台运行ElasticHD #### 上述方式能成功运行ElasticHD,但是会一直在前台占用,我们可以采用docker的方式在后台运行,方法很简单,只需两步,这也就是docker的魅力所在吧! 先看一下docker改为阿里云镜像吧! 登录阿里云 [https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors][https_cr.console.aliyun.com_cn-hangzhou_instances_mirrors],会获取专属的镜像地址 针对Docker客户端版本大于 1.10.0 的用户 您可以通过修改daemon配置文件`/etc/docker/daemon.json`来使用加速器 1. `sudo mkdir -p /etc/docker` 2. `sudo tee /etc/docker/daemon.json <<-'EOF'` 3. { "registry-mirrors": ["https://wo6ssm92.mirror.aliyuncs.com"] } 1. `EOF` 2. `sudo systemctl daemon-reload` 3. `sudo systemctl restart docker` ok! docker pull containerize/elastichd //-d的意思就是后台运行 docker run -d -p 9800:9800 containerize/elastichd ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FBQWh4eg_size_16_color_FFFFFF_t_70_pic_center 2] 完美! #### 5. ElasticSearch 基本查询语法 #### ##### 5.1 基本搜索 ##### { "query": { "bool": { "must": [ { "match_all": { } } ] } }, "from": 0, "size": 1 } ##### 5.2 Group BY ##### { "query": { "bool": { "must": [ { "match_all": { } } ] } }, "from": 0, "size": 0, "aggregations": { "mid": { "aggregations": { "terminal": { "terms": { "field": "terminal", "size": 0 } } }, "terms": { "field": "mid", "size": "1" } } } } ##### 5.3 Distinct Count ##### { "query": { "bool": { "must": [ { "match_all": { } } ] } }, "from": 0, "size": 0, "aggregations": { "COUNT(distinct (mid))": { "cardinality": { "field": "(mid)" } } } } ##### 5.4 全文搜索 ##### { "query" : { "query_string" : { "query" : "name:rcx"} } } ##### 5.5 match查询 ##### { "query": { "match": { "title": "crime and punishment" } } } ##### 5.6 通配符查询 ##### { "query": { "wildcard": { "title": "cr?me" } } } ##### 5.7 范围查询 ##### { "query": { "range": { "year": { "gte" :1890, "lte":1900 } } } } ##### 5.8 正则表达式查询 ##### { "query": { "regexp": { "title": { "value" :"cr.m[ae]", "boost":10.0 } } } } **如图所示:** ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FBQWh4eg_size_16_color_FFFFFF_t_70_pic_center 3] #### 6. 同步MySQL数据至ES #### 这里使用的是elasticsearch-jdbc,之前也尝试过阿里的canal等等,说实话感觉很麻烦,这个简单易上手。首先下载: wget http://xbib.org/repository/org/xbib/elasticsearch/importer/elasticsearch-jdbc/2.3.4.0/elasticsearch-jdbc-2.3.4.0-dist.zip ![在这里插入图片描述][20200312085913325.png_pic_center] 有点慢,下载完解压就好了: unzip elasticsearch-jdbc-2.3.4.0-dist.zip //移动一下 mv elasticsearch-jdbc-2.3.4.0-dist.zip /usr/local/jdbc/ 配置环境变量 `vim /etc/profile` 把下面两行代码放入底部 export JDBC_HOME=/usr/local/jdbc export ES_HOME=/usr/local/elasticsearch 使其生效 source /etc/profile //生效 创建导入脚本 #!/bin/sh bin=$JDBC_HOME/bin lib=$JDBC_HOME/lib echo '{ "type" : "jdbc", "jdbc": { "elasticsearch.autodiscover":true, "elasticsearch.cluster":"my-application", #簇名,对应好配置 "url":"jdbc:mysql://192.168.9.155:3306/hb", #mysql地址/端口/库名 "user":"root", #Mysql账号 "password":"", #Mysql密码 "sql":"select * form tablename", #SQL语句 .........注意的是,这里只是测试,在实际配置中需要对应好要存入文档的字段,同样表的主见id对应文档id "elasticsearch" : { "cluster":"my-application", "host" : "192.168.9.155", "port" : 9300 }, "index" : "myindex", #新的index,这里测试的是商品表,用的index是myindex,其实可以规范命名~ "type" : "mytype" #新的type,类型也可以规范命名 } }'| java \ -cp "${lib}/*" \ -Dlog4j.configurationFile=${bin}/log4j2.xml \ org.xbib.tools.Runner \ org.xbib.tools.JDBCImporter chmod a+x mysql-elasticsearch.sh //赋予权限或者chown -R ./mysql-elasticsearch.sh //执行脚本 测试: curl -XGET 'http://ip地址:9200/myindex/mytype/_search?pretty' [Link 1]: https://blog.csdn.net/andy_wcl/article/details/81631609 [Link 2]: https://www.cnblogs.com/luxiaoxun/p/5452502.html [20200311163251559.png_pic_center]: https://img-blog.csdnimg.cn/20200311163251559.png#pic_center [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FBQWh4eg_size_16_color_FFFFFF_t_70_pic_center]: https://img-blog.csdnimg.cn/20200311163636805.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FBQWh4eg==,size_16,color_FFFFFF,t_70#pic_center [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FBQWh4eg_size_16_color_FFFFFF_t_70_pic_center 1]: https://img-blog.csdnimg.cn/202003111722036.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FBQWh4eg==,size_16,color_FFFFFF,t_70#pic_center [https_cr.console.aliyun.com_cn-hangzhou_instances_mirrors]: https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FBQWh4eg_size_16_color_FFFFFF_t_70_pic_center 2]: https://img-blog.csdnimg.cn/20200311175634913.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FBQWh4eg==,size_16,color_FFFFFF,t_70#pic_center [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FBQWh4eg_size_16_color_FFFFFF_t_70_pic_center 3]: https://img-blog.csdnimg.cn/20200312083511305.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FBQWh4eg==,size_16,color_FFFFFF,t_70#pic_center [20200312085913325.png_pic_center]: https://img-blog.csdnimg.cn/20200312085913325.png#pic_center
相关 Linux的CentOS系统如何安装可视化操作界面环境 之前一直用的windows的系统,今天换个Linux的CentOS的系统尝尝鲜,究其原因,主要还是因为Linux系统对PHP的支持下比Windows更佳,且安全性更高,另外,同 Love The Way You Lie/ 2024年03月22日 17:59/ 0 赞/ 33 阅读
相关 ES head可视化界面 1.安装 GitHub下载地址:[https://github.com/mobz/elasticsearch-head/archive/refs/heads/master 拼搏现实的明天。/ 2023年10月02日 13:18/ 0 赞/ 31 阅读
相关 Docker安装Portainer(可视化界面) > 签名:但行好事,莫问前程。 文章目录 前言 一、拉取镜像 二、运行容器 三、访问portainer后台管理界面 总结 ------- 红太狼/ 2023年09月29日 19:20/ 0 赞/ 14 阅读
相关 Centos7.5安装ES+可视化界面+同步MySQL数据 目录 1. ES简介: 2. Centos下安装ES 3. ES可视化界面安装 太过爱你忘了你带给我的痛/ 2023年07月13日 10:44/ 0 赞/ 20 阅读
相关 超详细 CentOS 7 安装教程(可视化界面安装) > 准备: > > 软件:VMware Workstation > 镜像文件:CentOS-7-x86\_64-Everything-2003.iso 1、创建 你的名字/ 2022年09月10日 10:16/ 0 赞/ 600 阅读
相关 Ubuntu安装mysql数据可视化工具 一、首先来测试下是否安装mysql,需要在安装mysql相关服务的条件下进行安装mysql-workbench sudo netstat -tap|grep my Dear 丶/ 2022年05月31日 02:52/ 0 赞/ 460 阅读
相关 Centos可视化安装 1、如何在centOS7下安装GUI图形界面 当你安装centOS7服务器版本的时候,系统默认是不会安装GUI的图形界面程序,这个需要手动安装CentOS7 川长思鸟来/ 2022年04月14日 03:49/ 0 赞/ 336 阅读
相关 【Linux运维】centOS7 中安装可视化图形界面 centOS 7 安装可视化用户界面 步骤一: 检查 yum是否可用 输入 yum list 如果出现以下情况说明不可用 ![watermark_t ﹏ヽ暗。殇╰゛Y/ 2021年11月09日 22:38/ 0 赞/ 661 阅读
相关 ElasticSearch入门之es高级可视化界面安装, Kibana部署 07 1. 安装前的准备 使用root进行操作 使用root进行操作 使用root进行操作 使用root进行操作 mkdir - ╰半夏微凉°/ 2021年10月18日 22:48/ 0 赞/ 412 阅读
还没有评论,来说两句吧...