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
{"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。