安装Logstash并导入Movielens测试数据集(基于elasticsearch-8.5.2版本)

这篇具有很好参考价值的文章主要介绍了安装Logstash并导入Movielens测试数据集(基于elasticsearch-8.5.2版本)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安装Logstash并导入Movielens测试数据集

0 安装前准备工作

0.1 安装包下载

组件 安装包 下载地址
Logstash logstash-8.5.2-linux-x86_64.tar.gz elastic官网:https://www.elastic.co/cn/downloads/past-releases#logstash elastic中文社区:https://elasticsearch.cn/download/
MovieLens 测试数据集 ml-latest-small.zip https://grouplens.org/datasets/movielens/

0.2 自定义部署标准

自定义部署标准 标准描述
es elasticsearch不允许使用root账号启动服务,如果你当前账号是root,则需要创建一个专有账户。本文档使用es作为专有用户。
/home/es/software 用于解压安装elasticsearch、java、kibana、logstash的软件安装包和相关配置文件。
/home/es/software/logstash logstash-8.5.2的软连接
/home/es/software/ml-latest-small 解压后的Movielens测试数据集

0.3 Movielens测试数据集介绍

安装Logstash并导入Movielens测试数据集(基于elasticsearch-8.5.2版本),Elasticsearch运维实践,搜索引擎,java,elasticsearch,集群

/home/es/software/ml-latest-small的目录结构如图上:

links.csv

文件中的字段数据格式为:movieId,imdbId,tmdbId

movieId: 每部电影的id

imdbId: 电影排行榜

genres: 电影类型

movies.csv

文件里包含了一部电影的id和标题,以及该电影的类别,里包含了一些电影来源的链接。

文件中的字段数据格式为:movieId, title, genres

movieId: 每部电影的id

title: 电影的标题

genres: 电影的类别

ratings.csv

文件里面的数据包含了每一个用户对于每一部电影的评分,数据排序的顺序按照userId和movieId排列的。

文件中的字段数据格式为:userId, movieId, rating, timestamp

userId: 每个用户的id

movieId: 每部电影的id

rating: 用户评分,是5星制,按半颗星的规模递增(0.5 stars - 5 stars)

timestamp:时间戳,自1970年1月1日零点后到用户提交评价的时间的秒数。

tags.csv

文件中的字段数据格式为:userId,movieId,tag,timestamp

userId: 每个用户的id

movieId: 每部电影的id

tag: 电影分类

timestamp:时间戳,自1970年1月1日零点后到用户提交评价的时间的秒数。

0.4 安装节点

本次安装复用es集群的中的192.168.168.1节点,所以新建用户、修改环境变量、安装jdk本次都不在意义叙述。如果需使用,请参考《Elasticsearch集群搭建手册及配置详情(基于elasticsearch-8.5.2版本)》文章。

IP node.name 安装组件
192.168.168.1 node-1 logstash和MovieLens 测试数据集

1 安装 Logstash

1.1 上传Logstash软件包和Movielens数据集

上传logstash软件包和Movielens数据到/home/es/software目录下

scp logstash-8.5.2-linux-x86_64.tar.gz $ip:/home/es/software

scp ml-latest-small.zip $ip:/home/es/software

解压软件包,为logstash创建软连接,并解压Movielens数据集

cd /home/es/software
tar -zxvf logstash-8.5.2-linux-x86_64.tar.gz
rm -f logstash-8.5.2-linux-x86_64.tar.gz
ln -s logstash-8.5.2 logstash

unzip ml-latest-small.zip
chown -R es:es /home/es

1.2 新建movies.csv数据集配置文件

切换到es用户下执行

su - es

cd /home/es/software/logstash/config/

logstash.conf文件重要配置项描述如下:

path: 为Movielens数据集movies.csv文件绝对路径

separator: 为movies.csv文件中的数据分割符

columns: 为movies.csv文件中数据的列名

**hosts: 填写es集群任意节点的curl地址。**默认localhost个别情况下可能无法识别,建议修改为es集群任意节点ip或域名。

index: 填写Movielens数据集的索引名称。movies索引名称可以随意改动

新建logstash.conf文件,在文件中追加如下配置。path和hosts需要修改为对应的配置项,其他配置项不需要做任何改动。

input {
  file {
    # 导入文件目录地址
    path => "/home/es/software/ml-latest-small/movies.csv"
    start_position => "beginning"
    sincedb_path => "nul"
  }
}
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 {
     # 连接elasticserach 并导入数据
     hosts => "http://192.168.168.1:9200"
     index => "movies"
     document_id => "%{id}"
   }
  stdout {}
}

1.3 启动 Logstash并导入movies.csv数据

切换到es用户下,启动Logstash并导入movies.csv数据

su - es

cd /home/es/software/logstash/bin/

./logstash -f /home/es/software/logstash/config/logstash.conf

如果数据导入成功,会打印如下格式的内容。反之,则证明数据导入失败,那就需要看具体的报错信息,重新启动Logstash并开始导入数据。

{
        "year" => 2018,
    "@version" => "1",
         "log" => {
        "file" => {
            "path" => "/home/es/software/ml-latest-small/movies.csv"
        }
    },
       "event" => {
        "original" => "193587,Bungo Stray Dogs: Dead Apple (2018),Action|Animation\r"
    },
       "genre" => [
        [0] "Action",
        [1] "Animation"
    ],
          "id" => "193587",
       "title" => "Bungo Stray Dogs: Dead Apple"
}
{
        "year" => 1991,
    "@version" => "1",
         "log" => {
        "file" => {
            "path" => "/home/es/software/ml-latest-small/movies.csv"
        }
    },
       "event" => {
        "original" => "193609,Andrew Dice Clay: Dice Rules (1991),Comedy\r"
    },
       "genre" => [
        [0] "Comedy"
    ],
          "id" => "193609",
       "title" => "Andrew Dice Clay: Dice Rules"
}

查看数据是否导入成功

#kibana页面可以使用如下命令查看集群中的索引
GET /_cat/indices?v

#或者在linux任意节点执行curl命令查看。前提任意节点与es节点网络互通。
curl -s -XGET http://192.168.168.1:9200/_cat/indices?v
health status index  uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   movies Ovg0Oyk5T2OosH0mqUhTSQ   1   1       9743            0      5.2mb          2.6mb

下图可以发现movies索引,证明数据导入成功。

安装Logstash并导入Movielens测试数据集(基于elasticsearch-8.5.2版本),Elasticsearch运维实践,搜索引擎,java,elasticsearch,集群

1.4 如果数据导入失败重启Logstash再次导入

导入失败的原因有很多,可能是logstash.conf文件的path和hosts配置错误,也有可能是文件的权限没有修改为es。这里为大家演示一遍导入第二个索引indextest的方法,以便用于演示重启Logstash再次导入数据的流程。

su - es
#1、将logstash.conf文件中的索引名称 movies 修改为 indextest
$ sed -i 's#"movies"#"indextest"#g' /home/es/software/logstash/config/logstash.conf

#2、验证索引名称是否修改成功
$ grep "index" ../config/logstash.conf
		index => "indextest"

#3、重启Logstash再次导入indextest索引数据
#3.1、jps命令查到Logstash的PID,此时Logstash的PID为21110
$ jps
21110 Logstash
12360 Elasticsearch
23199 Jps
#3.2、关闭Logstash进程。kill -9 PID
$ kill -9 21110
#3.3、将数据导入到indextest索引中
cd /home/es/software/logstash/bin/

./logstash -f /home/es/software/logstash/config/logstash.conf

此时可以看到indextest,证明重启Logstash再次导入成功。

安装Logstash并导入Movielens测试数据集(基于elasticsearch-8.5.2版本),Elasticsearch运维实践,搜索引擎,java,elasticsearch,集群文章来源地址https://www.toymoban.com/news/detail-553771.html

到了这里,关于安装Logstash并导入Movielens测试数据集(基于elasticsearch-8.5.2版本)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Docker安装ELK(Elasticsearch+Logstash+Kibana)+filebeat____基于CentOS7.9

    目录 一、安装JDK 二、部署Elasticsearch 三、部署kibana 四、部署Logstash 五、部署filebeat 六、filebeat采集数据,logstash过滤,在kibana中显示 七、kibana增加索引 1、更新系统 2、安装Java 下面是安装OpenJDK的命令: 3、验证安装 1、查看是否安装docker 安装最新版的docker可能导致部分系统不

    2024年02月04日
    浏览(36)
  • Spark Hive实现基于协同过滤的电影推荐(MovieLens数据集)

      这篇文章记录一下我之前做过的通过Spark与Hive实现的基于协调过滤的电影推荐。这篇文章只能提供算法、思路和过程记录,并没有完整的代码,仅尽量全面地记录过程细节方便参考。   数据集是从下面这个地址下载的,数据集主要内容是关于用户对电影的评分、评价等。免

    2024年02月10日
    浏览(32)
  • Linux 安装elasticsearch,kibana,Logstash

    需在云服务器安全组开放相应端口 输入服务器公网ip:9200 需在云服务器安全组开放5601 需在云服务器安全组开放相应端口4560

    2024年02月16日
    浏览(24)
  • docker安装elk(Elasticsearch+logstash+kibana)

    1. 安装Docker 如果您还没有安装Docker,请先安装Docker。您可以按照官方文档进行安装:https://docs.docker.com/engine/installation/ 安装 docker-ce [root@k8s-master ~]# yum install docker-ce -y [root@k8s-master ~]# systemctl start docker systemctl enable docker.service   配置 docker 镜像加速器和驱动 [root@k8s-master ~]#vi

    2024年01月20日
    浏览(38)
  • 通过logstash(6.8.6)将es(6.8.6)数据导入clickhouse

    编写logstash数据转换的配置文件 export-csv.yml 需要根据es中数据和导出的原始数据格式对应的clickhouse中字段类型对数据的要求在filter中对数据的处理 启动logstash, -f 指定配置文件不使用logstash默认配置文件路径 ./logstash-6.8.6/bin/logstash -f test.yml clickhouse中创建表, 字段类型需要注

    2024年02月13日
    浏览(31)
  • Logstash:迁移数据到 Elasticsearch

    在生产环境中,不使用 Apache Kafka 等流平台进行数据迁移并不是一个好的做法。 在这篇文章中,我们将详细探讨 Apache Kafka 和 Logstash 的关系。 但首先让我们简单了解一下 Apache Kafka 的含义。 Apache Kafka 是分布式流平台,擅长实时数据集成和消息传递。 Kafka 架构不复杂且直接。

    2024年02月02日
    浏览(31)
  • Docker 安装Elasticsearch、Kibana、Logstash(宝塔linux)

    ①拉镜像(版本7.17.1) docker pull elasticsearch:7.17.1 docker pull kibana:7.17.1 docker pull logstash:7.17.1 ②查看镜像 docker images 拉取成功! ③创建容器网络(docker network) docker network create elk_network ①启动ES ②复制容器镜像文件( 用于文件映射 )(注意这里要手动在elasticsearch下创建config文件夹

    2023年04月08日
    浏览(28)
  • Logstash:如何使用 Logstash 解析并摄入 JSON 数据到 Elasticsearch

    在我之前的文章 “Logstash:Data 转换,分析,提取,丰富及核心操作” 有涉及到这个话题。今天我想使用一个具体的例子来更深入地展示。   我们先来把如下的数据拷贝下来,并保存到一个叫做 sample.json 的文件中。我们可以把这个文件置于 Logstash 的安装根目录下。 sample.j

    2024年02月02日
    浏览(27)
  • bitnami Docker 安装ELK(elasticsearch, logstash, kibana)

    网上想找个用bitnami的ELK镜像安装ELK环境的,找了好半天没找到,于是自己尝试着安装了一套,分享给大家。 直接上干货: 安装Elasticsearch 用浏览器查看:http://localhost:9200, 应该可以看到ES安装成功 安装Logstash 这一步要点: 1、要把elk-es这个容器映射到logstash容器里面,里面的

    2024年02月04日
    浏览(33)
  • Docker安装elasticsearch、kibana和logstash,实现ELK

    目录 一、 安装elasticsearch 二、安装elasticsearch-head 三、安装?kibana 四、安装 logstash 五、安装filebeat 1.拉取镜像 2.新建elasticsearch.yml 3.运行容器 -p 9200:9200 -p 9300:9300 -e “ES_JAVA_OPTS=-Xms512m -Xmx512m” -v /home/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -e “discov

    2024年02月02日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包