教程对Elasticsearch 原生代码 以及 Python API 进行关联讲解
适合Elasticsearch 0基础想学习基础代码的选手
适合想使用Python API 操作Elasticsearch的选手
目录
3.2 ES+ Logstash 8.x 同步mysql配置
# 下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.1.2-linux-x86_64.tar.gz
# 解压缩
tar -zxvf elasticsearch-8.1.2-linux-x86_64.tar.gz
虚线内为非必要操作,但之后的操作会更具虚线内修改后的内容进行。(新手建议跟着做,大佬随意)
-------------------------------------------------------------start--------------------------------------------------------------
# 删除安装包(杀驴卸磨)
rm -rf elasticsearch-8.1.2-linux-x86_64.tar.gz
# 名太长改名
mv elasticsearch-8.1.2/ es
---------------------------------------------------------------end------------------------------------------------------------
创建用户(Elasticsearch不允许root用户直接运行)
# 添加新用户 es
useradd es
# 为新es用户设置密码 (密码推荐设为 es 方便记忆)
passwd es
# 设置权限 es(用户名):es(密码) es(文件夹)
chown -R es:es es
如果创建有问题可以使用一下代码删除创建好的用户
-------------------------------------------------------------start--------------------------------------------------------------
# 这行代码可以删除 es 用户不需要跟着做
userdel -r es
---------------------------------------------------------------end------------------------------------------------------------
# 打开配置文件
vim ./es/config/elasticsearch.yml
# 什么都不要动 把以下内容复制到文件最后(想知道什么意思可以百度一下)
network.host: 0.0.0.0
node.name: node1
http.port: 9200
cluster.initial_master_nodes: ["node1"]
http.cors.enabled: true
http.cors.allow-origin: '*'# 需要修改一行
找到这行配置:xpack.security.enabled: true
# 将后面的 true 换成 false
xpack.security.enabled: false
修改系统环境
# 进入文件
vim /etc/security/limits.conf
# 直接末尾添加限制
es soft nofile 65536
es hard nofile 65536
# 进入新文件
vim /etc/sysctl.conf
# 直接末尾添加
vm.max_map_count=655360
# 推出文件后重新加载
sysctl -p
如果前面都做对的了就可以启动Elasticsearch
# 切换用户
su es
# 启动服务
./es/bin/elasticsearch
不出意外的话应该是出意外了,原因是动态生成的日志影响到了es用户所以进行以下操作
# 切换回root
su root
# 输入密码时候密码是不显示的 输入完回车就好
# 给es用户再次设置权限
chown -R es:es es
# 切换到 es
su es
# 启动服务
./es/bin/elasticsearch
测试一下是否成功启动
在win系统打开浏览器访问http://ip:9200出现以下内容为成功。我删除了部分信息,每个人返回信息都不一样。
{ "name" : "node1", "cluster_name" : "elasticsearch", "cluster_uuid" : "", "version" : { "number" : "8.1.2", "build_flavor" : "default", "build_type" : "tar", "build_hash" : "", "build_date" : "", "build_snapshot" : false, "lucene_version" : "9.0.0", "minimum_wire_compatibility_version" : "7.17.0", "minimum_index_compatibility_version" : "7.0.0" }, "tagline" : "You Know, for Search" }
# 进入配置目录
cd /etc/init.d
# 编辑自启动脚本
vim es
脚本如下
#!/bin/bash
# chkconfig: 2345 10 90
# description: myservice ....case "$1" in
start)
su es<<!
cd /usr/local/es
./bin/elasticsearch -d
!
echo "elasticsearch startup"
;;
stop)
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
kill -9 $es_pid
echo "elasticsearch stopped"
;;
restart)
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
kill -9 $es_pid
echo "elasticsearch stopped"
su es<<!
cd /usr/local/es
./bin/elasticsearch -d
!
echo "elasticsearch startup"
;;
*)
echo "start|stop|restart"
;;
esacexit $?
最后的一点了
# 修改启动文件权限
chmod 777 es
# 添加到系统服务
chkconfig --add es
# 启动
service es start
# 关闭
service es stop
# 重启
service es restart
# 开机自启动
chkconfig es on
elasticsearch服务启动成功,我写这个的时候全程跟着进行了配置,我的服务器上跑成功了,大家如果elasticsearch有什么问题没有成功可以检查一下配置对不对。
# 我的下载目录是 /usr/local/kibana
wget https://artifacts.elastic.co/downloads/kibana/kibana-8.1.2-linux-x86_64.tar.gz
# 解压
tar -zxvf kibana-8.1.2-linux-x86_64.tar.gz
# 删除压缩包(个人习惯)
rm -rf kibana-8.1.2-linux-x86_64.tar.gz
# 改名为 kibana(个人习惯)
mv kibana-8.1.2/ kibana
# 进入文件夹方便做配置
cd kibana/
# 进入配置文件
vim config/kibana.yml
# 直接再末尾添加以下配置
# 服务器地址
server.host: "0.0.0.0"
# ES服务IP
elasticsearch.hosts: ["http://ip:9200/"]
# 设置中文
i18n.locale: "zh-CN"
# 退回到 local目录下
cd /usr/local
# 给es用户授权
chown -R es:es kibana
# 切换es用户
su es
# 如果目录和我一致输入如下启动命令 &表示后台启动
./kibana/kibana/bin/kibana &
win环境浏览器访问 http://ip:5601 就可以看到你的可视化管理工具了!
以上配置我全程跟配,没有问题,我的服务器上配置成功。加油凶帝们!
# 确认位置
cd /usr/local
# 下载
wget https://artifacts.elastic.co/downloads/logstash/logstash-8.1.2-linux-x86_64.tar.gz
# 解压
tar -zxvf logstash-8.1.2-linux-x86_64.tar.gz
# 删除安装包
rm -rf logstash-8.1.2-linux-x86_64.tar.gz
# 改名
mv logstash-8.1.2/ logstash
我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘
我正在尝试修改当前依赖于定义为activeresource的gem:s.add_dependency"activeresource","~>3.0"为了让gem与Rails4一起工作,我需要扩展依赖关系以与activeresource的版本3或4一起工作。我不想简单地添加以下内容,因为它可能会在以后引起问题:s.add_dependency"activeresource",">=3.0"有没有办法指定可接受版本的列表?~>3.0还是~>4.0? 最佳答案 根据thedocumentation,如果你想要3到4之间的所有版本,你可以这
我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie
如果我使用ruby版本2.5.1和Rails版本2.3.18会怎样?我有基于rails2.3.18和ruby1.9.2p320构建的rails应用程序,我只想升级ruby的版本,而不是rails,这可能吗?我必须面对哪些挑战? 最佳答案 GitHub维护apublicfork它有针对旧Rails版本的分支,有各种变化,它们一直在运行。有一段时间,他们在较新的Ruby版本上运行较旧的Rails版本,而不是最初支持的版本,因此您可能会发现一些关于需要向后移植的有用提示。不过,他们现在已经有几年没有使用2.3了,所以充其量只能让更
我安装了ruby版本管理器,并将RVM安装的ruby实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby。有没有办法让emacs像shell一样尊重ruby的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el
我可以在Azure网站上部署RubyonRails吗? 最佳答案 还没有。目前仅支持.NET和PHP。 关于ruby-on-rails-RubyonRails可以部署在Azure网站上吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12964010/
有人知道在发布新版本的Ruby和Rails时收到电子邮件的方法吗?他们有邮件列表,RubyonRails有一个推特,但我不想听到那些随之而来的喧嚣,我只想知道什么时候发布新版本,尤其是那些有安全修复的版本。 最佳答案 从therailsblog获取提要.http://weblog.rubyonrails.org/feed/atom.xml 关于ruby-on-rails-如何在发布新的Ruby或Rails版本时收到通知?,我们在StackOverflow上找到一个类似的问题:
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
前置步骤我们都操作完了,这篇开始介绍jenkins的集成。话不多说,看操作1、登录进入jenkins后会让你选择安装插件,选择第一个默认的就行。安装完成后设置账号密码,重新登录。2、配置JDK和Git都需要执行路径,所以需要先把执行路径找到,先进入服务器的docker容器,2.1JDK的路径root@69eef9ee86cf:/usr/bin#echo$JAVA_HOME/usr/local/openjdk-82.2Git的路径root@69eef9ee86cf:/#whichgit/usr/bin/git3、先配置JDK和Git。点击:ManageJenkins>>GlobalToolCon
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal