文章目录
-
- [1. 安装docker](#1. 安装docker)
-
- [1.1. 两大要点](#1.1. 两大要点)
-
- [1.1.1. 安装启用hyper-v](#1.1.1. 安装启用hyper-v)
- [1.1.2. 下载安装docker](#1.1.2. 下载安装docker)
- [2. 在docker里面安装elasticSearch,kibana,cerebro](#2. 在docker里面安装elasticSearch,kibana,cerebro)
- [3. 安装logstash-将数据导入到elasticSearch](#3. 安装logstash-将数据导入到elasticSearch)
-
- [3.1 安装logstash](#3.1 安装logstash)
- [3.1.1 注意事项](#3.1.1 注意事项)
-
- [3.1.1.1. 等了很久,没有数据传输](#3.1.1.1. 等了很久,没有数据传输)
- [3.1.1.2. 需要安装java环境](#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,然后右键以管理员身份打开。然后输入以下命令:
bash
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
方法3 :使用Windows + R
快捷键打开「运行」对话框,输入cmd,然后按Ctrl + Shift + Ente
r以管理员权限打开「命令提示符」。输入以下命令:
bash
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,重启电脑
bash
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/
安装完,启动,注册,登录即可。
之后通过命令验证是否安装成功:
bash
# 首先拉取
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
输入以下内容:
bash
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
即可,然后就会开始安装。
然后开始验证安装是否成功:
bash
#在浏览器分别输入以下网址
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文件夹输入以下内容:
bash
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学习记录,希望大家能订阅我的专栏,我们一起学习!!!