文章目录
- 1. 安装docker
- 1.1. 两大要点
- 1.1.1. 安装启用hyper-v
- 电脑不存在hyper-v的情况
 
- 1.1.2. 下载安装docker
 
 
- 2. 在docker里面安装elasticSearch,kibana,cerebro
- 3. 安装logstash-将数据导入到elasticSearch
- 3.1 安装logstash
- 3.1.1 注意事项
- 3.1.1.1. 等了很久,没有数据传输
- 3.1.1.2. 需要安装java环境
 
 
 
1. 安装docker
1.1. 两大要点
1.1.1. 安装启用hyper-v
方法1使用Windows + R快捷键打开「运行」对话框,执行OptionalFeatures打开「Windows 功能」对话框。然后勾选「Hyper-V」及所有子选项。
 
 方法2:使用Windows + R快捷键打开「运行」对话框,输入powershell,然后按Ctrl + Shift + Enter以管理员权限打开 Windows PowerShell,或者直接搜索Windows PowerShell,然后右键以管理员身份打开。然后输入以下命令:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
方法3:使用Windows + R快捷键打开「运行」对话框,输入cmd,然后按Ctrl + Shift + Enter以管理员权限打开「命令提示符」。输入以下命令:
DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V
安装成功之后重启电脑即可。
 
电脑不存在hyper-v的情况
Feature Name Microsoft-Hyper-V Is Unknown 0x800f080c Error
 参考链接:https://blog.csdn.net/chendi19881217/article/details/123331624
 主要是运行脚本:
- 将下面代码保存为hyper-v.cmd;
- 右键以管理员身份运行
- 然后等待安装即可
- 命令行执行完相关命令后输入 Y,重启电脑
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
剩下一种可能的解决方式为:youtube视频
 反正我通过这个方法没解决。
1.1.2. 下载安装docker
下载链接:https://docs.docker.com/desktop/install/windows-install/
 安装完,启动,注册,登录即可。
 之后通过命令验证是否安装成功:
# 首先拉取
docker pull hello-world
# 然后运行
docker run hello-world
如果运行命令的过程中出现这个错误:unauthorized: incorrect username or password,那只需要输入docker login即可,然后输入注册登录docker的用户名和密码即可。
到了这里,那么恭喜你成功安装好了docker。
2. 在docker里面安装elasticSearch,kibana,cerebro
在某一目录下面新建一个文件docker-compose.yaml
 输入以下内容:
version: '2.2'
services:
  cerebro:
    image: lmenezes/cerebro:0.8.3
    container_name: cerebro
    ports:
      - "9000:9000"
    command:
      - -Dhosts.0.host=http://elasticsearch:9200
    networks:
      - es7net
  kibana:
    image: docker.elastic.co/kibana/kibana:7.1.0
    container_name: kibana7
    environment:
      - I18N_LOCALE=zh-CN
      - XPACK_GRAPH_ENABLED=true
      - TIMELION_ENABLED=true
      - XPACK_MONITORING_COLLECTION_ENABLED="true"
    ports:
      - "5601:5601"
    networks:
      - es7net
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.1.0
    container_name: es7_01
    environment:
      - cluster.name=geektime
      - node.name=es7_01
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.seed_hosts=es7_01,es7_02
      - cluster.initial_master_nodes=es7_01,es7_02
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es7data1:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - es7net
  elasticsearch2:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.1.0
    container_name: es7_02
    environment:
      - cluster.name=geektime
      - node.name=es7_02
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.seed_hosts=es7_01,es7_02
      - cluster.initial_master_nodes=es7_01,es7_02
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es7data2:/usr/share/elasticsearch/data
    networks:
      - es7net
volumes:
  es7data1:
    driver: local
  es7data2:
    driver: local
networks:
  es7net:
    driver: bridge
kibana和es的版本要一致。
 然后以管理员的身份打开windows powershell,跳转到该docker-compose.yaml文件的目录下,然后运行docker-compose up即可,然后就会开始安装。
 然后开始验证安装是否成功:
#在浏览器分别输入以下网址
localhost:9200  #elasticSearch
localhost:9000  #cerebro
localhost:5601  #kibana

 
 
3. 安装logstash-将数据导入到elasticSearch
为了后续学习es,本次最后安装logstash,并且将一个数据集导入到es中。
 数据集链接:https://grouplens.org/datasets/movielens/
 本次只取出该数据集中的movies.csv文件用来以后的学习测试。
3.1 安装logstash
下载链接:https://www.elastic.co/cn/downloads/logstash
 需要注意的是,版本需要选择跟es和kibana一致的,也就是7.1.0
 
 下载安装之后,进入到bin目录
 
 然后将movies.csv放到该目录下,然后创建logstash.conf文件夹输入以下内容:
input {
  file {
    path => "E:/logstash/logstash-7.1.0/bin/movies.csv"
    start_position => "beginning"
    type => "elasticsearch" 
  }
}
filter {
  csv {
    separator => ","
    columns => ["id","content","genre"]
  }
  mutate {
    split => { "genre" => "|" }
    remove_field => ["path", "host","@timestamp","message"]
  }
  mutate {
    split => ["content", "("]
    add_field => { "title" => "%{[content][0]}"}
    add_field => { "year" => "%{[content][1]}"}
  }
  mutate {
    convert => {
      "year" => "integer"
    }
    strip => ["title"]
    remove_field => ["path", "host","@timestamp","message","content"]
  }
}
output {
   elasticsearch {
     hosts => "http://localhost:9200"
     index => "movies"
     document_id => "%{id}"
   }
  stdout {}
}
然后在下面红框的地方输入cmd
 
 然后运行:logstash -f logstash.conf 然后等待数据传输完成即可。会有数据传输的过程。
3.1.1 注意事项
3.1.1.1. 等了很久,没有数据传输
这个路径需要把\给换成/才行。
 
3.1.1.2. 需要安装java环境
安装参考链接:https://blog.csdn.net/qzy_yyds/article/details/136617351
因为oracle下载JDK很慢,并且还需要注册登录。所以我这里也提供了下载链接。
 JDK下载链接:https://developer.aliyun.com/article/858921
至此,elasticSearch前期的环境准备工作已经就绪!!!!后续我会继续更新我的es学习记录,希望大家能订阅我的专栏,我们一起学习!!!


![[进阶]面向对象之 包 final](https://i-blog.csdnimg.cn/direct/3ac679eb6f7b42bb85facecc009cdeaf.png)
















