文章目录
- 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 + Ente
r以管理员权限打开「命令提示符」。输入以下命令:
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.3container_name: cerebroports:- "9000:9000"command:- -Dhosts.0.host=http://elasticsearch:9200networks:- es7netkibana:image: docker.elastic.co/kibana/kibana:7.1.0container_name: kibana7environment:- I18N_LOCALE=zh-CN- XPACK_GRAPH_ENABLED=true- TIMELION_ENABLED=true- XPACK_MONITORING_COLLECTION_ENABLED="true"ports:- "5601:5601"networks:- es7netelasticsearch:image: docker.elastic.co/elasticsearch/elasticsearch:7.1.0container_name: es7_01environment:- 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_02ulimits:memlock:soft: -1hard: -1volumes:- es7data1:/usr/share/elasticsearch/dataports:- 9200:9200networks:- es7netelasticsearch2:image: docker.elastic.co/elasticsearch/elasticsearch:7.1.0container_name: es7_02environment:- 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_02ulimits:memlock:soft: -1hard: -1volumes:- es7data2:/usr/share/elasticsearch/datanetworks:- es7netvolumes:es7data1:driver: locales7data2:driver: localnetworks: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学习记录,希望大家能订阅我的专栏,我们一起学习!!!