這裏使用yum方式安裝,前提是必須有網絡html
yum install java-1.8.0-openjdk
安裝完成,查看java版本java
[root@localhost ~]# java -version openjdk version "1.8.0_151" OpenJDK Runtime Environment (build 1.8.0_151-b12) OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
Elasticsearch的安裝很簡單,下載下來解壓便可,這裏使用wget下載,固然也可經過網頁下載 https://www.elastic.co/downlo... ,再拷貝。node
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.3.tar.gz
解壓到/usr/local/express
tar -zxvf elasticsearch-5.6.3.tar.gz -C /usr/local/
Elasticsearch 要求不能使用超級用戶root運行,因此咱們創建一個testuser帳號vim
# 建立testuser帳戶 adduser testuser # 修改密碼 passwd testuser
而後,給testuser用戶elasticsearch目錄的受權。瀏覽器
chown -R testuser /usr/local/elasticsearch-5.6.3/
切換至elasticsearch目錄,並以testuser用戶運行網絡
cd /usr/local/elasticsearch-5.6.3/ su testuser
運行elasticsearch,若是想後臺運行後面加 -dless
[testuser@localhost elasticsearch-5.6.3]$ ./bin/elasticsearch [2017-10-31T16:07:09,445][INFO ][o.e.n.Node ] [] initializing ... [2017-10-31T16:07:09,662][INFO ][o.e.e.NodeEnvironment ] [oDFU6c3] using [1] data paths, mounts [[/ (rootfs)]], net usable_space [45.4gb], net total_space [49.9gb], spins? [unknown], types [rootfs] [2017-10-31T16:07:09,662][INFO ][o.e.e.NodeEnvironment ] [oDFU6c3] heap size [1.9gb], compressed ordinary object pointers [true] [2017-10-31T16:07:09,663][INFO ][o.e.n.Node ] node name [oDFU6c3] derived from node ID [oDFU6c3UT6ORC2p0CKBeLA]; set [node.name] to override [2017-10-31T16:07:09,663][INFO ][o.e.n.Node ] version[5.6.3], pid[11484], build[1a2f265/2017-10-06T20:33:39.012Z], OS[Linux/3.10.0-514.26.2.el7.x86_64/amd64], JVM[Oracle Corporation/OpenJDK 64-Bit Server VM/1.8.0_151/25.151-b12] [2017-10-31T16:07:09,664][INFO ][o.e.n.Node ] JVM arguments [-Xms2g, -Xmx2g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -Djdk.io.permissionsUseCanonicalPath=true, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j.skipJansi=true, -XX:+HeapDumpOnOutOfMemoryError, -Des.path.home=/usr/local/elasticsearch-5.6.3] [2017-10-31T16:07:10,723][INFO ][o.e.p.PluginsService ] [oDFU6c3] loaded module [aggs-matrix-stats] [2017-10-31T16:07:10,724][INFO ][o.e.p.PluginsService ] [oDFU6c3] loaded module [ingest-common] [2017-10-31T16:07:10,724][INFO ][o.e.p.PluginsService ] [oDFU6c3] loaded module [lang-expression] [2017-10-31T16:07:10,724][INFO ][o.e.p.PluginsService ] [oDFU6c3] loaded module [lang-groovy] [2017-10-31T16:07:10,724][INFO ][o.e.p.PluginsService ] [oDFU6c3] loaded module [lang-mustache] [2017-10-31T16:07:10,724][INFO ][o.e.p.PluginsService ] [oDFU6c3] loaded module [lang-painless] [2017-10-31T16:07:10,724][INFO ][o.e.p.PluginsService ] [oDFU6c3] loaded module [parent-join] [2017-10-31T16:07:10,724][INFO ][o.e.p.PluginsService ] [oDFU6c3] loaded module [percolator] [2017-10-31T16:07:10,724][INFO ][o.e.p.PluginsService ] [oDFU6c3] loaded module [reindex] [2017-10-31T16:07:10,724][INFO ][o.e.p.PluginsService ] [oDFU6c3] loaded module [transport-netty3] [2017-10-31T16:07:10,724][INFO ][o.e.p.PluginsService ] [oDFU6c3] loaded module [transport-netty4] [2017-10-31T16:07:10,725][INFO ][o.e.p.PluginsService ] [oDFU6c3] no plugins loaded [2017-10-31T16:07:12,622][INFO ][o.e.d.DiscoveryModule ] [oDFU6c3] using discovery type [zen] [2017-10-31T16:07:13,133][INFO ][o.e.n.Node ] initialized [2017-10-31T16:07:13,133][INFO ][o.e.n.Node ] [oDFU6c3] starting ... [2017-10-31T16:07:13,306][INFO ][o.e.t.TransportService ] [oDFU6c3] publish_address {127.0.0.1:9300}, bound_addresses {[::1]:9300}, {127.0.0.1:9300} [2017-10-31T16:07:13,318][WARN ][o.e.b.BootstrapChecks ] [oDFU6c3] max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536] [2017-10-31T16:07:16,372][INFO ][o.e.c.s.ClusterService ] [oDFU6c3] new_master {oDFU6c3}{oDFU6c3UT6ORC2p0CKBeLA}{olaY-n5LTpCUpzrhU3joVw}{127.0.0.1}{127.0.0.1:9300}, reason: zen-disco-elected-as-master ([0] nodes joined) [2017-10-31T16:07:16,398][INFO ][o.e.h.n.Netty4HttpServerTransport] [oDFU6c3] publish_address {127.0.0.1:9200}, bound_addresses {[::1]:9200}, {127.0.0.1:9200} [2017-10-31T16:07:16,399][INFO ][o.e.n.Node ] [oDFU6c3] started [2017-10-31T16:07:17,242][INFO ][o.e.g.GatewayService ] [oDFU6c3] recovered [0] indices into cluster_state
若是沒有沒有error,就運行成功啦curl
新開一個終端,用curl訪問elasticsearch
[root@localhost ~]# curl 'http://localhost:9200/?pretty' { "name" : "oDFU6c3", "cluster_name" : "elasticsearch", "cluster_uuid" : "v2mGsAuuTsqIzzm8CZcW5w", "version" : { "number" : "5.6.3", "build_hash" : "1a2f265", "build_date" : "2017-10-06T20:33:39.012Z", "build_snapshot" : false, "lucene_version" : "6.6.1" }, "tagline" : "You Know, for Search" }
elasticsearch指定ip地址
編輯es的配置文件
[testuser@localhost elasticsearch-5.6.3]$ vim ./config/elasticsearch.yml
找到network.host: 一行,去除#號,修改成:
network.host: [_local_, 172.30.6.1]
172.30.6.1爲指定的ip地址,能夠是多個。
這樣就能夠在瀏覽器裏打開啦
http://172.30.6.1:9200/?pretty
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
max_map_count 的值是指一個進程最多可用於的內存映射區(memory map areas),在調用malloc會用到,由mmap/mprotect生成。
解決辦法:
切換到root用戶修改配置/etc/sysctl.conf
su root vim /etc/sysctl.conf
加入
vm.max_map_count=655360
而後使其生效
sysctl -p
[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
文件描述符過低
解決辦法:
切換到root用戶修改/etc/security/limits.conf
su root vim /etc/security/limits.conf
加入
* soft nofile 65536 * hard nofile 131072 * soft nproc 2048 * hard nproc 4096
使用supervisor啓動時,查看日誌仍然報下面的錯誤
[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
解決辦法:
切換到root用戶修改vim /etc/supervisord.d/elasticsearch.conf
[supervisord] minfds=65536 minprocs=32768 [program:es] process_name=%(program_name)s_%(process_num)02d directory=/usr/local/elasticsearch-5.6.3/ command=/usr/local/elasticsearch-5.6.3/bin/elasticsearch ;autostart=true autorestart=false user=testuser numprocs=1