搭建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+O
,Ctrl+X
保存并退出即可。
1.2 安装scrapy-pip
1
pip install scrapy
然后等待安装好就行了。
1.3 安装scrapy-py
不知道为什么用pip安装之后不能使用scrapy。那么再用apt安装一次。
1
sudo apt install python3-scrapy
遇到提示框输入y
再回车即可。这个安装会比pip慢很多,耐心稍微等一下。
1.4 验证安装
1
scrapy bench
如果输出类似下面图片所示的信息就说明安装成功了(它已经在爬取数据了)。
按 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
输出:
安装成功。
3 Elasticsearch的安装
3.1 下载
首先进入官网https://www.elastic.co/cn/downloads/elasticsearch,下载合适的版本。
注意要下载的应该是一个压缩文件,不要下载安装包!
如笔者所选的 Linux arm64
架构:
右键复制下载地址,然后在服务器里执行:
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
端口。如果需要,记得开放安全组。
请及时保存一下这些密钥数据!
3.2.1 可选配置-小贴士
- 如果您想把 Elasticsearch 作为一个守护进程在后台运行,那么可以在后面添加参数
-d
:
1
./bin/elasticsearch -d
- 您还可以使用最新版本的宝塔面板来守护Java进程。
3.3 验证
执行命令:
1
curl 'http://localhost:9200/?pretty'
如果出现这样的报错:
是因为ES8开启了ssl认证,我们需要把它关掉。
首先进入 /elasticsearch-8.3.3/config
目录,再修改 elasticsearch.yml
文件。
找到这里:
将 true
改成 false
,保存:
然后重新启动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"
}
安装成功了。