如何安装ElasticSearch及相关件

一、简介

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/logs
  •  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

        解决方案:

                sudo vim /etc/sysctl.conf      

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

                exit + :wq! 退出保存

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

                再次运行

8、检查是否运行成功

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

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

        

三、sonarqube 需要es自启动(systemctl 启动)

        1、新增elasticsearch.service 文件 

sudo vim /etc/systemd/system/elasticsearch.service

        2、文件内容是        

[Unit]
Description=Elasticsearch

[Service]
User=sonar
Group=sonar
Type=simple
WorkingDirectory=/home/sonar/tools/elasticsearch-7.16.3
ExecStart=/home/sonar/tools/elasticsearch-7.16.3/bin/elasticsearch
ExecStop=/home/sonar/tools/elasticsearch-7.16.3/bin/elasticsearch -p /home/sonar/tools/elasticsearch-7.16.3/elasticsearch.pid -X
TimeoutStopSec=0
RestartSec=5s
Restart=always
StandardOutput=syslog
StandardError=syslog

[Install]
WantedBy=multi-user.target

        注意:1、Service 下面的 User 和 Group 是 启动elasticsearch 的用户名和组名

                   2、/home/sonar/tools/elasticsearch-7.16.3 是解压后的es路径,要对应修改

        3、重新加载 systemd 配置

sudo systemctl daemon-reload

        4、启用并启动 Elasticsearch 服务

sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

        5、检查启动状态

sudo systemctl status elasticsearch

    

四、安装 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)

        

  • 18
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以按照以下步骤安装Elasticsearch和ik分词器: 1. 首先安装Docker和Docker Compose,可以参考官方文档进行安装。 2. 在本地创建一个文夹,例如命名为 `elasticsearch`。 3. 在 `elasticsearch` 文夹下新建一个 `docker-compose.yml` 文,写入以下内容: ``` version: '3.7' services: elasticsearch: image: elasticsearch:7.9.3 container_name: elasticsearch environment: - discovery.type=single-node - ES_JAVA_OPTS=-Xms512m -Xmx512m ports: - 9200:9200 - 9300:9300 volumes: - ./data:/usr/share/elasticsearch/data ``` 这里使用的是 Elasticsearch 7.9.3 版本,可以根据需要进行修改。 4. 在 `elasticsearch` 文夹下新建一个 `data` 文夹,用于存储 Elasticsearch 的数据。 5. 在 `elasticsearch` 文夹下新建一个 `Dockerfile` 文,写入以下内容: ``` FROM elasticsearch:7.9.3 RUN elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.9.3/elasticsearch-analysis-ik-7.9.3.zip ``` 这里使用的是 Elasticsearch 7.9.3 版本和 ik 分词器 7.9.3 版本,可以根据需要进行修改。 6. 在终端进入 `elasticsearch` 文夹,执行以下命令启动 Elasticsearch: ``` docker-compose up -d ``` 等待一段时间,可以通过访问 `http://localhost:9200/` 来验证 Elasticsearch 是否启动成功。 7. 如果需要在代码中使用 ik 分词器,需要在代码中添加以下依赖: ``` <dependency> <groupId>org.elasticsearch.plugin</groupId> <artifactId>analysis-ik</artifactId> <version>7.9.3</version> </dependency> ``` 然后在代码中使用 `IKAnalyzer` 来进行分词。 ``` Analyzer analyzer = new IKAnalyzer(); ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值