技术标签: 1024程序员节
注意我们的环境要求,jdk至少需要在1.8.0_73以上版本。
需要安装JDK环境。
Centos7下安装与卸载和安装JDK
Ubuntu20.04安装JDK
Elasticsearch提供了多种安装方式供我们选择,往往我们开始学习使用Elasticsearch的时候,都会选择使用.zip、.tar等解压缩的安装方式进行安装使用,方便快捷。但在生产环境部署中,通常需要将Elasticsearch作为服务器的系统服务,可以随系统启动而启动,这就需要用RPM。
根据自己是使用的习惯,创建安装工具的位置。
#创建tool文件夹和elasticsearch
cd /usr/local/
mkdir tool
cd tool
mkdir elasticsearch
cd elasticsearch
在创建的elasticsearch文件夹内下载Elasticsearch
版本根据自己的需求,下载方式根据自己的习惯。
官方稳定最新版:https://www.elastic.co/cn/downloads/elasticsearch
选择其他版本:https://www.elastic.co/cn/downloads/past-releases#elasticsearch
版本功能
basic版本也是开源版本,只要去注册了,就可以把开源版本变成basic,区别就是多了功能。
wget方式:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0.tar.gz
#解包
tar -xvf elasticsearch-7.4.0.tar.gz
#修改elasticsearch-7.4.0为elasticsearch,可以不操作,使用原始的文件名
mv elasticsearch-7.4.0 elasticsearch
vim config/elasticsearch.yml
//配置文件修改
network.host: 0.0.0.0 //主要是为了让外网访问
http.port: 9200 //设置es的端口
#创建elsearch用户组及elsearch用户
groupadd elsearch
useradd elsearch -g elsearch -p 123456
#更改elasticsearch文件夹及内部文件的所属用户及组为elsearch:elsearch
chown -R elsearch:elsearch /usr/local/tool/elasticsearch/elasticsearch-7.4.0
#进入es/bin包
cd elasticsearch-7.4.0/bin
#启动es
./elasticsearch &
[[email protected] ~]# curl 'http://localhost:9200/?pretty'
{
"name" : "node-1",
"cluster_name" : "vm-cluster",
"cluster_uuid" : "QCwy-1vTqQA",
"version" : {
"number" : "7.4.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "22e83e61a66e3f11ab9910",
"build_date" : "2019-09-27T08:36:48.569419Z",
"build_snapshot" : false,
"lucene_version" : "8.2.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
问题一:
如果使用root账户启动会报错:
这是因为我们当前的用户权限不够,但是es又不允许使用root启动,所以我们需要创建一个用户组。创建es用户.
问题二:
[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
用于弹性搜索过程的最大文件描述符[65535]太低,至少增加到[65536]
使用root用户打开如下文件:
vi /etc/security/limits.conf
编辑 /etc/security/limits.conf,追加以下内容;
#*代表所有用户,或者直接更换为已经创建的用户elsearch
* soft nofile 65536
* hard nofile 65536
此文件修改后需要重新登录用户,才会生效
2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
这是因为最大虚拟内存区域vm.max_map_count [65530]太低,至少增加到[262144]
vim /etc/sysctl.conf
编辑 /etc/sysctl.conf,追加以下内容:
vm.max_map_count=655360
保存后,执行:
sysctl -p
复制代码然后使用es用户启动Elasticsearch,这次可以成功启动了,如果需要后台启动的话,在启动命令后加&,如下所示:
./elasticsearch &
问题三:
[1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
默认发现设置不适合生产使用;必须配置[discovery.seed_hosts,discovery.seed_providers,cluster.initial_master_nodes]中的至少一个。
d
编辑配置文件
vi /usr/share/elasticsearch/config/elasticsearch.yml
cluster.name: "docker-cluster"
network.host: 0.0.0.0
# custom config
node.name: "node-1"
discovery.seed_hosts: ["127.0.0.1", "[::1]"]
cluster.initial_master_nodes: ["node-1"]
# 开启跨域访问支持,默认为false
http.cors.enabled: true
# 跨域访问允许的域名地址,(允许所有域名)以上使用正则
http.cors.allow-origin: /.*/
重点是 node.name 和 cluster.initial_master_nodes,其他的配置根据自己的需求。
常用命令:
#es后台启动
./elasticsearch -d
#查看集群健康
http://101.10.12.30:9201/_cat/health?v
获取节点列表
http://101.10.12.30:9201/_cat/nodes?v
查看集群属性
http://101.10.12.30:9201/_cat/indices?v
查看所有节点
http://101.10.12.30:9201/_nodes
在/etc/yum.repos.d/目录下,新建一个名为elasticsearch.repo的文件;若找不到该目录,则在/etc/zypp/repos.d/目录下新建。(这是系统基于RedHat的发行版和基于OpenSuSE的发行版的区别)
文件elasticsearch.repo的内容如下:
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
现在可以使用以下命令之一安装Elasticsearch:
yum install elasticsearch
dnf install elasticsearch
zypper install elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-x86_64.rpm
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
rpm --install elasticsearch-7.4.0.rpm
Elasticsearch安装后不会自动启动。如何启动和停止Elasticsearch取决于您的系统是使用SysV init还是 systemd(由较新的发行版使用)。你可以通过运行这个命令来判断哪个被使用:
ps -p 1
使用 SysV 启动 Elasticsearch
将Elasticsearch配置为在系统启动时自动启动,请运行以下命令:
sudo chkconfig --add elasticsearch
启动或停止
sudo -i service elasticsearch start
sudo -i service elasticsearch stop
使用 systemd 启动 Elasticsearch
将Elasticsearch配置为在系统启动时自动启动,请运行以下命令:
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
启动或停止
sudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service
四、检查Elasticsearch是否正在运行
curl -XGET 'localhost:9200/?pretty'
会得到以下的反馈,说明已经启动成功
{
“name” : “Cp8oag6”,
“cluster_name” : “elasticsearch”,
“cluster_uuid” : “AT69_T_DTp-1qgIJlatQqA”,
“version” : {
“number” : “6.1.2”,
“build_hash” : “f27399d”,
“build_date” : “2016-03-30T09:51:41.449Z”,
“build_snapshot” : false,
“lucene_version” : “7.1.0”,
“minimum_wire_compatibility_version” : >“1.2.3”,
“minimum_index_compatibility_version” : >“1.2.3”
},
“tagline” : “You Know, for Search”
}
如果Elasticsearch无法启动,则日志文件/var/log/elasticsearchelasticsearch.log/中会打印失败的原因。
我在安装过程中出现的一个错误是找不到JAVA_HOME的系统路径,RPM有一个系统配置文件(/etc/sysconfig/elasticsearch),它允许设置参数JAVA_HOME,通过设置正确的JAVA_HOME路径,重新启动Elasticsearch,问题就可以解决了。
文章目录文件及其逻辑结构顺序文件索引文件索引顺序文件直接文件和哈希文件目录的要求文件的物理结构(***)连续分配链接分配索引分配空闲空间管理空闲表法空闲链表法位视图法(***)成组链表法文件系统软件模型对象及其属性对对象操纵和管理的软件集合文件系统接口文件共享课本习题题目练习文件及其逻辑结构文件概念:由创建者所定义、具有文件名的一组相关元素的集合,可分为结构文件和无结构文件两种。文件逻辑结构概念:文件的逻辑结构是从用户观点出发所观察到的文件组织形式,是用户可以直接处理的数据及其结构,它独立于文件的物理
1.错误复现项目结构如下一开始,直接对生产者进行打包,但打包到一半出错2.正确办法从错误信息可以看出,是service的几个依赖包在本地仓库中没有找到,所以需要【按照依赖顺序】打jar包:service依赖于api,api依赖mapper,mapper依赖common,common依赖entity。所以打包顺序为:entitycommonmapperapiservicecenter-web(里面放置的是controller)3具体操作3.1.打entity的jar包先cle
一、在GDAL官网https://www.gdal.org/可以查看英文帮助。二、Main Page主页1.开头介绍了什么是GDAL(Geospatial Data Abstraction Library地理空间数据抽象库)以及GDAL源码各个版本的下载链接。2.User Oriented Documentation使用定向的文档:这里说的“定向”是指GDAL按照不同的需要为用户提...
第一反应那幢gtest之后我们安装apt-get install libgtest-dev之后建立了解的build文件夹之后编译sudo mkdir build && cd buildsudo cmake ..sudo make之后我们可以看到build文件夹下的lib当中就有了我们需要的.a文件我们将其拷贝到该去的位置cd libsudo cp libgtest*.a /usr/local/lib这样就完成了...
collections 是 Python 内建的一个集合模块,提供了许多有用的集合类。在这个实验我们会学习Collections模块。这个模块实现了一些很好的数据结构,它们能帮助你解决各种实际问题。>>> import collections这是如何导入这个模块,现在我们来看看其中的一些类。CounterCounter是一个有助于h...
一、Navicat Premium 12下载Navicat Premium 12是一套数据库开发管理工具,支持连接 MySQL、Oracle等多种数据库,可以快速轻松地创建、管理和维护数据库。Navicat Premium 12简体中文下载:下载蓝奏云下载:Navicat Premium 12.0.29简体中文64位Navicat Premium 12.0.29简体中...
行号栏太宽会挤占屏幕,进入setting设置取消gutter icons:新的行号栏:
DrawTools,用c#开发的一款小巧实用的绘图软件。此资源是其详细的源代码,采用C#2005开发,希望给大家提供参考!如果有爱好这方面的朋友可以加我好友,大家一起讨论 http://hi.csdn.net/link.php?url=http://shangdaoxi.download.csdn.net
<br />1、echo ac_cv_type_long_long=yes>mips-linux.cache;echo glib_cv_long_long_format=ll>>mips-linux.cache;echo glib_cv_stack_grows=no>>mips-linux.cache;echo glib_cv_uscore=no>>mips-linux.cache;echo ac_cv_func_posix_getpwuid_r=yes>>mips-linux.cache;echo ac_
(base) C:\Users\联想>PythonPython 3.8.8 (default, Apr 13 2021, 15:08:03) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32Type "help", "copyright", "credits" or "license" for more information.Failed calling sys.__interactivehook__Traceback (most.
有这样一道题:在一个图(如图所示)中,一共有四个点:1 2 3 4这四个点之间各有相连,且每条边都有自己的权值。现在小明在点1上,他想要到3去,请问最短路径是多少。很容易得到该图的邻接矩阵。我们建立一个二维数组a。a[i][j],i表示 起点,为行,j表示终点,为列。将相应的权值传入其中,如果从一个 点到另一个点不通,就认为其权值为无限例如(1-》2)为2,则a...
$ roscoreTraceback (most recent call last): File "/opt/ros/kinetic/bin/roscore", line 69, in <module> import roslaunch File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/__ini...