1. 查看命令行输出信息
在启动 Elasticsearch 时,命令行窗口会输出一系列日志信息。若启动成功,日志里通常会有类似下面的信息:
plaintext
[2025-05-06T13:20:00,000][INFO ][o.e.n.Node ] [node_name] started
其中 [node_name]
是你的 Elasticsearch 节点名称,started
表明节点已成功启动。
2. 使用 curl
命令检查 HTTP 响应
你可以用 curl
命令向 Elasticsearch 的 HTTP 端口(默认是 9200)发送请求,若返回正确的 JSON 数据,就意味着 Elasticsearch 已经成功启动。在终端输入以下命令:
bash
curl http://localhost:9200
如果启动成功,会得到类似下面的响应:
json
javascript
{
"name" : "node_name",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "random_uuid",
"version" : {
"number" : "6.4.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "595516e",
"build_date" : "2018-08-17T23:18:47.308994Z",
"build_snapshot" : false,
"lucene_version" : "7.4.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
3. 检查进程状态
可以使用 ps
命令查看 Elasticsearch 进程是否正在运行。在终端输入以下命令:
bash
ps -ef | grep elasticsearch
如果 Elasticsearch 正在运行,会看到类似下面的输出:
plaintext
esuser 1234 1 9 13:20 ? 00:00:10 /usr/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 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Djava.io.tmpdir=/tmp/elasticsearch-1234567890 -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 -Des.cgroups.hierarchy.override= -Des.path.home=/data/es/elasticsearch -Des.path.conf=/data/es/elasticsearch/config -Des.distribution.flavor=default -Des.distribution.type=tar -cp /data/es/elasticsearch/lib/* org.elasticsearch.bootstrap.Elasticsearch
其中 esuser
是运行 Elasticsearch 的用户,1234
是进程 ID。