Linux安装elasticsearch7(1),软件测试高级工程师每日面试题精选

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
img

正文

logstash7.2 链接:百度网盘 请输入提取码 提取码:5h9u

elasticsearch-analysis-ik-7.2.0 中文分词 百度网盘 请输入提取码 提取码: 1234

head插件 链接: 百度网盘-链接不存在 提取码: 1234

elasticsearch7.2安装

**步骤1:**先确认JDK是安装了的(因为是java写的框架)

**步骤2:**新建文件夹,并上传压缩包到新建的文件夹(如我的是/opt/software/elasticsearch)

**步骤3:**解压

[root@192 elasticsearch]# tar -zxvf elasticsearch.tar.gz

进入bin

[root@192 JDK]# cd /opt/software/elasticsearch/elasticsearch-7.2.0/bin

运行以下启动命令(此时报错支持,elasticsearch5.0开始要求不能是root用户运行启动等命令,我是centos7.6配elasticsearch-7.2.0,一般报以下错,
centos6和elasticsearch低一点的版本会报很多错,你自己百度看着办,知道思路就行)

[root@192 bin]# ./elasticsearch

不好意思,真的报错了(比如:org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException:root)

**步骤4:**创建一个非root用户来解决这个问题

#创建用户组

[root@192 bin]# groupadd esgroup

#创建用户并设置密码

[root@192 bin]# useradd esuser -g esgroup -p espassword

#给esuser用户授权(对文件夹循环授权,命令不作过多阐述)不授权后面启动会报jvm.options授权异常(报错Exception in thread “main” java.nio.file.AccessDeniedException: /opt/software/elasticsearch/elasticsearch-7.2.0/config/jvm.options)

[root@192 bin]# chown -R esuser:esgroup /opt/software/elasticsearch/elasticsearch-7.2.0

#切换用户

[root@192 bin]# su esuser
[esuser@192 bin]$

启动es

[esuser@192 bin]$ ./elasticsearch

(有的小伙伴在这里报错了,报错如下,原因是在分配内存配置文件上)

Java HotSpot™ 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error=‘Cannot allocate memory’ (errno=12)

修改jvm.options配置(根据版本不一样和你的服务器配置差异,这里把它改成小一点的,比如256m即可,如果你的机器配置高,一般不会报错,不用修改也行,如果配置低设置合理就行了)

Xms represents the initial size of total heap space

Xmx represents the maximum size of total heap space

-Xms256m
-Xmx256m

看到以下标识这段话启动正常了
license [44e05c9c-2cb2-4e07-9cc4-627142e154b1] mode [basic] - valid

但是我们最好(新开窗口)访问一下(因为这是客户端启动),如果是云服务器 curl 内网ip:9200,虚拟机的话执行下面的

[root@192 ~]# curl 127.0.0.1:9200

如图

这样基本是就ok了,但是实际情况是要让外网(如本机的Windows能访问才行)

步骤5:

这个时候需要配置文件elasticsearch.yml发挥作用了,进入/opt/software/elasticsearch/elasticsearch-7.2.0/config,使用记事本等打开,在elasticsearch.yml中(去注释后保证代码顶格,这样才规范)

17行放开注释     cluster.name: my-application
23行放开注释     node.name: node-1
55行放开IP注释  network.host: 192.168.69.110  (注意这个IP是虚拟机的ip地址,如果是云服务器是内网IP地址,不是公网ip地址,不然会报错Caused by: java.net.BindException: 无法指定被请求的地址)
59行放开端口注释  http.port: 9200
72行下面添加(当然修改这行也行)   cluster.initial_master_nodes: [“node-1”]
其他暂时默认,再在对应的bin路径下执行启动

[esuser@192 bin]$ ./elasticsearch

纳尼,还在报错?(Linux环境默认分配资源不足以满足elasticsearch导致的,毕竟是大数据相关框架),比如报错如下

ERROR: [4] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max number of threads [3795] for user [esuser] is too low, increase to at least [4096]
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[4]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initia

步骤6:(切换为root用户才可以操作这些命令)

[esuser@192 bin]$ su root

进入以下路径/etc/security找到limits.conf进行编辑,在# End of file前(注意,不要以为是注释的就无所谓),*代表用户,esuser也行

  • soft nofile 65536
  • hard nofile 65536
  • soft nproc 4096
  • hard nproc 4096

使配置生效(执行以下命令后会有4个bash: elasticsearch: 未找到命令,忽略它)

[root@192 bin]# source /etc/security/limits.conf

编辑/etc/sysctl.conf,在文本最后添加

vm.max_map_count=655360
fs.file-max=655360

使配置生效

[root@192 bin]# sysctl -p

**步骤7:**切换为普通账户elasticsearch

[root@192 bin]# su esuser

**步骤8:**最后进入bin目录再次启动./elasticsearch(不推荐这种方式,推荐下面的2条命令启动方式)

注意:如果需要后台启动(Linux控制台看不到启动日志,但是可以在同一个窗口访问)执行命令后加 -d,如下

[esuser@192 bin]$ ./elasticsearch -d
或者在对应目录下打印日志,并且返回对应的进程号,方便你kill关闭
[esuser@localhost bin]$ nohup ./elasticserach &

可以在Windows浏览器测试(成功看见下面的json那么恭喜你),注意如果是root用户启动失败之后,切换为esuser再启动,貌似也可以访问,但是会影响kibana的链接,这里必须先关闭刚才root启动的进程,之后再用esuser重新启动.===>此时如果你的浏览器无法访问,可能是虚拟机9200端口没有开放

使用root用户执行linux命令

firewall-cmd --zone=public --add-port=9200/tcp --permanent

(–permanent永久生效,没有此参数重启后失效)

添加端口外部访问权限(这样外部才能访问)
firewall-cmd --add-port=9200/tcp

重新载入,添加端口后重新载入才能起作用

firewall-cmd --reload

这些之后,端口是开启成功的,如果没有成功,重启系统试试。

或者Linux(新开一个窗口测试)

关闭elasticsearch的话使用以下两种方式均可

暴力方式(kill的是第一排的进程号)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
用以下两种方式均可

暴力方式(kill的是第一排的进程号)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-p3SCm9GQ-1713332381456)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值