4.1.1 在Linux或者MacOS上安装ES

翻译地址:Install Elasticsearch from archive on Linux or MacOS | Elasticsearch Guide [8.1] | Elastic

ES作为一个.tar.gz文件对于Linux和MacOS是可用的。

这个包既包含免费的,也包括订购的产品。Start a 30-day trial 去尝试所有的产品特点。ES最新的稳定版本可以在这个页面Download Elasticsearch找到。其他的版本可以在Past Releases page找到。

注意:ES包含了一个来自JDK维护者(GPLv2+CE)OpenJDK 版本。去使用你自己的Java版本,看这个JVM version requirements

下载和安装Linux的归档文件

对于ES8.1.2的Linux归档文件可以像下面这样被下载和安装:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.1.2-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.1.2-linux-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-8.1.2-linux-x86_64.tar.gz.sha512 
tar -xzf elasticsearch-8.1.2-linux-x86_64.tar.gz
cd elasticsearch-8.1.2/ 

下载和安装MacOS的归档文件

对于ES的8.1.2版本的MacOS归档文件,可以像下面这样下载和安装:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.1.2-darwin-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.1.2-darwin-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-8.1.2-darwin-x86_64.tar.gz.sha512 
tar -xzf elasticsearch-8.1.2-darwin-x86_64.tar.gz
cd elasticsearch-8.1.2/ 

让系统索引可以自动创建

一些商业化的产品特点在ES内部可以自动创建。默认的,ES可以被配置为允许索引自动创建,另外没有额外的步骤被需要了,如果你已经停用了索引的自动创建,你必须在elasticsearch.yml文件中配置action.auto_create_index 去允许这个产品特点去创建下面的索引。

action.auto_create_index: .monitoring*,.watches,.triggered_watches,.watcher-history*,.ml*

重要:如果你正在使用Logstash或者Beats,然后你将会更有可能的在你的action.auto_create_index设置上需要额外的索引名称,并且这个明确的值将会依赖你的本地配置。如果对于你的环境你不确定明确的值,你可能考虑设置这个值为*,这个将会允许所有索引的自动创建。

通过命令行运行ES

运行下面的命令在命令行上启动ES。

./bin/elasticsearch

 当第一次启动ES的时候,安全特征默认的启用和配置。下面的安全配置会自动发生:

  • 身份认证和授权被启用了,对于这个内置的超级用户elastic生成了一个密码。
  • 对于TLS的证书和秘钥在传输层和HTTP层被生成了,并且TLS伴随着这些秘钥和证书被启用和配置了。
  • 对于Kibana,一个登记的token生成了,这个是30分钟有效。

对于elastic用户的密码,和对于Kibana的登记token被输出到了你的终端。例如:

The generated password for the elastic built-in superuser is:
<password>

The enrollment token for Kibana instances, valid for the next 30 minutes:
<enrollment-token>

The hex-encoded SHA-256 fingerprint of the generated HTTPS CA DER-encoded certificate:
<fingerprint>

You can complete the following actions at any time:
Reset the password of the elastic built-in superuser with
'bin/elasticsearch-reset-password -u elastic'.

Generate an enrollment token for Kibana instances with
'bin/elasticsearch-create-enrollment-token -s kibana'.

Generate an enrollment token for Elasticsearch nodes with
'bin/elasticsearch-create-enrollment-token -s node'.

如果你有一个密码保护的ES秘钥库,你将会被提示输入这个秘钥库的密码。看Secure settings 里面更多的细节。

默认的,ES打印它的日志到控制台(stdout),并且输出到logs directory的<cluster name>.log文件。当ES启动的时候,打印了一些日志信息,但是当它完成初始化之后,它将会继续运行在前台,并且不会打印更多的日志信息直到一些更值得记录的事情发生。当ES运行的时候,你可以通过HTTP接口进行交互,默认的是9200端口。

按Ctrl-C,可以停止ES服务。

注意:所有用ES打包的脚本需要一个支持排列的Bash的版本,并且假设这个Bash在这个/bin/bash目录下是可用的。同样的,Bash应该要么直接在这个目录下是可用的,要么通过一个负号链接。

在一个存在的集群中加入节点

当ES第一次启动的时候,这个安全的自动配置过程绑定到了HTTP层,既包括_site_,也包括_local_,但是只是绑定了这个传输层到_local_。这种设计的行为,可以确认你可以用默认的安全启用并且没有任何的额外配置去启动一个单独的节点集群。

在加入一个新的节点之前,额外的动作像绑定到一个除了localhost的一个地址或者让人满意的启动检查,这些在生产环境集群中是需要的。在那个时间期间,一个自动生成的登记token可以过期的,这就是为什么登记的token不会自动生成的原因。

另外,只有在相同的主机的节点不需要额外的配置可以加入到这个集群。如果你想让来自其他的主机的节点加入你的集群,你需要去设置transport.host为一个supported value 除了_local_(例如_site_),或者一个IP地址绑定到一个接口上,其他的主机可以访问到它。参照transport settings 得到更多的信息。

在你的集群要加入一个新的节点,你需要在你的集群中任意存在的节点上用elasticsearch-create-enrollment-token工具创建一个等级的token。然后你用--enrollment-token参数启动一个新的节点,以至于它就会加入到存在的集群中。

  1. 在一个正在运行的ES的一个单独的终端。到你安装ES的那个目录去运行这个 elasticsearch-create-enrollment-token工具,为你的新节点生成一个登记的token。
    bin/elasticsearch-create-enrollment-token -s node

    拷贝这个登记的token,你将会使用它加入新的节点到你的集群中。

  2. 从你的新的节点的安装目录,启动ES并且传送这个登记的token用这个--enrollment-token参数。
    bin/elasticsearch --enrollment-token <enrollment-token>

    ES将会自动的在下面的目录里生成证书和秘钥:

    config/certs
  3. 对于你想加入的任何的新的节点,重复前面的步骤。

检查ES启动

你可以测试你的ES是否启动,通过发送一个HTTPS请求到端口9200在localhost上:

curl --cacert $ES_PATH_CONF/config/certs/http_ca.crt -u elastic https://localhost:9200 

确定你正在使用https调用,否则这个请求将会失败。

--cacert,对于HTTP层生成的http_ca.crt证书的路径。

输入在安装期间生成的elastic用户的密码,然后应该返回像下面的一个响应:

{
  "name" : "Cp8oag6",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
  "version" : {
    "number" : "8.1.2",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "f27399d",
    "build_date" : "2016-03-30T09:51:41.449Z",
    "build_snapshot" : false,
    "lucene_version" : "9.0.0",
    "minimum_wire_compatibility_version" : "1.2.3",
    "minimum_index_compatibility_version" : "1.2.3"
  },
  "tagline" : "You Know, for Search"
}

 日志打印到stdout可以停用,通过在命令行上使用这个-q或者--quiet选项。

作为一个后台守护进程运行

去运行ES作为一个后台守护进程,在命令行上指定一个-d,并且使用-p选项在一个文件中记录这个进程ID:

./bin/elasticsearch -d -p pid

如果你有密码保护的秘钥库,你将会被提示输入这个秘钥库的密码。看 Secure settings 得到更多的信息。

日志信息可以在$ES_HOME/logs/ 目录被发现。

要想停止ES服务,在pid文件中杀掉这个记录的进程ID。

pkill -F pid

注意:这个ES的.tar.gz包没有包括systemd模块。去管理ES作为一个服务,使用 Debian 或者 RPM 代替。

在命令行上配置ES

ES默认的从$ES_HOME/config/elasticsearch.yml文件加载它的配置。这个配置文件的格式在 Configuring Elasticsearch有说明。 

任何设置都可以在配置文件被指定,也可以在命令行上指定。像下面使用这个-E 语法。

./bin/elasticsearch -d -Ecluster.name=my_cluster -Enode.name=node_1

提示:典型的,任何集群范围的设置(像cluster.name)应该被添加到elasticsearch.yml配置文件中,但是任何节点有关的设置,例如node.name,可以在命令行上指定。

链接客户端到ES

当你第一次启动ES的时候, 对于HTTP层,TLS被自动配置。一个CA证书被生成,它存储在磁盘目录$ES_HOME/config/certs/http_ca.crt。这个证书的hex-encoded SHA-256指纹也被输出到终端。任何一个连到ES的客户端,例如Elasticsearch Clients,Beats,独立运行的Elastic Agents和Logstash,必须确认他们信任这个ES用于HTTPS访问的证书。Fleet服务器和Fleet管理的Elastic Agents被自动的配置去信任这个CA证书。其他的客户端连接可以通过CA证书的指纹或者CA证书本身得到信任。

如果这个自动配置的进程已经完成了,你仍然可以获取这个安全证书的指纹。你也可以拷贝这个CA证书到你的机器上,并且配置你的客户端去使用它。

使用这个CA指纹

当ES启动的时候,拷贝那个输出到你终端的指纹值,并且配置你的客户端去使用这个指纹去建立信任,当它连接到ES的时候。

如果这个自动配置的进程已经完成了,你仍然可以获取这个安全证书的指纹通过运行下面的命令。这个路径对于HTTP层是会自动生成的CA证书。

openssl x509 -fingerprint -sha256 -in config/certs/http_ca.crt

这个命令返回这个安全证书,包括这个指纹。这个发行人应该为Elasticsearch security auto-configuration HTTP CA。

issuer= /CN=Elasticsearch security auto-configuration HTTP CA
SHA256 Fingerprint=<fingerprint>

使用这个CA证书

如果你的软件包不支持这个指纹的方法认证,这个自动生成的CA证书在每一个ES的节点上的$ES_HOME/config/certs/目录上被创建。拷贝http_ca.crt这个文件到你的机器,并且配置这个客户端去使用这个证书去建立连接到ES的信任。

文件目录布局

这个文件分布是完全独立的。所有的文件和目录默认在包含在$ES_HOME -- 当解压这个文件的时候这个目录被创建了。

这个是非常方便的,因为你不需要去创建任何的目录去开始使用ES,以及卸载ES就像移除$ES_HOME这个目录一样简单。然而,去改变这个配置目录,数据目录和日志目录的默认位置是明智的,以至于你后来不会删除重要的数据。

Type(类型)Description(描述)Default Location(默认位置)Setting(设置)
homeES根目录或者$ES_HOME通过解压归档文件,目录被创建
bin包括elasticsearch的二进制脚本去启动一个节点或者elasticsearch-plugin去安装插件$ES_HOME/bin
conf包括elasticsearch.yml的配置文件$ES_HOME/configES_PATH_CONF
conf对于传输层和HTTP层生成秘钥和证书$ES_HOME/config/certs
data每一个分配在节点上的索引/分片数据文件的位置$ES_HOME/datapath.data
logs日志文件位置$ES_HOME/logspath.logs
plugins插件文件位置。每一个插件都包含一个子目录。$ES_HOME/plugins
repo共享的文件系统仓库位置。可以保持多个位置。一个文件系统仓库可以被放置在任何指定的目录的任何子目录。未配置path.repo

安全证书和秘钥

当你安装ES的时候,下面的证书和秘钥在ES的配置目录被生成了,这个是用来去连接一个Kibana实例到你的安全的集群上,以及加密节点之间的回话。这些文件被列出来了作为引导:

http_ca.crt

这个CA证书是用来签名这个ES集群的HTTP层的证书。

http.p12

秘钥库包含了这个节点的HTTP层的秘钥和证书。

transport.p12

秘钥库包含了你的集群的所有节点的传输层的秘钥和证书。

http.p12和transport.p12是被PKCS#12密码保护的秘钥库。ES对于这些秘钥库存储了这些密码作为secure settings。去获取这个密码,以至于你可以检查或者改变这个秘钥库的内容,使用这个bin/elasticsearch-keystore 工具。

使用下面的命令去获取http.p12的密码:

bin/elasticsearch-keystore show xpack.security.http.ssl.keystore.secure_password

使用下面的命令去获取transport.p12的密码:

bin/elasticsearch-keystore show xpack.security.transport.ssl.keystore.secure_password

下一步

你现在有一个测试环境的ES安装了。在你开始重要的开发或者进入生产环境之前,你必须做一些额外的安装:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Ubuntu 上安装 OpenCV 4.1.1 非常简单,首先,打开终端,然后输入以下命令:sudo apt-get install libopencv - dev,这将安装最新的 OpenCV 版本。接下来输入:sudo apt - get install libopencv4.1,这将安装 OpenCV 4.1.1 版本。安装完成后,就可以在 Ubuntu 上使用 OpenCV 4.1.1 了。 ### 回答2: 在Ubuntu上安装OpenCV 4.1.1,你可以按照以下步骤进行操作: 1. 更新系统: 打开终端,运行以下命令来更新系统软件包: ``` sudo apt update sudo apt upgrade ``` 2. 安装依赖项: 运行以下命令来安装OpenCV所需的依赖项: ``` sudo apt install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt install python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev ``` 3. 下载OpenCV源代码: 运行以下命令来下载OpenCV 4.1.1源代码: ``` mkdir ~/opencv cd ~/opencv git clone https://github.com/opencv/opencv.git cd opencv git checkout 4.1.1 ``` 4. 编译和安装OpenCV: 运行以下命令来编译和安装OpenCV: ``` mkdir build cd build cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. make -j$(nproc) sudo make install ``` 5. 配置环境变量: 运行以下命令来配置OpenCV的环境变量: ``` echo 'export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.6/dist-packages' >> ~/.bashrc source ~/.bashrc ``` 6. 验证安装: 运行以下命令来验证OpenCV是否已成功安装: ``` python3 import cv2 print(cv2.__version__) ``` 如果输出的版本号为4.1.1,则表示OpenCV已成功安装在Ubuntu上。现在你可以使用OpenCV来进行图像处理和计算机视觉任务了。 ### 回答3: 在Ubuntu上安装OpenCV 4.1.1可以按照以下步骤进行: 1. 更新系统:在终端中运行下面的命令进行系统更新: ``` sudo apt update sudo apt upgrade ``` 2. 安装依赖库:为了编译和安装OpenCV,需要先安装一些依赖库,运行下面的命令进行安装: ``` sudo apt install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev ``` 3. 下载OpenCV源码:在终端中运行下面的命令下载OpenCV 4.1.1源码: ``` mkdir ~/opencv_build && cd ~/opencv_build git clone https://github.com/opencv/opencv.git cd opencv git checkout 4.1.1 ``` 4. 编译与安装:使用CMake配置编译选项,并进行编译和安装,运行下面的命令: ``` mkdir build && cd build cmake .. make -j$(nproc) sudo make install ``` 5. 配置库文件路径:为了让系统能够找到OpenCV库文件,需要进行库文件路径的配置,在终端中运行下面的命令: ``` echo '/usr/local/lib' | sudo tee --append /etc/ld.so.conf.d/opencv.conf sudo ldconfig ``` 6. 验证安装:为了确认OpenCV是否成功安装,可以在终端中运行下面的命令查看OpenCV版本信息: ``` pkg-config --modversion opencv4 ``` 如果能够看到OpenCV 4.1.1的版本号,表示OpenCV安装成功。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值