如何安装ElasticSearch及相关件

news2024/10/7 10:23:44

一、简介

ElasticSearch是什么?

elasticsearch简写es,es是一个高扩展、开源的全文检索和分析引擎,它可以准实时地快速存储、搜索、分析海量的数据。

ElasticSearch 插件

elasticsearch-head是一款专门针对于elasticsearch的客户端工具,elasticsearch-head是一个基于node.js的前端工程

IK分词器

ElasticSearch 默认采用的分词器, 是单个字分词 ,效果很差 ,所以我们需要安装一个更实用的分词器,这里采用 IK分词器

Kibana是什么?

是一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作。
你用Kibana来搜索,查看,并和存储在Elasticsearch索引中的数据进行交互。
可以轻松地执行高级数据分析,并且以各种图标、表格和地图的形式可视化数据。
Kibana使得理解大量数据变得很容易。它简单的、基于浏览器的界面使你能够快速创建和共享动态仪表板,实时显示Elasticsearch查询的变化。

二、安装ElasticSearch

操作2-6 均在root 账户下执行,操作7启动elasticsearch在sonar账户下运行

1、新创建普通用户

  elasticsearch不能用root账号启动,为了避免之后启动麻烦,直接创建一个用户建立一个文件夹

  •   在root账户下运行:adduser sonar

        [sudo] password for xx:
        输入xx用户的密码,出现如下信息
        正在添加用户"linuxidc"…
        正在添加新组"linuxidc" (1006)…
        正在添加新用户"linuxidc" (1006) 到组"linuxidc"…
        创建主目录"/home/linuxidc"…
        正在从"/etc/skel"复制文件…
        输入新的 UNIX 口令:
        重新输入新的 UNIX 口令:
        两次输入linuxidc的初始密码,出现的信息如下
        passwd: password updated successfully
        Changing the user information for linuxidc
        Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
        Full Name []:  等信息一路回车
        这个信息是否正确? [Y/n] y
        到此,用户添加成功。

  •   检查是否添加成功:ls /home/  下面是否有sonar账号

         

  •   如果elasticsearch文件目录放在root目录下,那还需要给root目录一个权限,但不推荐

          chmod 755 /root

2、新建tools目录并且从官网下载压缩包

        可以先从网上下载压缩包,然后上传到ubuntu系统当中

  •  创建tools 目录

         mkdir tools

  •  下载项目

         wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.3-linux-x86_64.tar.gz

3、解压zip

  •   tar -zxvf elasticsearch-7.16.3-linux-x86_64.tar.gz
  •   mv elasticsearch-7.16.3 elasticsearch

4、修改运行内存

  •   进入解压后的elasticsearch 文件中

         cd elasticsearch  (对应你的解压路径)

  •   修改配置文件

         vim /config/jvm.options

         修改如下内容,取消下面两行的注释,内存设置为2g

                -Xms2g
                -Xmx2g

        exit + :wq! 退出保存

5、修改外网访问权限       

  •  mkdir -p /home/sonar/elasticsearch/data
  •  mkdir -p /home/sonar/elasticsearch/data
  •  vim /config/elasticsearch.yml

        找到并取消下面行的注释,并修改

                path.data: /home/sonar/elasticsearch/data
                path.logs: /home/sonar/elasticsearch/logs
                network.host: 0.0.0.0
                node.name: node-1
                cluster.initial_master_nodes: ["node-1"]

        文件结尾添加:

                http.cors.enabled: true
                http.cors.allow-origin: "*"  

                备注:http.cors.enabled 该参数的意思:是否支持跨域,默认为false
                           http.cors.allow-origin 该参数意思:当设置允许跨域,默认为*,表示支持所有域                                 名,如果我们只是允许某些网站能访问,那么可以使用正则表达式。比如只允许                             本地地址。 /https?:\/\/localhost(:[0-9]+)?/

        exit + :wq! 退出保存

6、java 环境配置

  •  elasticsearch 7.0 之后的版本会集成相应的jdk版本

        

  •  修改elastic的启动脚本文件

        cd elasticsearch (对应你的解压路径)

        vim /bin/elasticsearch

               # 添加以下代码
                export JAVA_HOME= path/elasticsearch/jdk/   (此处配置为elasticsearch解压后jdk的路径,如上图写绝对路径)
                export PATH=$JAVA_HOME/bin:$PATH

                if [ -x "$JAVA_HOME/bin/java" ]; then
                        JAVA="/home/yutao/jdk1.8.0_121/bin/java"
                else
                        JAVA=`which java`
                fi

        exit + :wq! 退出保存

7、运行elasticsearch

        切换到sonar账号

        运行 ./elasticsearch  (后续没有报错,可以加上 -d 后台运行)

        发现有报错 (elasticsearch用户拥有的内存权限太小):    

                ERROR: [1] bootstrap checks failed. You must address the points described in the                 following [1] lines before starting Elasticsearch.

                bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count                 [65530] is too low, increase to at least [262144]

                ERROR: Elasticsearch did not exit normally - check the logs at                 /usr/share/elasticsearch/log/my-es.log

        解决方案:

                vim /etc/sysctl.conf      

                添加如下所示配置: vm.max_map_count=655360

                exit + :wq! 退出保存

                刷新配置: sysctl -p /etc/sysctl.conf/

                再次运行

8、检查是否运行成功

  •  可以查看后台进程:ps -ef | grep elastic
  •  访问网址:ip: 9200

        如果访问不到,需要关闭防火墙或添加端口号9200
        再次访问可以看到如下效果:

        

三、安装 es 插件Elasticsearch-head

1、下载插件

  •  wget https://codeload.github.com/mobz/elasticsearch-head/zip/master
  •  unzip master  

2、安装nodejs,npm,切换npm源, 安装grunt

  • sudo apt-get install nodejs
  • sudo apt-get install npm
  • npm config set registry https://registry.npm.taobao.org
  • npm install -g grunt-cli

3、设置head-master目录下Gruntfile.js文件

       在connect下增加:hostname: '*'

       在connect下修改:port改为9009

       

       改后

       

4、安装npm 依赖

        npm install phantomjs-prebuilt@2.1.16 --ignore-scripts

        npm install        

5、运行 

        执行命令:npm run start

        网页访问:ip:9009 (上图修改后的port)

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1659470.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Gitee 码云与Git 交互

优质博文:IT-BLOG-CN 一、进入码云官方网站,注册用户 码云(Gitee.com)是一个类似于GitHub的在线代码托管平台。 码云提供了包括版本控制、代码托管、协作开发和代码分享等功能,基于Git开发,支持代码在线查看、历史版本查看、Fo…

什么是分库分表?代表性框架有哪些?

在互联网系统开发过程中,所谓的分库分表并不是一个新概念。或者说,对于很多开发人员而言,说起分库分表,大家都或多或少有所了解,也都知道数据量大了就需要进行分库分表。但是究竟如何实现分库分表呢? 要想…

去哪个网站找视频素材?哪里有视频素材不侵权?

在这个视觉内容日益丰富的时代,掌握优质的视频素材资源成了每位创作者的必备技能。高清、4K视频素材在制作中扮演着至关重要的角色,它们不仅提升了视觉效果,更增强了观众的沉浸感。下面将为您介绍几个全球知名的视频素材网站。 1. 蛙学府 提…

企业内外网隔离后的文件传输解决方案

一、企业为什么要进行内外网隔离 在当今信息化快速发展的时代,企业内部网络的构建和管理显得尤为重要。为了更好地保护企业信息安全和提高工作效率,许多企业选择将网络划分为内网和外网。那么,企业划分内外网的作用具体体现在哪些方面呢&…

从古代故事中领悟高情商回话

页面 页面代码 <% layout(/layouts/default.html, {title: 故事管理, libs: [dataGrid]}){ %> <div class"main-content"><div class"box box-main"><div class"box-header"><div class"box-title">&l…

【Django项目】 通过AI实现视频转文字

使用Django构建一个视频—>文字 转换器&#xff1a; 输入视频地址&#xff0c;通过OpenAI的接口分析视频&#xff0c;返回视频内容的文字。 视频 代码 运行此程序&#xff0c;需要OpenAI-key和设置Postgres数据库。 &#xff08;吐槽一下&#xff0c;作者把这些信息都直接写…

vue路由知识补充(updating···)

1路由守卫中的next() next()方法表示放行&#xff0c;如果不执行此方法路由不会跳转&#xff0c;此方法可以接收一个参数 字符串路径&#xff1a;如果传递一个字符串路径&#xff0c;那么路由会重定向到该路径。 next(/home); 路由对象&#xff1a;如果传递一个路由对象&…

搜维尔科技:光学动作捕捉系统用于城市公共安全智慧感知实验室

用户名称&#xff1a;西安科技大学 主要产品&#xff1a;Optitrack Priime41 光学动作捕捉系统&#xff08;8头&#xff09; 在6米8米的空间内&#xff0c;通过8个Optitrack Priime41光学动作捕捉镜头&#xff0c;对人体动作进行捕捉&#xff0c;得到用户想要的人体三维空间坐…

安卓手机平板使用Termux+Hexo搭建本地博客站点并实现无公网IP远程访问

文章目录 前言1.安装 Hexo2.安装cpolar3.远程访问4.固定公网地址 前言 本文主要介绍如何在安卓手机平板Termux中安装个人hexo博客并结合cpolar内网穿透工具&#xff0c;实现远程访问本地搭建的博客站点&#xff0c;无需公网IP。 Hexo 是一个用 Nodejs 编写的快速、简洁且高效…

Linux的并发与竞争

文章目录 一、并发二、竞争三、保护内容是什么四、解决并发与竞争的几种常用方法1.原子操作原子整型API函数原子位操作 API 函数 2.自旋锁自旋锁格式如下&#xff1a;自旋锁 API 函数自旋锁的使用注意事项 3.信号量信号量 API 函数信号量格式如下&#xff1a; 4.互斥体API函数如…

面试算法之哈希专题

赎金信 class Solution { public:bool canConstruct(string ransomNote, string magazine) {// 小写字母int r_cnt[26];int m_cnt[26];for(int i 0; i< magazine.size(); i) {m_cnt[magazine[i]-a]; // 统计}// 对比for(int i 0; i< ransomNote.size(); i) {if(m_cnt[r…

Python-----容器的介绍以及操作

1.列表和元组 1.列表是什么, 元组是什么&#xff1a; 编程中, 经常需要使用变量, 来保存/表示数据. 如果代码中需要表示的数据个数比较少, 我们直接创建多个变量即可. 但是有的时候, 代码中需要表示的数据特别多, 甚至也不知道要表示多少个数据. 这个时候, 就需要用到列表 列表…

ChatGPT开源的whisper音频生成字幕

1、前言 好了&#xff0c;那接下来看一下whisper开源库的介绍 有五种模型大小&#xff0c;其中四种仅支持英语&#xff0c;提供速度和准确性的权衡。上面便是可用模型的名称、大致的内存需求和相对速度。如果是英文版的语音&#xff0c;直接想转换为英文。 本来我是想直接在我的…

数据库(MySQL)基础:约束

一、概述 1.概念&#xff1a;约束是作用于表中字段上的规则&#xff0c;用于限制存储在表中的数据。 2.目的&#xff1a;保证数据库中数据的正确、有效性和完整性。 3.分类 约束描述关键字非空约束限制该字段的数据不能为nullnot null唯一约束保证该字段的所有数据都是唯一…

粮油码垛机:自动化与智能化仓储的关键角色

在快速发展的现代化仓储物流领域&#xff0c;粮油码垛机正逐渐成为自动化与智能化仓储的关键角色。它以其高效、精准、节省人力的特点&#xff0c;赢得了众多粮油生产企业的青睐&#xff0c;成为仓储管理升级换代的明星产品。 一、粮油码垛机的技术革新 随着科技的发展&#…

欧洲杯/奥运会-云直播

欧洲杯/奥运会要来了&#xff0c;如何升级自己的网站让你的顾客都能观赏直播已提高用户量呢&#xff1f;&#xff01; 【功能完善、平滑兼容】 云直播支持 RTMP 推流、 HLS 源站等多种直播源接入方式&#xff0c;提供直播 SDK&#xff0c;支持多终端适配&#xff0c;上行码率…

DDD架构理论详解

文章目录 一、概念入门1. 概念简介2. DDD的核心理念3. 范式4. 模型5. 框架6. 方法论7. 软件设计的主要活动 二、DDD核心理论1. Domain领域层都包含什么&#xff1f;2. 聚合、实体和值对象3. 仓储&#xff0c;封装持久化数据4. 适配&#xff08;端口&#xff09;&#xff0c;调用…

音频系统模块级实验

加zkhengyang进数字音频系统研究开发交流答疑群(课题组) 1 购买ADC-I2S模块&#xff0c;购买I2S-DAC模块 进行音频系统搭建&#xff0c;可加深对i2s音频总线的理解 2 用电脑的音频输出进行实验

邊緣智能2024—AI開發者峰會(5月9日)數碼港即將啟幕

隨著 AI &#xff08;人工智能&#xff09;技術的飛速發展&#xff0c;我們正迎來邊緣計算智能化與分布式AI深度融合的新時代&#xff0c;共同演繹分布式智能創新應用的壯麗篇章。"邊緣智能2024 - AI開發者峰會"將聚焦於這一前沿領域&#xff0c;探討如何通過邊緣計算…

大模型LLM之SFT微调总结

一. SFT微调是什么 在大模型的加持下现有的语义理解系统的效果有一个质的飞跃&#xff1b;相对于之前的有监督的Pre-Train模型&#xff1b;大模型在某些特定的任务中碾压式的超过传统nlp效果&#xff1b;由于常见的大模型参数量巨大&#xff1b;在实际工作中很难直接对大模型训…