elasticsearch5.1.1 jdk8 linux centos7 全面安装教程

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: elasticsearch5.1.1 jdk8 linux centos7 全面安装教程

- 前提说明:


本人公司并没有使用elasticsearch,只是在网上看了许多帖子,和很多用人单位大数据方面的都有这些需求,个人所以选了elasticsearch开始学习!注意:该安装教程仅仅用于个人基础安装!


重要:es版本和jdk版本不同,安装有小的差异,各位小伙伴注意啦!


- 基础环境:


1. centos7 云服务器一台(我用的阿里云)

2. jdk环境变量已经配置完成(必须为jdk8,应为对应的es版本为5.1.1)

3. jdk安装参考资料1 http://www.centoscn.com/image-text/install/2014/0827/3585.html

4. jdk安装参考资料2 http://blog.csdn.net/u010800804/article/details/53037762


- 基础环境:


1. 在指定的目录下载elasticsearch


我的目录是 /alidata/server/dev/es5.1.1


执行下载命令 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.1.1.tar.gz
下载完成后执行解压命令 tar -zxf elasticsearch-5.1.1.tar.gz

2.在指定目录进行启动


我的目录 /alidata/server/dev/es5.1.1/elasticsearch-5.1.1/bin
执行命令 ./elasticsearch

2 + 可能会报错


Memory: 4k page, physical 1882680k(761304k free), swap 0k(0k free)
vm_info: Java HotSpot(TM) 64-Bit Server VM (25.111-b14) for linux-amd64 JRE (1.8.0_111-b14), built on Sep 22 2016 16:14:03 by "java_re" with gcc 4.3.0 20080428 (Red Hat 4.3.0-8)
time: Wed Jan 11 17:13:51 2017
elapsed time: 0 seconds (0d 0h 0m 0s)
这是因为es默认配置了jdk的内存大小,因为我的是自己的服务器所以内存特别小
需要修改配置 我的目录是 /alidata/server/dev/es5.1.1/elasticsearch-5.1.1/config (修改jvm.options)
默认的内存是 -Xms2g  -Xmx4g
修改为合适的内存 我修改为  -Xms1g  -Xmx1g

2 ++ 然后再继续执行第二步 ,可能会报错


[2017-01-12T10:50:36,371][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-5.1.1.jar:5.1.1]
    at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-5.1.1.jar:5.1.1]
    at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) ~[elasticsearch-5.1.1.jar:5.1.1]
    at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:96) ~[elasticsearch-5.1.1.jar:5.1.1]
    at org.elasticsearch.cli.Command.main(Command.java:62) ~[elasticsearch-5.1.1.jar:5.1.1]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:89) ~[elasticsearch-5.1.1.jar:5.1.1]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:82) ~[elasticsearch-5.1.1.jar:5.1.1]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
    at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:100) ~[elasticsearch-5.1.1.jar:5.1.1]
    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:176) ~[elasticsearch-5.1.1.jar:5.1.1]
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:306) ~[elasticsearch-5.1.1.jar:5.1.1]
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:121) ~[elasticsearch-5.1.1.jar:5.1.1]
    ... 6 more
大概的意思就是 不能用root账户执行 ,需切换一个非root账户进行启动执行
如何开通非root权限用户执行,请亲百度吧!这里给个参考资料
http://blog.csdn.net/sunxx1986/article/details/6854307

用非root账户进行启动,可能会报错


ERROR: bootstrap checks failed
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
max number of threads [1024] for user [lishang] likely too low, increase to at least [2048]
解决:切换到root用户,编辑limits.conf 添加类似如下内容
vim /etc/security/limits.conf 
添加如下内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

用非root账户进行启动,可能会报错


max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
解决:切换到root用户修改配置sysctl.conf
vi /etc/sysctl.conf 
添加下面配置:
vm.max_map_count=655360
并执行命令:
sysctl -p

5.最后启动,发现启动成功


[2017-01-12T11:00:48,427][INFO ][o.e.n.Node               ] [] initializing ...
[2017-01-12T11:00:48,751][INFO ][o.e.e.NodeEnvironment    ] [K8LDTYN] using [1] data paths, mounts [[/ (rootfs)]], net usable_space [29.9gb], net total_space [39.2gb], spins? [unknown], types [rootfs]
[2017-01-12T11:00:48,753][INFO ][o.e.e.NodeEnvironment    ] [K8LDTYN] heap size [1015.6mb], compressed ordinary object pointers [true]
[2017-01-12T11:00:48,758][INFO ][o.e.n.Node               ] node name [K8LDTYN] derived from node ID [K8LDTYNFSZSaYhYeIdCywQ]; set [node.name] to override
[2017-01-12T11:00:48,761][INFO ][o.e.n.Node               ] version[5.1.1], pid[2050], build[5395e21/2016-12-06T12:36:15.409Z], OS[Linux/3.10.0-514.2.2.el7.x86_64/amd64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_111/25.111-b14]
[2017-01-12T11:00:52,391][INFO ][o.e.p.PluginsService     ] [K8LDTYN] loaded module [aggs-matrix-stats]
[2017-01-12T11:00:52,396][INFO ][o.e.p.PluginsService     ] [K8LDTYN] loaded module [ingest-common]
[2017-01-12T11:00:52,397][INFO ][o.e.p.PluginsService     ] [K8LDTYN] loaded module [lang-expression]
[2017-01-12T11:00:52,397][INFO ][o.e.p.PluginsService     ] [K8LDTYN] loaded module [lang-groovy]
[2017-01-12T11:00:52,397][INFO ][o.e.p.PluginsService     ] [K8LDTYN] loaded module [lang-mustache]
[2017-01-12T11:00:52,398][INFO ][o.e.p.PluginsService     ] [K8LDTYN] loaded module [lang-painless]
[2017-01-12T11:00:52,398][INFO ][o.e.p.PluginsService     ] [K8LDTYN] loaded module [percolator]
[2017-01-12T11:00:52,399][INFO ][o.e.p.PluginsService     ] [K8LDTYN] loaded module [reindex]
[2017-01-12T11:00:52,399][INFO ][o.e.p.PluginsService     ] [K8LDTYN] loaded module [transport-netty3]
[2017-01-12T11:00:52,400][INFO ][o.e.p.PluginsService     ] [K8LDTYN] loaded module [transport-netty4]
[2017-01-12T11:00:52,405][INFO ][o.e.p.PluginsService     ] [K8LDTYN] no plugins loaded
[2017-01-12T11:00:59,810][INFO ][o.e.n.Node               ] initialized
[2017-01-12T11:00:59,814][INFO ][o.e.n.Node               ] [K8LDTYN] starting ...
[2017-01-12T11:01:00,495][INFO ][o.e.t.TransportService   ] [K8LDTYN] publish_address {115.28.155.28:9300}, bound_addresses {0.0.0.0:9300}
[2017-01-12T11:01:00,511][INFO ][o.e.b.BootstrapCheck     ] [K8LDTYN] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
[2017-01-12T11:01:03,768][INFO ][o.e.c.s.ClusterService   ] [K8LDTYN] new_master {K8LDTYN}{K8LDTYNFSZSaYhYeIdCywQ}{enLHEaL8QdyisjbNBpkp0A}{115.28.155.28}{115.28.155.28:9300}, reason: zen-disco-elected-as-master ([0] nodes joined)
[2017-01-12T11:01:03,846][INFO ][o.e.h.HttpServer         ] [K8LDTYN] publish_address {115.28.155.28:9222}, bound_addresses {0.0.0.0:9222}
[2017-01-12T11:01:03,847][INFO ][o.e.n.Node               ] [K8LDTYN] started
[2017-01-12T11:01:03,874][INFO ][o.e.g.GatewayService     ] [K8LDTYN] recovered [0] indices into cluster_state

5 + 可能会发现个问题,外网访问不了的情况,内网可以访问


内网查看是否可以访问(我改了启动端口,默认为9200)


[root@iZ28m8q4tgvZ elasticsearch-head]# curl http://127.0.0.1:9222
{
  "name" : "K8LDTYN",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "2KDpZHX6RTyNpm08lq3Jqg",
  "version" : {
    "number" : "5.1.1",
    "build_hash" : "5395e21",
    "build_date" : "2016-12-06T12:36:15.409Z",
    "build_snapshot" : false,
    "lucene_version" : "6.3.0"
  },
  "tagline" : "You Know, for Search"
}
外网发现ip加端口不能访问
解决办法如下:
我的目录 /alidata/server/dev/es5.1.1/elasticsearch-5.1.1/config
修改 elasticsearch.yml
修改 network.host: 0.0.0.0

最后再次启动,发现成功,外网也能访问了….


- 总结:


上面都是我遇到的问题,和大家分享,当然如果大家遇到其他问题,可以和我讨论,我也在学习研究中!


沟通qq:2502499681(请说明原因)


相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
1月前
|
Ubuntu Linux Shell
Linux环境下VSCode快速安装终极指南:debian/ubuntu/linux平台通用
以上就是在Linux环境下安装VSCode的终极指南,抛开繁复的专业词汇,以平易近人的文字、形象生动的比喻让你轻松学会这一过程。别忘了,你的小伙伴VSCode已经在应用菜单里等你了!
287 23
|
3月前
|
Ubuntu 关系型数据库 Linux
Linux数据库安装
本文介绍了在CentOS 8.0和Ubuntu 22.04系统上安装、配置和启动MariaDB数据库服务器的详细步骤。包括通过`yum`和`apt`包管理器安装MariaDB服务,启动并检查服务运行状态,设置root用户密码以及连接数据库的基本操作。此外,还展示了如何在Ubuntu上更新软件包列表、安装依赖项,并验证MariaDB的版本和运行状态。通过这些步骤,用户可以成功部署并初始化MariaDB环境,为后续数据库管理与应用开发奠定基础。
164 61
|
2月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
205 41
|
2月前
|
人工智能 安全 Linux
Alpine Linux设定指定的软件包安装源
以上就是如何为Alpine Linux设置特定的软件包的安装源的全部流程。这个过程非常简洁、明了,希望你在使用过程中能够找到乐趣。这个过程不仅可以提供你需要的软件,还可以根据你的网络条件和地域性需求进行调整,使你的Alpine Linux系统达到最佳性能。
291 24
|
2月前
|
Linux 应用服务中间件 nginx
在CentOS上部署Minikube教程
至此,您已成功在CentOS上部署并使用Minikube。您可以自由探索Kubernetes的世界,熟练配置和管理Kubernetes集群。
187 20
|
2月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
269 17
|
21天前
|
关系型数据库 Linux 数据库
Linux系统安装Postgre和Postgis教程
本文详细介绍了PostgreSQL/PostGIS的卸载与安装步骤。卸载部分涵盖Docker、Yum/RPM及源码编译安装的清理方法,包括停止服务、删除容器/包、清理残留文件和环境变量等操作,并强调卸载前需备份数据库数据。安装部分提供在线yum安装和离线源码编译两种方式,前者简单快捷,后者需准备依赖(如gcc、readline-devel等)、创建用户组、初始化数据库及配置访问规则。每步均附带命令示例,确保操作清晰明确。
129 0
|
2月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
165 11
|
2月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
84 18
|
2月前
|
消息中间件 NoSQL Linux
Redis的基本介绍和安装方式(包括Linux和Windows版本),以及常用命令的演示
Redis(Remote Dictionary Server)是一个高性能的开源键值存储数据库。它支持字符串、列表、散列、集合等多种数据类型,具有持久化、发布/订阅等高级功能。由于其出色的性能和广泛的使用场景,Redis在应用程序中常作为高速缓存、消息队列等用途。
633 16