IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> ElasticSearch -> 正文阅读

[大数据]ElasticSearch

?ElasticSearch概念-基础概念?

Elasticsearch 索引是什么?

Elasticsearch?索引指相互关联的文档集合。Elasticsearch 会以 JSON 文档的形式存储数据。每个文档都会在一组(字段或属性的名称)和它们对应的值(字符串、数字、布尔值、日期、数值组、地理位置或其他类型的数据)之间建立联系。

Elasticsearch 使用的是一种名为倒排索引的数据结构,这一结构的设计可以允许十分快速地进行全文本搜索。倒排索引会列出在所有文档中出现的每个特有词汇,并且可以找到包含每个词汇的全部文档。

在索引过程中,Elasticsearch 会存储文档并构建倒排索引,这样用户便可以近实时地对文档数据进行搜索。索引过程是在索引 API 中启动的,通过此 API 您既可向特定索引中添加 JSON 文档,也可更改特定索引中的 JSON 文档。

?也可以说索引相当于数据库,类型相当于表,文档相当于数据。

ElasticSearch安装配置

首先安装docker

?在centos上安装docker: https://docs.docker.com/engine/install/centos/

?安装后设置开机自启动:$ sudo systemctl enable docker

配置国内仓库镜像:

# vi /etc/docker/daemon.json
{
    "registry-mirrors":[ "https://registry.docker-cn.com" ]
}

国内常用的docker镜像仓库

网易:http://hub-mirror.c.163.com

中国科学技术大学:https://docker.mirrors.ustc.edu.cn

配置后需要重新启动, $ sudo systemctl restart docker

注意配置文件不要写错,否则docker启动会报错

# docker启动命令,docker重启命令,docker关闭命令

启动? ? ????systemctl start docker
守护进程重启 ??sudo systemctl daemon-reload
重启docker服务 ??systemctl restart ?docker
重启docker服务 ?sudo service docker restart
关闭docker service docker stop
关闭docker systemctl stop docker

安装ElastecSearch和Kibana

docker pull elasticsearch:7.4.2
docker pull kibana:7.4.2
版本要统一

(2)配置?

# 将docker里的目录挂载到linux的/mydata目录中
# 修改/mydata就可以改掉docker里的
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data

# es可以被远程任何机器访问
echo "http.host: 0.0.0.0" >/mydata/elasticsearch/config/elasticsearch.yml

# 递归更改权限,es需要访问
chmod -R 777 /mydata/elasticsearch/

(3)启动es

# 9200是用户交互端口 9300是集群心跳端口
# -e指定是单阶段运行
# -e指定占用的内存大小,生产时可以设置32G
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e  "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v  /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2 


# 设置开机启动elasticsearch
docker update elasticsearch --restart=always

(4)启动kibana

# kibana指定了了ES交互端口9200  # 5600位kibana主页端口
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 -p 5601:5601 -d kibana:7.4.2


# 设置开机启动kibana
docker update kibana  --restart=always

修改Linux网络设置&开启root密码访问

vagrant安装的虚拟机是没有外网的,因为没有对网络进行设置。

为了解决这个问题,首先执行:

$ cd /etc/sysconfig/network-scripts/

$ ip addr

查找到与我们网络有关的配置文件,eth1,然后进行修改

在里面添加gateway和dns配置

GATEWAY=192.158.56.1
DNS1=114.114.114.144
DNS2=8.8.8.8

?之后重启网卡,执行ping命令,发现已经可以ping通baidu了

$ service network restart

$ ping baidu.com

下面就可以进行安装所需要的软件了,但是可能会有问题,就是yum源是国外镜像,速度比较慢,我们来进行修改成国内的yum源

1)、备份原yum源

$ mv /etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup

2)、使用新yum源

$ curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

3)、生成缓存(就可以使用新的yum源了)

$ yum makecache

这样以后就可以不用 $ vagrant up 命令启动虚拟机了,可以直接在virtualBox启动,因为用命令很可能vagrant把这些网卡配置给覆盖掉。

开启root密码访问

$ vi /etc/ssh/sshd_config

# 找到passwordAuthtication yes,把注释放开

# 重启sshd服务
$ service sshd restart

# 此时再使用ssh连接虚拟机,发现可以输入密码了

安装IK分词器,支持中文更好的分词

对应elastecSearch版本安装,在前面安装的elasticsearch时,我们已经将elasticsearch容器的“/usr/share/elasticsearch/plugins”目录,映射到宿主机的“ /mydata/elasticsearch/plugins”目录下,所以比较方便的做法就是下载“/elasticsearch-analysis-ik-7.4.2.zip”文件,然后解压到该文件夹下即可。安装完毕后,需要重启elasticsearch容器。

# 命令步骤:1、从github上下载对应版本的ik分词器,然后把压缩包放到对应的文件夹下
# https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.4.2

# 2、解压压缩包到指定的ik目录下
$ unzip elasticsearch-analysis-ik-7.4.2.zip -d ik

# 3、在elashtacseacrh容器中的对应目录下就可以找到该文件夹了
# 进入对应容器的内部
$ docker exec -it 容器id /bin/bash   
$ cd plugins/

# 4、检查是否安装上没
$ cd bin/
$ elasticsearch-plugin list

# 就可以看到安装好的分词器了,去Kibana中执行分析命令,看效果
# 还有一步,需要重启elasticsearch

$ docker restart elasticsearch

自定义词库

修改/usr/share/elasticsearch/plugins/ik/config中的IKAnalyzer.cfg.xml

在linux中的目录下修改就可

配置文件中的远程扩展词典可以是一个项目,我们自己来指定

ik分词器给nginx来发送请求得到最新词库

在nginx的html目录下新建一个分词txt给es进行自定义分词使用

<?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.56.10/es/fenci.txt</entry> 
	<!--用户可以在这里配置远程扩展停止词字典-->
	<!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

?首先把elasticsearch容器移除,因为要重新指定内存启动,新建一个容器

# esId为es容器的id

$ docker stop <esId>
$ docker rm <esId>

然后安装nginx容器

# 先启动一个nginx实例,只是为了复制出配置

$ docker run -p 80:80 --name nginx -d nginx:1.10

$ cd /mydata
$ docker container cp nginx:/etc/nginx .
$ docker stop nginx
$ docker rm nginx

# 修改nginx文件夹名称为conf,以后所有的配置都在这个文件夹下
$ mv nginx conf
$ mkdir nginx
$ mv conf nginx/

# 创建新的nginx:执行以下命令
# -p 80:80为映射nginx的80端口 \为换行
# html静态页面资源映射到/nginx/html目录下
# 日志映射到logs下
# 配置和etc/nginx关联起来

$ docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:1.10


?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-08 11:24:53  更:2021-08-08 11:25:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 4:40:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码