文章

搭建es和scrapy

0 前言

本期目标:在树莓派上搭建搜索引擎。

1 搭建Scrapy框架

1.1 检查Python与Pip

您应该确保您的主机上已经安装了Python与Pip。其中,Pip的安装命令如下:

1
sudo apt install python3-pip

请自己适应版本。

1.1 Pip的换源工作

如果您觉得您当前使用的pip源下载速度可以的话,可以不用更改。

修改 ~/.pip/pip.conf (若没有改文件或目录,创建一个即可),改成以下内容(清华源):

1
2
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

1.1.1 没有目录的话……

请执行以下命令:

1
2
3
4
cd ~
mkdir .pip
cd .pip
nano pip.conf

然后进入nano,粘贴进上面的东西,最后Ctrl+OCtrl+X保存并退出即可。

image.png

1.2 安装scrapy-pip

1
pip install scrapy

然后等待安装好就行了。

image.png

1.3 安装scrapy-py

不知道为什么用pip安装之后不能使用scrapy。那么再用apt安装一次。

1
sudo apt install python3-scrapy

遇到提示框输入y再回车即可。这个安装会比pip慢很多,耐心稍微等一下。

1.4 验证安装

1
scrapy bench

image.png

如果输出类似下面图片所示的信息就说明安装成功了(它已经在爬取数据了)。

Ctrl+C 退出。

2 安装Java

整理自:https://mirrors.tuna.tsinghua.edu.cn/help/adoptium/

下面我们假设您使用的是Debian/Ubuntu系统。如果不是,那就请按照上面的链接里面的内容操作。

如果下面的内容出现了权限错误,请尝试使用sudo执行,或使用sudo -s切换到管理员模式。

2.1 安装依赖

1
apt-get update && apt-get install -y wget apt-transport-https

2.2 信任 GPG 公钥:

1
wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo tee /etc/apt/keyrings/adoptium.asc

2.3 随后执行以下命令来添加 apt 存储库

1
echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://mirrors.tuna.tsinghua.edu.cn/Adoptium/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | sudo tee /etc/apt/sources.list.d/adoptium.list

2.4 更新

1
sudo apt-get update

2.5 安装

我们需要使用的是JDK18

1
sudo apt-get install temurin-18-jdk

2.6 验证

1
java -version

输出:

image.png

安装成功。

3 Elasticsearch的安装

3.1 下载

首先进入官网https://www.elastic.co/cn/downloads/elasticsearch,下载合适的版本。

注意要下载的应该是一个压缩文件,不要下载安装包!

如笔者所选的 Linux arm64 架构:

image.png

右键复制下载地址,然后在服务器里执行:

1
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.3.3-linux-aarch64.tar.gz

其中,请把命令后面的一长串链接改成你复制来的链接。

然后解压(同样,请将文件名改成您下载来的文件名):

1
tar -zxvf elasticsearch-8.3.3-linux-aarch64.tar.gz

3.2 启动

切换目录:请将cd目录时的目录版本号改成适合您的:

1
2
cd elasticsearch-8.3.3/
./bin/elasticsearch

当出现这些信息的时候就是启动好了,此时应用会使用9200端口。如果需要,记得开放安全组。

image.png

请及时保存一下这些密钥数据!

3.2.1 可选配置-小贴士

  • 如果您想把 Elasticsearch 作为一个守护进程在后台运行,那么可以在后面添加参数 -d
1
./bin/elasticsearch -d
  • 您还可以使用最新版本的宝塔面板来守护Java进程。

3.3 验证

执行命令:

1
curl 'http://localhost:9200/?pretty'

如果出现这样的报错:

image.png

是因为ES8开启了ssl认证,我们需要把它关掉。

首先进入 /elasticsearch-8.3.3/config 目录,再修改 elasticsearch.yml 文件。

找到这里:

image.png

true 改成 false ,保存:

image.png

然后重新启动ElasticSearch。

再次执行上面的命令,你就能得到:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
  "name" : "localhost",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "KVhgIWuSQT-J1oUy8kMa5w",
  "version" : {
    "number" : "8.3.3",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "801fed82df74dbe537f89b71b098ccaff88d2c56",
    "build_date" : "2022-07-23T19:30:09.227964828Z",
    "build_snapshot" : false,
    "lucene_version" : "9.2.0",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

安装成功了。

本文由作者按照 CC BY 4.0 进行授权

© Dignite. 保留部分权利。 由  提供CDN加速。

浙ICP备2023032699号 | 使用 Jekyll 主题 Chirpy