Windows下安装Elasticsearch教程

打印 上一主题 下一主题

主题 532|帖子 532|积分 1596

1.先容

Elasticsearch是由elastic公司开辟的一套搜索引擎技能,它是elastic技能栈中的一部分。完备的技能栈包括:


  • Elasticsearch:用于数据存储、计算和搜索
  • Logstash/Beats:用于数据收集
  • Kibana:用于数据可视化
整套技能栈被称为ELK,经常用来做日志收集、系统监控和状态分析等。
废话不多说,直接开始(本次示例接纳7.12.1的版本)。
2.官网下载Elasticsearch

elasticsearch官网下载所在
可以看到当前最新的版本是8.14.1,由于8以上版本的JavaAPI变化很大,在企业中应用并不广泛,企业中应用较多的照旧8以下的版本。

点击View past releases获取更多汗青稳固版本

点击对应的版本号,即可跳转至下载界面,在该界面可根据需求下载差别操纵系统的版本。

这里下载的是window版本

下载完成后解压到非中文目次下即可。

3.官网下载Kibana

kibana官网下载所在
因为都属于同一家公司的产品,所以kibana的下载方式和elasticsearch根本同等。

下载解压后可放在与elasticsearch同级目次下。

4.下载IK分词器

IK分词器下载所在
ik分词器的版本肯定要和elasticsearch保持同等

下载好之后,在elasticsearch目次的plugins目次中创建名为ik的文件夹,将下载好的ik分词器解压在创建的ik文件夹中。

至此,elasticsearch、kibana和ik分词器安装完成,接下来需要修改一下elasticsearch的配置文件。
5.修改elasticsearch配置文件

起首在elasticsearch的config目次下,打开elasticsearch.yml
  1. # es集群名称
  2. cluster.name: es-cluster
  3. # elasticsearch数据存放目录
  4. path.data: D:\software\elasticSearch\elasticsearch-7.12.1\data\data
  5. # elasticsearch日志存放目录
  6. path.logs: D:\software\elasticSearch\elasticsearch-7.12.1\data\logs
  7. # 服务启动地址
  8. network.host: 127.0.0.1
  9. # 监听端口号
  10. http.port: 9200
复制代码
其次在elasticsearch的bin目次下,修改elasticsearch配置文件
这里修改的目的是:大多数企业使用的是jdk1.8版本,而ES7.12.1使用的是jdk11版本,这里修改为ES使用内置的jdk,制止因为项目使用的jdk版本和ES使用的jdk版本差别等导致的一些问题。
  1. # 添加一下几行内容
  2. #使用ES内置的jdk
  3. export JAVA_HOME=D:\software\elasticSearch\elasticsearch-7.12.1\jdk\
  4. export PATH=$JAVA_HOME\bin:$PATH
  5. #添加jdk判断
  6. if [ -x "$JAVA_HOME\bin" ]; then
  7.         JAVA="D:\software\elasticSearch\elasticsearch-7.12.1\jdk\bin"
  8. else
  9.         JAVA=`which java`
  10. fi
复制代码
完备配置文件如下:
  1. #!/bin/bash
  2. # CONTROLLING STARTUP:
  3. #
  4. # This script relies on a few environment variables to determine startup
  5. # behavior, those variables are:
  6. #
  7. #   ES_PATH_CONF -- Path to config directory
  8. #   ES_JAVA_OPTS -- External Java Opts on top of the defaults set
  9. #
  10. # Optionally, exact memory values can be set using the `ES_JAVA_OPTS`. Example
  11. # values are "512m", and "10g".
  12. #
  13. #   ES_JAVA_OPTS="-Xms8g -Xmx8g" ./bin/elasticsearch
  14. #使用ES内置的jdk
  15. #---开始---
  16. export JAVA_HOME=D:\software\elasticSearch\elasticsearch-7.12.1\jdk\
  17. export PATH=$JAVA_HOME\bin:$PATH
  18. #---结束---
  19. source "`dirname "$0"`"/elasticsearch-env
  20. CHECK_KEYSTORE=true
  21. DAEMONIZE=false
  22. for option in "$@"; do
  23.   case "$option" in
  24.     -h|--help|-V|--version)
  25.       CHECK_KEYSTORE=false
  26.       ;;
  27.     -d|--daemonize)
  28.       DAEMONIZE=true
  29.       ;;
  30.   esac
  31. done
  32. if [ -z "$ES_TMPDIR" ]; then
  33.   ES_TMPDIR=`"$JAVA" "$XSHARE" -cp "$ES_CLASSPATH" org.elasticsearch.tools.launchers.TempDirectory`
  34. fi
  35. # get keystore password before setting java options to avoid
  36. # conflicting GC configurations for the keystore tools
  37. unset KEYSTORE_PASSWORD
  38. KEYSTORE_PASSWORD=
  39. if [[ $CHECK_KEYSTORE = true ]] \
  40.     && bin/elasticsearch-keystore has-passwd --silent
  41. then
  42.   if ! read -s -r -p "Elasticsearch keystore password: " KEYSTORE_PASSWORD ; then
  43.     echo "Failed to read keystore password on console" 1>&2
  44.     exit 1
  45.   fi
  46. fi
  47. # The JVM options parser produces the final JVM options to start Elasticsearch.
  48. # It does this by incorporating JVM options in the following way:
  49. #   - first, system JVM options are applied (these are hardcoded options in the
  50. #     parser)
  51. #   - second, JVM options are read from jvm.options and jvm.options.d/*.options
  52. #   - third, JVM options from ES_JAVA_OPTS are applied
  53. #   - fourth, ergonomic JVM options are applied
  54. ES_JAVA_OPTS=`export ES_TMPDIR; "$JAVA" "$XSHARE" -cp "$ES_CLASSPATH" org.elasticsearch.tools.launchers.JvmOptionsParser "$ES_PATH_CONF" "$ES_HOME/plugins"`
  55. #添加jdk判断
  56. #---开始---
  57. if [ -x "$JAVA_HOME\bin" ]; then
  58.         JAVA="D:\software\elasticSearch\elasticsearch-7.12.1\jdk\bin"
  59. else
  60.         JAVA=`which java`
  61. fi
  62. #---结束---
  63. # manual parsing to find out, if process should be detached
  64. if [[ $DAEMONIZE = false ]]; then
  65.   exec \
  66.     "$JAVA" \
  67.     "$XSHARE" \
  68.     $ES_JAVA_OPTS \
  69.     -Des.path.home="$ES_HOME" \
  70.     -Des.path.conf="$ES_PATH_CONF" \
  71.     -Des.distribution.flavor="$ES_DISTRIBUTION_FLAVOR" \
  72.     -Des.distribution.type="$ES_DISTRIBUTION_TYPE" \
  73.     -Des.bundled_jdk="$ES_BUNDLED_JDK" \
  74.     -cp "$ES_CLASSPATH" \
  75.     org.elasticsearch.bootstrap.Elasticsearch \
  76.     "$@" <<<"$KEYSTORE_PASSWORD"
  77. else
  78.   exec \
  79.     "$JAVA" \
  80.     "$XSHARE" \
  81.     $ES_JAVA_OPTS \
  82.     -Des.path.home="$ES_HOME" \
  83.     -Des.path.conf="$ES_PATH_CONF" \
  84.     -Des.distribution.flavor="$ES_DISTRIBUTION_FLAVOR" \
  85.     -Des.distribution.type="$ES_DISTRIBUTION_TYPE" \
  86.     -Des.bundled_jdk="$ES_BUNDLED_JDK" \
  87.     -cp "$ES_CLASSPATH" \
  88.     org.elasticsearch.bootstrap.Elasticsearch \
  89.     "$@" \
  90.     <<<"$KEYSTORE_PASSWORD" &
  91.   retval=$?
  92.   pid=$!
  93.   [ $retval -eq 0 ] || exit $retval
  94.   if [ ! -z "$ES_STARTUP_SLEEP_TIME" ]; then
  95.     sleep $ES_STARTUP_SLEEP_TIME
  96.   fi
  97.   if ! ps -p $pid > /dev/null ; then
  98.     exit 1
  99.   fi
  100.   exit 0
  101. fi
  102. exit $?
复制代码
 6.修改kibana配置文件

在kibana的安装目次的config目次下,修改kibana.yml配置文件
  1. # 监听端口号
  2. server.port: 5601
  3. # 服务启动地址
  4. server.host: "localhost"
  5. # es节点地址,可配置多个
  6. elasticsearch.hosts: ["http://localhost:9200"]
复制代码
6.启动elasticsearch

在elasticsearch安装目次的bin目次中,双击elasticsearch.bat。
可以看到启动过程中成功加载ik分词器插件。

 可以看到当前节点启动成功。

接下来访问elasticsearch。在浏览器输入http://localhost:9200,看到一下界面即可证明es启动成功。

7.启动Kibana

在kibana的按照目次下,找到bin目次,双击kibana.bat即可启动kibana服务。

 启动完成后,浏览器访问http://localhost:5601,看到一下界面即可证明启动成功。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

温锦文欧普厨电及净水器总代理

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表