疯狂创客圈 Java 高并发【 亿级流量聊天室实战】实战系列 【博客园总入口

架构师成长+面试必备之 高并发基础书籍 【Netty Zookeeper Redis 高并发实战


疯狂创客圈 高并发 环境 视频,陆续上线:

  • Windows Redis 安装(带视频)
  • Linux Redis 安装(带视频)
  • Windows Zookeeper 安装(带视频)
  • Linux Zookeeper 安装(带视频)
  • RabbitMQ 离线安装(带视频)
  • Nacos 安装(带视频)
  • ElasticSearch 安装, 带视频

小视频以及所需工具的百度网盘链接,请参见 疯狂创客圈 高并发社群 博客

1 版本选择

建议需要安装6以上版本,这里使用的版本是6.2.2,可以在ElasticSearch官方网站上下载。由于ElasticSearch官方网站的文档非常的全面,对于初学者解决学习、开发过程中的实际问题都非常有参考价值,所以,这里列出官网的地址: https://www.elastic.co/

why 6.2.2?

由于截止目前,与spring-data集成的最高版本,是6.2.2, 集成spring-data后,可以使用JPA直接操作ElasticSearch,减少编程的压力。

2 下载

1:下载需要安装的ElasticSearch版本,这里为6.2.2

ElasticSearch 6.2.2版本的下载地址为

https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.2.tar.gz

疯狂创客圈网盘,已经备好,可以直接下载

2:下载需要安装的Kibana版本,需要与ElasticSearch匹配

kibana是Elasticsearch官方提供的工具,但是在实际生产使用过程中, 可视化做的不足,没有elasticsearch-head全面。kibana官方地址为

https://www.elastic.co/cn/downloads/kibana/

疯狂创客圈网盘,已经备好,可以直接下载

3:下载IK分词器,作为中文分词器

在IK 分词器的github网页地址为:https://github.com/medcl/elasticsearch-analysis-ik。在这个网址上,找到与前面安装的ElasticSearch相互匹配的版本,这里这里版本为6.2.2,下载链接如下:

https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.2.2/elasticsearch-analysis-ik-6.2.2.zip

疯狂创客圈网盘,已经备好,可以直接下载

3 按照ElasticSearch

第1步: 将安装包上传到Linux,并且解压

上传到Linux服务器,创建JDK的安装目录,将jdk压缩包解压到创建的安装目录

mkdir -p  /usr/local/elasticsearch-6.2.2
tar -zxvf /usr/local/elasticsearch-6.2.2.tar.gz -C /usr/local/elasticsearch-6.2.2

为了方便后续的使用,和elasticsearch版本的升级,可以为elasticsearch建立一个统一的软连接 /usr/elasticsearch,命令如下:


ln -s /usr/local/elasticsearch-6.2.2/elasticsearch-6.2.2/ /usr/elasticsearch

第2步:建立用来存放elasticsearch数据目录、日志目录

建立用来存放elasticsearch数据存储目录,命令如下:

mkdir -p /home/elasticsearch/data
mkdir -p /home/elasticsearch/log

第3步:修改elasticsearch的配置文件

elasticsearch的配置文件为安装目录下的config/elasticsearch.yml,主要修改的选项为:节点名称、集群名称、日志目录、数据目录等等,修改后的配置文件如下:

vi  /usr/elasticsearch/config/elasticsearch.yml
#节点名称

cluster.name:  singlenode-cluster

#集群名称

node.name:  node-1

#数据目录

path.data:  /home/elasticsearch/data

#日志目录

path.logs:  /home/elasticsearch/log

#主机地址

network.host: 10.18.3.91
#下面配置为head插件配置,如果要用到head的话 http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers: "X-Requested-With,Content-Type,Content-Length,X-User"

第4步:为ElasticSearch创建专门的用户

注意elasticsearch默认是不支持使用root运行的,需要新建专门的用户,用户的名称为es,使用如下命令:

[root@localhost elasticsearch]#  useradd  es
为es设置密码,使用如下命令:
[root@localhost elasticsearch]# passwd es

密码的保密程度要求比较高,新的密码设置为:123!@#qwe

给es用户,授予安装目录、数据目录、日志的全部权限,使用的命令为:

chown -R  es:es  /usr/local/elasticsearch-6.2.2/
chown -R es:es /home/elasticsearch/data
chown -R es:es /home/elasticsearch/log

注意:在使用chown指令修改目录的owner时,需要对原始目录进行修改;如果对软连接进行修改,目录是无效的。

第5步: 更改linux的最大文件描述限制要求

修改 Linux下/etc/security/limits.conf文件设置

vim  /etc/security/limits.conf

更改linux的最大文件描述限制要求

添加或修改如下:

* soft nofile 262144
* hard nofile 262144
es soft memlock unlimited
es hard memlock unlimited

第6步:更改linux的的最大线程数

vi  /etc/security/limits.d/90-nproc.conf

更改linux的的最大线程数,添加或修改如下:


* soft nproc unlimited
root soft nproc unlimited

第7步:更改linux一个进行能拥有的最多的内存区域要求

更改linux一个进行能拥有的最多的内存区域要求,Linux下/etc/sysctl.conf文件设置

,添加或修改如下:

vi /etc/sysctl.conf


vm.max_map_count = 262144
vm.swappiness = 1

更改linux禁用swapping,:vm.swappiness = 1

第8步:启动elasticsearch

启动之前,请切换到es用户,命令如下:

su  es

/usr/elasticsearch/bin/elasticsearch

如果要后台启动elasticsearch,加上&符号即可,完整的命令为:

/usr/elasticsearch/bin/elasticsearch -d

Kibana的安装

Elasticsearch 的常用的工具大致有两个:一个是elasticsearch-head,另外一个是kibana。elasticsearch-head 是一个开源项目,官方地址为:

https://github.com/mobz/elasticsearch-head

kibana是Elasticsearch官方提供的工具,虽然图形化的用户操作没有elasticsearch-head全面。但是在实际生产使用过程中,使用也是很多的。

kibana是Elasticsearch官方提供的工具,但是在实际生产使用过程中, 可视化做的不足,没有elasticsearch-head全面。kibana官方地址为

https://www.elastic.co/cn/downloads/kibana/

第1步: 上传与解压

将安装包上传到Linux服务器,创建kibana的安装目录,将kibana压缩包解压到安装目录

mkdir -p  /usr/local/kibana
tar -zxvf /usr/local/kibana-6.2.2-linux-x86_64.tar.gz -C /usr/local/kibana

为了方便后续的使用,和kibana版本的升级,可以为kibana建立一个统一的软连接 /usr/kibana,命令如下:

ln -s /usr/local/kibana/kibana-6.2.2-linux-x86_64  /usr/kibana

第2步:启动配置

修改kibana更目录下config/kibana.yml 配置文件,配置kibana需要监控的ElasticSearch服务器,和kibana服务所在的机器。配置的内容如下:

vi /usr/kibana/config/kibana.yml

elasticsearch.url: "http://172.18.7.49:9200"      # kibana监控哪台es机器
server.host: "172.18.7.49" # kibana运行在哪台机器

第3步:运行和访问

启动kibana,运行使用下面的命令:

/usr/kibana/bin/kibana

[root@localhost ~]#  /usr/kibana/bin/kibana
log [00:48:50.903] Status changed from uninitialized to green - Ready
log [00:48:51.005] Status changed from uninitialized to yellow - Waiting for Elasticsearch
log [00:48:51.030] Status changed from uninitialized to green - Ready
log [00:48:51.296] Status changed from uninitialized to green - Ready
log [00:48:51.303] Status changed from uninitialized to green - Ready
log [00:48:51.336] Server running at http://172.18.7.49:5601
log [00:48:51.511] Status changed from yellow to green - Ready

使用浏览器可以访问http://ip:5601 ,查看kibana的操作界面

第4步:不能访问排查

在kibana启动成功后,如果浏览器不能访问,有可能是linux 的防火墙进行了请求的拦截,在测试环境,可以关闭防火墙。

首先使用systemctl status firewalld 命令,查看防火墙的状态,执行命令如下:

[root@localhost ~]# systemctl status firewalld
firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since 四 2019-07-25 19:15:01 CST; 18h ago
Docs: man:firewalld(1)
Main PID: 634 (firewalld)
Memory: 220.0K
CGroup: /system.slice/firewalld.service
└─634 /usr/bin/python -Es /usr/sbin/firewalld --nofork –nopid

结果中的Active: active (running) ,表示防火墙正在运行,实验和测试环境,建议进行关闭。关闭防火墙的命令如下:

service firewalld stop

首先查看防火墙状态:

service iptables status

永久性生效,重启后不会复原

chkconfig iptables off

关闭:

即时生效,重启后复原

后台启动:

nohup  /usr/kibana/bin/kibana &

查看进程

netstat -anltp|grep 5601

IK分词器的安装

Elasticsearch默认情况下,只支持英文分词。默认情况下,Elasticsearch会将中文句子,分成一个一个的汉字。所以,需要给Elasticsearch安装中文分词器插件,这里选择的是IK分词器插件。

IK分词器有两种分词模式:ik_max_word和ik_smart模式。两种模式的区别,在于分词结果的颗粒度粗细不同:ik_max_word会将中文做最细粒度分词,而ik_smart会做最粗粒度的分词。比如,对于“中华人民共和国人民大会堂”一个字符串,在ik_max_word分词模式下,将被拆分为“中华人民共和国、中华人民、中华、华人、人民共和国、人民、共和国、大会堂、大会、会堂等词语。在ik_smart 模式下,该字符串将被拆分为中华人民共和国、人民大会堂等词语。

第1步: 将安装包上传到Linux,并且解压

将压缩包elasticsearch-analysis-ik-6.2.2.zip上传到/usr/local目录后,并且建立一个解压缩的目标目录。然后,将压缩包解压缩到目标目录。以上两步,所使用的命令如下:

mkdir -p /usr/local/elasticsearch-analysis-ik-6.2.2
unzip /usr/local/elasticsearch-analysis-ik-6.2.2.zip -d /usr/local/elasticsearch-analysis-ik-6.2.2

将elasticsearch-analysis-ik-6.2.2解压缩目录,复制到elasticsearch的插件目录plugins下,然后重启elasticsearch服务。

mv -fiv /usr/local/elasticsearch-analysis-ik-6.2.2/elasticsearch  /usr/elasticsearch/plugins

可以通过kibana工具,测试ik_max_word.

POST /_analyze
{
"text":"中华人民共和国人民大会堂",
"analyzer":"ik_max_word"
} {
"tokens" : [
{
"token" : "中华人民共和国",
"start_offset" : 0,
"end_offset" : 7,
"type" : "CN_WORD",
"position" : 0
},
{
"token" : "中华人民",
"start_offset" : 0,
"end_offset" : 4,
"type" : "CN_WORD",
"position" : 1
},
….(篇幅原因,省略了10以上的分词结果)
]
}

具体,请关注 Java 高并发研习社群博客园 总入口


最后,介绍一下疯狂创客圈:疯狂创客圈,一个Java 高并发研习社群博客园 总入口

疯狂创客圈,倾力推出:面试必备 + 面试必备 + 面试必备 的基础原理+实战 书籍 《Netty Zookeeper Redis 高并发实战


疯狂创客圈 Java 死磕系列

  • Java (Netty) 聊天程序【 亿级流量】实战 开源项目实战

ElasticSearch 安装, 带视频的更多相关文章

  1. Linux Zookeeper 安装, 带视频

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 面试必备+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并发 ...

  2. Eureka 入门,带视频

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 前言 Crazy ...

  3. springcloud Config 入门,带视频

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 前言 Crazy ...

  4. Zuul 详解,带视频

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 前言 Crazy ...

  5. Linux Redis 安装(带视频)

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并 ...

  6. Windows Redis 安装(带视频)

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并 ...

  7. RabbitMQ 离线安装(带视频)

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并 ...

  8. Nacos 安装(带视频)

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并 ...

  9. ElasticSearch安装和head插件安装

    本文主要介绍elasticsearch5.0安装及head插件安装.确保系统已经安装好jdk1.8以上,操作系统CentOS6以上. 一.elasticsearch安装配置 1.官网下载源码包 下载不 ...

随机推荐

  1. 【JavaEE】之MyBatis插入数据后获取自增主键

    很多时候,我们都需要在插入一条数据后回过头来获取到这条数据在数据表中的自增主键,便于后续操作.针对这个问题,有两种解决方案: 先插入,后查询.我们可以先插入一条数据,然后根据插入的数据的各个字段值,再 ...

  2. AutoCAD二次开发(2020版)--4,使用ARX向导创建编程模板(框架)--

    手动创建ObjectARX应用程序非常麻烦,在此步骤中,将介绍ObjectARX向导. 在这里,我们将使用ObjectARX向导创建我们的ObjectARX应用程序. 本节的程序的需求是,接收CAD用 ...

  3. 前后端vue和django配置

    django pip源更换 虚拟环境配置 目录和日志配置 数据库配置 用户模块自定义 异常,响应配置 xadmin vue vue基础配置 vue高级配置 vue this问题和样式配置

  4. MySQL双日志

    InnoDB引擎的redo log日志 解决什么问题? 我们每次更新数据如果都要直接写到硬盘存储的话,如果更新数据频繁的话,整个过程的Io成本和查找成本都会很高(比方说每次启动磁盘,平均的寻找数据时间 ...

  5. JS使用readAsDataURL读取图像文件

    JS使用readAsDataURL读取图像文件 FileReader对象的readAsDataURL方法可以将读取到的文件编码成Data URL.Data URL是一项特殊的技术,可以将资料(例如图片 ...

  6. 使用生成对抗网络(GAN)生成手写字

    先放结果 这是通过GAN迭代训练30W次,耗时3小时生成的手写字图片效果,大部分的还是能看出来是数字的. 实现原理 简单说下原理,生成对抗网络需要训练两个任务,一个叫生成器,一个叫判别器,如字面意思, ...

  7. 【Python成长之路】从零学GUI -- 制作智能聊天机器人

    [写在前面] 鹏哥:最近老惹小燕同学不开心,结果都没人陪我聊天了.哎,好无聊呀! 肥宅男:女朋友什么的最无聊了,还没我的图灵机器人好玩. 鹏哥:图灵?好巧,和我部门同名. [效果如下] [实现过程] ...

  8. 鲲鹏凌云,并行科技Paramon通过华为云鲲鹏云服务兼容性认证

    随着Cloud2.0时代到来,5G技术开始应用普及,超算云服务需求不断升级,业务多样性.数据多样性不断延伸.2019年7月,华为召开鲲鹏计算产业发展峰会,依托在联接领域坚实的基础,华为未来将着力打造智 ...

  9. Android 内存泄漏原因

    Android 手机给应用分配的堆内存通常是8 M 左右, 如果内存处理不当很容易造成 OOM (OutOfMemoryError),OOM 主要由于一下这些原因引起的: 1.  数据库 Cursor ...

  10. python笔记02

    day02笔记记录 一.今日摘要 循环.字符串格式化.运算符.编码.博客. 二.内容回顾 (一)计算机基础 计算机由硬件和软件组成.传统计算机的硬件一般有输入单元.输出单元,算数逻辑单元.控制单元及记 ...