Elasticsearch启动及问题解决

1、 Elasticsearch下载及启动

1.1、yum方式下载安装java

yum install java-java-1.8.0-openjdk.x86_64

配置JDK环境变量

vi /etc/profile

在文件最后添加:

#set java environment
JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH PATH

写好后按esc进入底部命令模式,输入:wq保存并退出
使配置文件生效

. /etc/profile (注意 . 之后应有一个空格)

1.2、安装es

命令:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.2-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.2-linux-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-7.4.2-linux-x86_64.tar.gz.sha512 
tar -xzf elasticsearch-7.4.2-linux-x86_64.tar.gz
mv elasticsearch-7.4.2 elasticsearch
cd elasticsearch/ 

如果提示shasum命令找不到就试试yum install perl-Digest-SHA 我运行后就好使了
中途提示 选y就好

1.3、启动es

启动命令:

进入es安装目录
bin/elasticsearch

访问浏览器loalhost:9200

2、Elasticsearch启动报错及问题解决

按照上面的步骤安装、访问浏览器9200端口,很多时候是访问不了,这时候需要查看es的日志。

进入es安装目录
tail  -f -n 100 logs/elasticsearch.log

2.1、不能以root用户运行

[2020-01-12T10:36:17,766][ERROR][o.e.b.Bootstrap          ] [hyan.com] Exception
java.lang.RuntimeException: can not run elasticsearch as root
    at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:105) ~[elasticsearch-7.4.2.jar:7.4.2]
    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:172) ~[elasticsearch-7.4.2.jar:7.4.2]
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:349) [elasticsearch-7.4.2.jar:7.4.2]
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) [elasticsearch-7.4.2.jar:7.4.2]
    at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) [elasticsearch-7.4.2.jar:7.4.2]
    at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) [elasticsearch-7.4.2.jar:7.4.2]
    at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:125) [elasticsearch-cli-7.4.2.jar:7.4.2]
    at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-cli-7.4.2.jar:7.4.2]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:115) [elasticsearch-7.4.2.jar:7.4.2]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) [elasticsearch-7.4.2.jar:7.4.2]

注:出于安全考虑,elasticsearch默认不允许以root账号运行。故需要创建一个用户
解决办法:
创建用户,切换到创建的用户,再运行。

[root@hyan elasticsearch]# su hyan
[hyan@hyan elasticsearch]# bin/elasticsearch

注:系统没有创建过普通用户,需要使用adduser命令先创建普通用户,再切换到普通用户,在重启es前需要使用kill把启动的进程杀掉。

2.2、文件权限不够

[4] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

这是切换自己创建的用户后运行时,因为不是root,所以文件权限不够。
解决办法:
先切换到root用户登录,然后修改配置文件:

[root@localhost bin]# vim /etc/security/limits.conf

配置文件中添加以下内容: (注意带*)

*   soft nofile 65536
*   hard nofile 131072
*   soft nproc 4096
*   hard nproc 4096

记得修改完,先切换到自己创建的用户,再运行elasticsearch

2.3、用户拥有的内存权限太小,至少least [262144]

[4] bootstrap checks failed
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决办法:
先切换到root用户下,然后执行修改配置文件
( 没有这个文件的话:root用户下vim会自动创建一个新的;自己创建的用户下,不额外配置的话,vim没有权限创建 )
所以说,先切换到root用户下

[root@localhost bin]$ su root
[root@localhost bin]$ vim /etc/sysctl.conf

文件中添加以下内容:

 vm.max_map_count=262144

然后执行命令:

sysctl ‐p

记得修改完,先切换到自己创建的用户,再运行elasticsearch

2.4、线程数不够

[4] bootstrap checks failed
[2]: max number of threads [1024] for user [leyou] is too low, increase to at least [4096]

先切换到root用户下,然后执行修改配置文件

[root@localhost bin]$ vim /etc/security/limits.d/20‐nproc.conf

修改文件中内容:

* soft nproc 1024

改为:

* soft nproc 4096

2.5、写入日志权限不足

2019-08-22 03:16:26,465 main ERROR RollingFileManager (/home/leyou/elasticsearch/logs/elasticsearch.log) java.io.FileNotFoundException: /home/leyou/elasticsearch/logs/elasticsearch.log (权限不够) java.io.FileNotFoundException: /home/leyou/elasticsearch/logs/elasticsearch.log (权限不够)

解决办法:

切换到root用户下,再cd 到 elasticsearch安装目录下,进行用户授权

命令:chown -R hyan:hyan elasticsearch
命令说明:chown [选项]… [所有者][:[组]] 文件…
[hyan@hyan elasticsearch]$ ll
total 282012
drwxr-xr-x. 10 hyan hyan      4096 Jan 11 22:18 elasticsearch
-rw-r--r--.  1 root root 288775500 Jan 11 22:07 elasticsearch-7.4.2-linux-x86_64.tar.gz

2.6、端口未开放

2.6.1、本地 curl localhost:9200 成功访问
其它机器通过ip无法访问
解决办法:

vim config/elasticsearch.yml 
network.host: 0.0.0.0 表示所有用户可访问 

开放防火墙9200端口

systemctl status firewalld
firewall-cmd --zone=public --add-port=9200/tcp --permanent 
firewall -cmd --reload
firewall-cmd --list-ports

2.6.2、bootstrap启动 报错,关键字 secComp
secComp,而elasticsearch5.2.0以上的版本默认bootstrap。system_call_filter为true进行检测,所以导致检测失败,失败后会导致es不能启动。

vim config/elasticsearch.yml 

文件中添加以下内容

bootstrap.memory_lock: false 
bootstrap.system_call_filter: false 

3、 重启es

第一步:通过命令:ps -ef|grep elasticsearch

[hyan@hyan elasticsearch]$ ps -ef|grep elasticsearch
hyan       2912   2853  0 11:33 pts/0    00:00:44 /usr/elasticsearch/elasticsearch/jdk/bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dio.netty.allocator.numDirectArenas=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Djava.io.tmpdir=/tmp/elasticsearch-4599923952265615373 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=data -XX:ErrorFile=logs/hs_err_pid%p.log -Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m -Djava.locale.providers=COMPAT -Dio.netty.allocator.type=unpooled -XX:MaxDirectMemorySize=536870912 -Des.path.home=/usr/elasticsearch/elasticsearch -Des.path.conf=/usr/elasticsearch/elasticsearch/config -Des.distribution.flavor=default -Des.distribution.type=tar -Des.bundled_jdk=true -cp /usr/elasticsearch/elasticsearch/lib/* org.elasticsearch.bootstrap.Elasticsearch
hyan       2998   2912  0 11:34 pts/0    00:00:00 /usr/elasticsearch/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
hyan       4380   4347  0 13:20 pts/1    00:00:00 grep --color=auto elasticsearch

第二步:通过命令: kill -9 进程号 关闭此进程。我的进程号为2912
第三步:重新启动es。命令:./elasticsearch -d


参考文档:https://blog.csdn.net/FansUnion/article/details/95963914
参考文档:https://blog.csdn.net/qq_41357211/article/details/100011139

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容