安装配置ELK、安装配置ElasticSearch7.13、安装配置Kibana7.13、安装配置Logstash7.13、ElasticSearch7.13安装中文分词器

提示:部分资源可能访问较慢,根据自身情况进行需修改


安装ElasticSearch7.13

linux安装

# 下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.0-linux-x86_64.tar.gz

# 解压
tar -zxvf elasticsearch-7.13.0-linux-x86_64.tar.gz

# 将elasticsearch-7.13.0移动到usr下面并改为elasticsearch
mv /root/elasticsearch-7.13.0 /usr/elasticsearch/

# 进入/usr/elasticsearch
cd /usr/elasticsearch

# 修改 config 下的 elasticsearch.yml
vim config/elasticsearch.yml
    node.name: node-1 
    network.host: 172.26.46.96  #
    http.port: 9200 
    cluster.initial_master_nodes: ["node-1"]

# 修改 config/jvm.options
vim config/jvm.options
    -Xms1g
    -Xmx1g
    # 上面这两个修改 我在 elasticsearch-7.13.0 中是默认注释的,更具配置文件的的说法可以指定大小,也可以系统自动分配(我选择自动分配)
    
# 添加es用户,es默认root用户无法启动,需要改为其他用户
useradd es
# 修改es用户密码
passwd es

# 改变es目录拥有者账号
chown -R es /usr/elasticsearch/
    

# 1、错误:bootstrap check failure [2] of [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
#(elasticsearch用户拥有的内存权限太小)
# 修改/etc/sysctl.conf
vim /etc/sysctl.conf
    vm.max_map_count=655360
# 执行sysctl -p 让其生效
sysctl -p

# 2、错误:bootstrap check failure [1] of [2]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
#(文件权限不足)
# 修改/etc/security/limits.conf
vim /etc/security/limits.conf
末尾添加:
*                soft    nofile          65536
*                hard    nofile          65536
*                soft    nproc           4096 
*                hard    nproc           4096

#3、错误(这个错误暂时没有遇见过,)
# 线程不够
# 修改 vim /etc/security/limits.d/90-nproc.conf
vim /etc/security/limits.d/90-nproc.conf
* soft nproc 1024 修改为 * soft nproc 4096


# 切换es用户
su es
# 启动es(第一种方式)
/usr/elasticsearch/bin/elasticsearch
# 启动es(第二种方式-后台启动)
/usr/elasticsearch/bin/elasticsearch -d

# 查看es进程
ps -ef|grep elasticsearch

#访问
http://ip:9200

win安装

在这里插入图片描述

win系统上就是下载解压启动,配置的话和linux基本一样

ElasticSearch添加用户密码(Linux和win都可以使用)

#在config目录中,编辑elasticsearch.yml文件,添加如下
xpack.security.transport.ssl.enabled: true
xpack.security.enabled: true
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,Content-Type,X-Requested-with,Content-Length


# Linux 首先配置elasticsearch.yml文件后启动,然后在执行下方的操作


#在bin目录下设置密码,输入y后输入自己设置的密码,要输入好几遍
elasticsearch-setup-passwords interactive
	#将设置apm_system, beats_system, elastic, kibana_system, logstash_system, remote_monitoring_user这些内置用户的密码。请务必牢记!




# 默认用户名
elastic
# 密码(自己设置的)
2418870649

在这里插入图片描述

安装配置kibana

win安装

在这里插入图片描述

#访问
http://127.0.0.1:5601

linux安装

# 下载
https://artifacts.elastic.co/downloads/kibana/kibana-7.13.0-linux-x86_64.tar.gz

# 解压
tar -zxvf kibana-7.13.0-linux-x86_64.tar.gz

# 将kibana-7.13.0-linux-x86_64移动到usr下面并改名为kibana
mv /root/kibana-7.13.0-linux-x86_64 /usr/kibana/

# 改变es目录拥有者账号
chown -R es /usr/kibana/
# 修改权限
chmod -R 777 /usr/kibana/
# 修改kibana.yml
cd /usr/kibana
vim config/kibana.yml
    server.port: 5601
    server.host: "0.0.0.0"
    elasticsearch.hosts: ["http://172.26.46.96:9200"]
    
# 启动(第一种方式)
su es
/usr/kibana/bin/kibana
# 启动(第二种方式)
nohup /usr/kibana/bin/kibana &
# 用root启动(第三种方式)
/usr/kibana/bin/kibana --allow-root

# 查看kibana进程
ps -ef|grep kibana

# kibana dev tools快捷键:
ctrl+enter 提交请求
ctrl+i 自动缩进

# 访问
http://ip:5601

kibana中文界面显示

在这里插入图片描述

ElasticSearch设置密码后Kibana需要的设置

#在config目录里修改kibana.yml文件添加
elasticsearch.username: "elastic"
elasticsearch.password: "2418870649"


# kibana推荐用 kibana_system 用户
# 这个设配不知道是第一次配置谁,设就是超级用户,还是说默认的elastic就是超级用户(下一次配置设个试一下)
elasticsearch.username: "kibana_system"
elasticsearch.password: "2418870649"

安装配置Logstash

linux安装和win安装

# 说明就在 win下面配置过,在linux中应该基本相同,基本配置没有问题
# 注意!!!!!!!!!!!
将mysql的jar 包放入 logstash-7.13.0\logstash-core\lib\jars 下

# 放在 logstash-7.13.0\config  下  文件名 mysql.conf
input {
	stdin {

	}
	jdbc{
		jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/ly?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai"
		jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
		jdbc_user => "root"
		jdbc_password => "2418870649"

		# 是否分页
		jdbc_paging_enabled => "true"

		# 分页大小
		jdbc_page_size => "50000"

		#设置时区
		jdbc_default_timezone => "Asia/Shanghai"

         # 执行sql语句
		statement => "select wid, articlename,articlekeyword,articledescription,artuclecontent,artuclethumbnail,artuledata from ly_article"

         # 下载连接数据库的驱动包,建议使用绝对地址
		jdbc_driver_library => "E:\logstash-7.13.0\logstash-core\lib\jars\mysql-connector-java-8.0.16.jar"

		# 这是控制定时的,重复执行导入任务的时间间隔,第一位是分钟 不设置就是1分钟执行一次
		schedule => "* * * * *"
	}
}
  
output {
        elasticsearch {
         # 要导入到的Elasticsearch所在的主机
		hosts => ["http://localhost:9200"]
		# 要导入到的Elasticsearch的索引的名称
		index => "article"
		# 主键名称(类似数据库主键)
		document_id => "%{wid}"
	}
	stdout{
	   # JSON格式输出
	   codec => json_lines
	}
}


#启动  (配置文件启动 mysql.conf自己创建)
bin\logstash.bat -f config\mysql.conf

Elasticsearch集成IK分词器

#win系统安装
    现在对应版本的中文分词器 解压后 把其中所有的内容复制到 E:\elasticsearch-7.13.0\plugins\ik 下面
    ik 自己手动创建

#linux
1、集成IK分词器
IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始,IKAnalyzer已经推出 了3个大版本。最初,它是以开源项目Lucene为应用主体的,结合词典分词和文法分析算法的中文分词组件。新版本的IKAnalyzer3.0则发展为 面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。
IK分词器3.0的特性如下:
    1)采用了特有的“正向迭代最细粒度切分算法“,具有60万字/秒的高速处理能力。
    2)采用了多子处理器分析模式,支持:英文字母(IP地址、Email、URL)、数字(日期,常用中文数量词,罗马数字,科学计数法),中文词汇(姓名、地名处理)等分词处理。
    3)支持个人词条的优化的词典存储,更小的内存占用。
    4)支持用户词典扩展定义。
    5)针对Lucene全文检索优化的查询分析器IKQueryParser;采用歧义分析算法优化查询关键字的搜索排列组合,能极大的提高Lucene检索的命中率。
    
下载地址:
https://github.com/medcl/elasticsearch-analysis-ik/releases

安装方式一
1)/usr/elasticsearch/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.13.0/elasticsearch-analysis-ik-7.13.0.zip
2)会提示 Continue with installation?输入 y 即可完成安装
3)chown -R es /usr/elasticsearch/  因为安装ik分词器后在elasticsearch/plugins和/usr/elasticsearch/config下的analysis-ik目录所有者不是es用户
4)重启Elasticsearch 和Kibana

安装方式二
#新建analysis-ik文件夹
cd /usr/elasticsearch/plugins
mkdir analysis-ik
#切换至 analysis-ik文件夹下 
cd analysis-ik 
#上传资料中的 
elasticsearch-analysis-ik-7.13.0.zip
#解压 
unzip elasticsearch-analysis-ik-7.13.0.zip
#解压完成后删除
rm -rf elasticsearch-analysis-ik-7.13.0.zip
# 重启Elasticsearch 和Kibana


测试:
# ik_max_word (常用) 会将文本做最细粒度的拆分
POST _analyze 
{ 
  "analyzer": "ik_max_word", 
  "text": "南京市长江大桥" 
}

# ik_smart 会做最粗粒度的拆分 (不走扩展词)
POST _analyze 
{ 
  "analyzer": "ik_smart", 
  "text": "南京市长江大桥" 
}

扩展词典使用

进入到 elasticsearch/config/analysis-ik/(插件命令安装方式) 或 elasticsearch/plugins/analysis-ik/config(安装包安装方式) 目录下, 新增自定义词典
vim zkc_ext_dict.dic
	输入 :江大桥

vim IKAnalyzer.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
	<comment>IK Analyzer 扩展配置</comment>
	<!--用户可以在这里配置自己的扩展字典 -->
	<entry key="ext_dict">zkc_ext_dict.dic</entry>
	 <!--用户可以在这里配置自己的扩展停止词字典-->
	<entry key="ext_stopwords"></entry>
	<!--用户可以在这里配置远程扩展字典 -->
	<!-- <entry key="remote_ext_dict">words_location</entry> -->
	<!--用户可以在这里配置远程扩展停止词字典-->
	<!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

#重启Elasticsearch

测试:
# ik_max_word (常用) 会将文本做最细粒度的拆分
POST _analyze 
{ 
  "analyzer": "ik_max_word", 
  "text": "南京市长江大桥" 
}
#可以看到 江大桥

停用词典使用

进入到 elasticsearch/config/analysis-ik/(插件命令安装方式) 或 elasticsearch/plugins/analysis-ik/config(安装包安装方式) 目录下, 新增自定义词典
vim zkc_stop_dict.dic
    输入 :市长
    
vim IKAnalyzer.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
	<comment>IK Analyzer 扩展配置</comment>
	<!--用户可以在这里配置自己的扩展字典 -->
	<entry key="ext_dict">zkc_ext_dict.dic</entry>
	 <!--用户可以在这里配置自己的扩展停止词字典-->
	<entry key="ext_stopwords">zkc_stop_dict.dic</entry>
	<!--用户可以在这里配置远程扩展字典 -->
	<!-- <entry key="remote_ext_dict">words_location</entry> -->
	<!--用户可以在这里配置远程扩展停止词字典-->
	<!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>


#重启Elasticsearch

测试:
# ik_max_word (常用) 会将文本做最细粒度的拆分
POST _analyze 
{ 
  "analyzer": "ik_max_word", 
  "text": "南京市长江大桥" 
}
#看不到 市长

同义词典使用

进入到 elasticsearch/config/analysis-ik/(插件命令安装方式) 或 elasticsearch/plugins/analysis-ik/config(安装包安装方式) 目录下, 新增自定义词典
vim synonym.txt
	china,中国
	meishibiexuejava,没事别学JAVA

#重启Elasticsearch
测试:
1)创建索引
PUT /zkc-es-synonym
{
    "settings": {
        "analysis": {
            "filter": {
                "word_sync": {
                    "type": "synonym",
                    "synonyms_path": "analysis-ik/synonym.txt"
                }
            },
            "analyzer": {
                "ik_sync_max_word": {
                    "filter": [
                        "word_sync"
                    ],
                    "type": "custom",
                    "tokenizer": "ik_max_word"
                },
                "ik_sync_smart": {
                    "filter": [
                        "word_sync"
                    ],
                    "type": "custom",
                    "tokenizer": "ik_smart"
                }
            }
        }
    },
    "mappings": {
        "properties": {
            "name": {
                "type": "text",
                "analyzer": "ik_sync_max_word",
                "search_analyzer": "ik_sync_max_word"
            }
        }
    }
}
2)插入数据
POST /zkc-es-synonym/_doc/1 
{ 
"name":"中国第一" 
}

POST /zkc-es-synonym/_doc/2
{ 
"name":"没事别学JAVA" 
}

3)使用同义词china或meishibiexuejava进行搜索
POST /zkc-es-synonym/_doc/_search 
{ 
    "query": { 
        "match": { 
            "name": "china" 
        } 
    } 
}

POST /zkc-es-synonym/_doc/_search 
{ 
    "query": { 
        "match": { 
            "name": "meishibiexuejava" 
        } 
    } 
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值