linux和windows安装ElasticSearch和kibana

下载地址   https://www.elastic.co/cn/downloads/elasticsearch

 

Linux安装ElasticSearch

1、上传ElasticSearch安装包

elasticsearch-7.4.0-linux-x86_64.tar.gz

2、执行解压操作

# 将elasticsearch-7.4.0-linux-x86_64.tar.gz解压到opt文件夹下. -C 大写
 tar -zxvf elasticsearch-7.4.0-linux-x86_64.tar.gz  -C /opt

3、创建普通用户

因为安全问题,ElasticSearch 不允许root用户直接运行,所以要创建新用户,用root创建新用户:

useradd wk

passwd  wk

5、为新用户授权

chown -R wk:wk /opt/elasticsearch-7.4.0 #文件夹所有者

将 /opt/elasticsearch-7.4.0文件夹授权给wk用户:wk用户组

6、修改elasticsearch.yml文件

vim /opt/elasticsearch-7.4.0/config/elasticsearch.yml

# ======================== Elasticsearch Configuration =========================

cluster.name: my-application

node.name: node-1

network.host: 0.0.0.0

http.port: 9200

cluster.initial_master_nodes: ["node-1"]

cluster.name:配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称

node.name:节点名,elasticsearch会默认随机指定一个名字,建议指定一个有意义的名称,方便管理

network.host:设置为0.0.0.0允许外网访问

http.port:Elasticsearch的http访问端口

cluster.initial_master_nodes:初始化新的集群时需要此配置来选举master

 

7、修改配置文件

新创建的wk用户最大可创建文件数太小,最大虚拟内存太小,切换到root用户,编辑下列配置文件, 添加类似如下内容

# 切换到root用户

su root

 

#1. ===最大可创建文件数太小=======

vim /etc/security/limits.conf

# 在文件末尾中增加下面内容

wk soft nofile 65536

wk hard nofile 65536

#  soft  xxx  : 代表警告的设定,可以超过这个设定值,但是超过后会有警告。

#  hard  xxx  : 代表严格的设定,不允许超过这个设定的值。

#  nproc  : 是操作系统级别对每个用户创建的进程数的限制

#  nofile : 是每个进程可以打开的文件数的限制

# =====

vim /etc/security/limits.d/20-nproc.conf

# 在文件末尾中增加下面内容

wk soft nofile 65536

wk hard nofile 65536

*  hard    nproc     4096

# 注:* 代表Linux所有用户名称  

 

#2. ===最大虚拟内存太小=======

vim /etc/sysctl.conf

# 在文件中增加下面内容

vm.max_map_count=655360

# 重新加载,输入下面命令:

sysctl -p

 

8、启动elasticsearch

su wk # 切换到wk用户启动

cd /opt/elasticsearch-7.4.0/bin

./elasticsearch #启动

 

访问elasticsearch, 在访问elasticsearch前,请确保防火墙是关闭的, 浏览器输入http://192.168.6.100:9200/

重点几个关注下即可:

number" : "7.4.0"   表示elasticsearch版本

lucene_version" : "8.2.0"  表示lucene版本

name : 默认启动的时候指定了 ES 实例名称

cluster_name : 默认名为 elasticsearch

 

docker版本安装

# 拉取镜像
docker pull elasticsearch:7.4.0
# 创建容器
docker create --name elasticsearch --net host -e "discovery.type=single-node" -e "network.host=192.168.6.100" elasticsearch:7.4.0
# 启动
docker start elasticsearch
# 查看日志
docker logs elasticsearch

 

Kibana客户端【Linux下安装】

1. Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。

2、解压kibana

tar -xzf kibana-7.4.0-linux-x86_64.tar.gz -C /opt

3、修改kibana配置

vim /opt/kibana-7.4.0-linux-x86_64/config/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
server.name: "kibana-atguigu"
elasticsearch.hosts: ["http://127.0.0.1:9200"]
elasticsearch.requestTimeout: 99999

server.port:http访问端口

server.host:ip地址,0.0.0.0表示可远程访问

server.name:kibana服务名

elasticsearch.hosts:elasticsearch地址

elasticsearch.requestTimeout:请求elasticsearch超时时间,默认为30000,此处可根据情况设置

 

4、启动kibana

由于kibana不建议使用root用户启动,如果用root启动,需要加--allow-root参数

# 切换到kibana的bin目录
cd /opt/kibana-7.4.0-linux-x86_64/bin
# 启动
./kibana --allow-root

5、访问kibana

浏览器输入http://192.168.6.100:5601

 

IK分词器安装

将elasticsearch-analysis-ik-7.4.0.zip解压到新建的目录plugins/ik目录下

记得一定要重启Elasticsearch!!!

使用IK分词器

IK分词器有两种分词模式:ik_max_word和ik_smart模式。

1、**ik_max_word**

会将文本做最细粒度的拆分,比如会将“乒乓球明年总冠军”拆分为“乒乓球、乒乓、球、明年、总冠军、冠军。

2、**ik_smart**
会做最粗粒度的拆分,比如会将“乒乓球明年总冠军”拆分为乒乓球、明年、总冠军。

 

自定义词库

修改/opt/elasticsearch-7.4.0/plugins/ik/config/KAnalyzer.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"></entry>

         <!--用户可以在这里配置自己的扩展停止(黑名单,禁用词)词字典-->

        <entry key="ext_stopwords"></entry>

        <!--用户可以在这里配置远程扩展字典 -->

        <entry key="remote_ext_dict">http://192.168.6.100/fenci/myword.txt</entry>

        <!--用户可以在这里配置远程扩展停止词字典-->

        <!-- <entry key="remote_ext_stopwords">words_location</entry> -->

</properties>

修改完配置文件,需要重启elasticsearch服务

 

按照标蓝的路径利用nginx发布静态资源

1. 在nginx.conf中配置

  server {
        listen  80;
        server_name  192.168.137.3;
        location /fenci/ {
           root es;
        }
  }

2. 并且在/usr/local/nginx/下建/es/fenci/目录,目录下加myword.txt

myword.txt中编写关键词,每一行代表一个词。

3. 启动nginx。

4. 在浏览器中访问自定义词库:http://192.168.137.3/fenci/myword.txt

5. 在kibana中测试分词效果

 

 windows版本安装

下载ES的windows压缩包

Window版的ElasticSearch的安装很简单,解压开即安装完毕,解压后的ElasticSearch的目录结构如下:

安装IK分词器插件:在plugin目录下创建ik文件夹,将elasticsearch-analysis-ik-7.4.0.zip内容解压到ik目录下:

启动ES服务

点击ElasticSearch下的bin目录下的elasticsearch.bat启动

注意:9300是tcp通讯端口,集群间和TCPClient都执行该端口,9200是http协议的RESTful接口 。

通过浏览器访问ElasticSearch服务器:http://localhost:9200  

注意事项一:ElasticSearch是使用java开发的,且本版本的es需要的jdk版本要是1.8以上,所以安装ElasticSearch之前保证JDK1.8+安装完毕,并正确的配置好JDK环境变量,否则启动ElasticSearch失败。
注意事项二:出现闪退,通过路径访问发现“空间不足”

【解决方案】

修改jvm.options文件的22行23行, Elasticsearch启动的时候占用1个G的内存,可改成512m:

-Xmx512m:设置JVM最大可用内存为512M。
-Xms512m:设置JVM初始内存为512m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。

 

Kibana客户端(Windows版)

解压kibana-7.4.0-windows-x86_64.zip(解压很慢,耐心等待)

进入config目录修改kibana.yml第2、28行,配置自身端口和连接的ES服务器地址。

server.port: 5601
elasticsearch.hosts: ["http://localhost:9200"]

进入kibana的bin目录,双击kibana.bat启动:

访问:http://localhost:5601,出现界面即完成安装。

界面是英文的,如果希望是中文,可以修改kibana.yml第114行:i18n.locale: “zh-CN”

 

 Elasticsearch head客户端

head插件是ES的一个可视化管理插件,用来监视ES的状态,并通过head客户端和ES服务进行交互,比如创建映射、创建索引等。

将ElasticSearch-head-Chrome-0.1.5-Crx4Chrome.crx用压缩工具解压,打开Chrome扩展程序,点” 加载已解压的扩展程序”按钮,找到解压目录即可

使用IK分词器

下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases

 

准备三台elasticsearch服务器

创建elasticsearch-cluster文件夹,在内部复制三个elasticsearch服务

 

修改每台服务器配置

修改elasticsearch-cluster\node*\config\elasticsearch.yml配置文件

node1节点:

#节点1的配置信息:
#集群名称,保证唯一
cluster.name: my-elasticsearch
#默认为true。设置为false禁用磁盘分配决定器。
cluster.routing.allocation.disk.threshold_enabled: false
#节点名称,必须不一样
node.name: node-1
#必须为本机的ip地址
network.host: 127.0.0.1
#服务端口号,在同一机器下必须不一样
http.port: 9201
#集群间通信端口号,在同一机器下必须不一样
transport.tcp.port: 9301写入候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"]
#初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node-1"]

node2节点:

#节点1的配置信息:
#集群名称,保证唯一
cluster.name: my-elasticsearch
#默认为true。设置为false禁用磁盘分配决定器。
cluster.routing.allocation.disk.threshold_enabled: false
#节点名称,必须不一样
node.name: node-2
#必须为本机的ip地址
network.host: 127.0.0.1
#服务端口号,在同一机器下必须不一样
http.port: 9202
#集群间通信端口号,在同一机器下必须不一样
transport.tcp.port: 9302
discovery.seed_hosts: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"]
#初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node-1"]

node3节点:

 

#节点1的配置信息:
#集群名称,保证唯一
cluster.name: my-elasticsearch
#默认为true。设置为false禁用磁盘分配决定器。
cluster.routing.allocation.disk.threshold_enabled: false
#节点名称,必须不一样
node.name: node-3
#必须为本机的ip地址
network.host: 127.0.0.1
#服务端口号,在同一机器下必须不一样
http.port: 9203
#集群间通信端口号,在同一机器下必须不一样
transport.tcp.port: 9303
discovery.seed_hosts: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"]
# 初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node-1"]

启动各个节点服务器

安装ES插件ElasticSearch-head

使用elasticsearch-head查看集群情况

posted @ 2022-05-07 16:25  坤王  阅读(179)  评论(0编辑  收藏  举报