ElasticSearch 说明
本章,我们主要以在 Windows 中对ElasticSearch 安装进行介绍!
这里我们下载的版本为7.17.4为例进行介绍。
下载 ElasticSearch 的地址为:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.4-windows-x86_64.zip
下载 Kibana 的地址为:https://artifacts.elastic.co/downloads/kibana/kibana-7.17.4-windows-x86_64.zip
更多历史版本请到https://www.elastic.co/cn/downloads/past-releases进行浏览下载:

新建目录D:\Net_Program\Net_ElasticSearch,将下载下来的 elasticsearch-7.17.4-windows-x86_64.zip 解压到该目录下。
因为新版的 ElasticSearch 已经弃用了 JAVA_HOME 环境变量,转而使用了 ES_JAVA_HOME 环境变量,并且在新版的安装包中已经提供了 Java 运行环境,因此我们需要增加 ES_JAVA_HOME 这个环境变量,不然在后续配置中可能会出现“warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME”的警告信息。
我们在系统变量中新建变量名为ES_JAVA_HOME,值为D:\Net_Program\Net_ElasticSearch\jdk的环境变量,如下图所示:

修改 D:\Net_Program\Net_ElasticSearch\bin 下的elasticsearch-env文件(注意是没有后缀的这个文件),注释掉关于 JAVA_HOME 相关的部分,目的就是让 ElasticSearch 使用自带的 ES_JAVA_HOME,如下图所示:


编辑D:\Net_Program\Net_ElasticSearch\config\elasticsearch.yml文件,在文件末尾增加如下配置:
#设置快照存储地址
path.repo: ["D:\\Net_Program\\Net_ElasticSearch\\backup"]
#数据存放路径(可不设置,默认就是如下地址)
path.data: D:/Net_Program/Net_ElasticSearch/datas
#日志存放路径
path.logs: D:/Net_Program/Net_ElasticSearch/logs
#节点名称
node.name: node-1
#节点列表
discovery.seed_hosts: ["192.168.3.200"]
#初始化时master节点的选举列表
cluster.initial_master_nodes: ["node-1"]
#集群名称
cluster.name: es-main
#对外提供服务的端口
http.port: 9200
#内部服务端口
transport.port: 9300
#启动地址,如果不配置,只能本地访问
network.host: 192.168.3.200
#跨域支持
http.cors.enabled: true
#跨域访问允许的域名地址
http.cors.allow-origin: "*"
如果你的服务器内存有限,则需要根据实际情况设置 ElasticSearch 的内存限制。
编辑 config 文件夹中的jvm.options文件,增加如下配置即可,此处我设置的是 4G 范围内。
特别说明:此步骤需要注意,建议最好根据服务器的内存情况进行设置,以免后期再来调整。同时此步骤需要在将 ElasticSearch 安装为服务前进行设置,否则安装服务后,即便是重启服务也不会生效。
#设置最小内存
-Xms4g
#设置最大内存
-Xmx4g

:::warning 注意
我们在设置-Xms和-Xmx属性的时候,一定要设置为相同的值,否则在启动服务的时候出现如下的错误,倒是启动 ElasticSearch 服务失败。
比如我们都可以设置为 4g,-Xms4g 和 -Xmx4g
[2022-10-19T09:47:57,423][INFO ][o.e.n.Node ] [node-1] initialized
[2022-10-19T09:47:57,423][INFO ][o.e.n.Node ] [node-1] starting ...
[2022-10-19T09:47:57,438][INFO ][o.e.x.s.c.f.PersistentCache] [node-1] persistent cache index loaded
[2022-10-19T09:47:57,438][INFO ][o.e.x.d.l.DeprecationIndexingComponent] [node-1] deprecation component started
[2022-10-19T09:47:57,660][INFO ][o.e.t.TransportService ] [node-1] publish_address {110.185.107.18:9300}, bound_addresses {110.185.107.18:9300}
[2022-10-19T09:47:57,973][INFO ][o.e.b.BootstrapChecks ] [node-1] bound or publishing to a non-loopback address, enforcing bootstrap checks
[2022-10-19T09:47:57,989][ERROR][o.e.b.Bootstrap ] [node-1] node validation exception
[1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
bootstrap check failure [1] of [1]: initial heap size [4294967296] not equal to maximum heap size [16106127360]; this can cause resize pauses
[2022-10-19T09:47:57,989][INFO ][o.e.n.Node ] [node-1] stopping ...
[2022-10-19T09:47:58,035][INFO ][o.e.n.Node ] [node-1] stopped
[2022-10-19T09:47:58,035][INFO ][o.e.n.Node ] [node-1] closing ...
[2022-10-19T09:47:58,051][INFO ][o.e.n.Node ] [node-1] closed
[2022-10-19T09:47:58,051][INFO ][o.e.x.m.p.NativeController] [node-1] Native controller process has stopped - no new native processes can be started
:::
以管理员身份运行 CMD 并定位到 ElasticSearch 的 bin 目录,执行如下命令,执行完后 Windows 服务中就多了一个显示名称为 Elasticsearch 7.17.4 (elasticsearch-service-x64)的服务,如下图所示:
elasticsearch-service.bat install


启动刚才安装的Elasticsearch 7.17.4 (elasticsearch-service-x64)服务。

在D:\Net_Program\Net_ElasticSearch目录下新建certs文件夹,用于存放生成的 CA 证书。

CMD 定位到 bin 目录,输入如下命令:
elasticsearch-certutil ca
接着输入 ca 证书输出地址和密码(如果设置了密码,请记住,下面会用到):
ca 证书地址:
D:\Net_Program\Net_ElasticSearch\certs\elastic-stack-ca.p12
ca 证书密码:
123456

输入如下命令:
elasticsearch-certutil cert --ca D:\Net_Program\Net_ElasticSearch\certs\elastic-stack-ca.p12
接着分别输入上一步生成 CA 证书的密码、此集群证书的输出地址和密码(如果设置了密码,请记住,下面会用到)
ca 证书密码:
123456
此集群证书的输出地址:
D:\Net_Program\Net_ElasticSearch\certs\elastic-certificates.p12
此集群证书的密码:
123456

分别输入如下命令:
elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
接着输入密码 123456(该密码为上面生成证书设置的密码)
elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password
接着输入密码 123456(该密码为上面生成证书设置的密码)

此时,SSL 证书生成完成,我们将 certs 文件夹拷贝到 config 下:

在 elasticsearch.yml 文件中增加如下配置:
#开启xpack
xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
#证书配置
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.client_authentication: required
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12
重启服务,以管理员身份运行 CMD 并定位到 ElasticSearch 的 bin 目录,执行如下命令,然后紧接着输入 y 确定,然后输入每个账户的密码和确认密码即可,如下图所示:
elasticsearch-setup-passwords interactive

此时我们在浏览器中访问http://192.168.3.200:9200/发现要求输入账户和密码,这是我们输入 elastic(账户)和 123456(密码,刚才设置的密码)即可访问成功。


到此,ElasticSearch 的安装就完成了!
将下载下来的kibana-7.17.4-windows-x86_64.zip解压到D:\Net_Program\Net_ElasticSearchKibana文件夹下
编辑 D:\Net_Program\Net_ElasticSearchKibana\config\kibana.yml 文件,在文件末尾增加如下配置:
单机模式:
#设置中文显示
i18n.locale: "zh-CN"
#设置访问用户
elasticsearch.username: "elastic"
#设置访问密码
elasticsearch.password: "123456"
#ElasticSearch连接地址
elasticsearch.hosts: ["http://192.168.3.200:9200"]
#IP访问地址和端口号
server.host: "192.168.3.200"
server.port: 5601
集群模式:
#设置中文显示
i18n.locale: "zh-CN"
#设置访问用户
elasticsearch.username: "elastic"
#设置访问密码
elasticsearch.password: "123456"
#ElasticSearch连接地址
elasticsearch.hosts: ["http://192.168.3.200:9200", "http://192.168.3.200:9201", "http://192.168.3.200:9202"]
#IP访问地址和端口号
server.host: "192.168.3.200"
server.port: 5601
注意:为了避免访问 Kibana 出现server.publicBaseUrl 缺失,在生产环境中运行时应配置。某些功能可能运行不正常。的提示,请在上述配置文件中增加如下的配置(具体可参考官网说明:https://www.elastic.co/guide/en/kibana/7.17/settings.html#server-publicBaseUrl):
server.publicBaseUrl: "http://192.168.3.200:5601/"
这里我们使用的是 NSSM 工具将 Kibana 安装为 Windows 服务。
在 nssm.exe 所在文件夹鼠标右键,选择“在此处打开 Powershell 窗口(s)”选项,如下图所示:

然后输入如下命令调出设置窗体
.\nssm install
在弹出的窗体中,Application 选项卡中设置各个参数值:
Path:选择 kibana.bat 所在的路径,如D:\Net_Program\Net_ElasticSearchKibana\bin\kibana.bat
Startup directory:选择 Path 后,Startup directory 选择会自动填充
Argument:为启动服务的参数,此处为空即可
Service name:服务名称,如ElasticSearch-KibanaService
设置完成后点击Install service按钮即完成,此时去查看系统服务有多了一个叫ElasticSearch-KibanaService的服务了


启动刚才安装的ElasticSearch-KibanaService服务, 浏览器中输入http://192.168.3.200:5601/进行访问,登录账号 elastic 和密码 123456,如下图所示:




我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po
我打算为ruby脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn
我有一个奇怪的问题:我在rvm上安装了rubyonrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(
我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs
我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e
我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search
我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121
由于fast-stemmer的问题,我很难安装我想要的任何rubygem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=
当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub