您好,登錄后才能下訂單哦!
這篇文章主要介紹“Linux系統怎么安裝ES”,在日常操作中,相信很多人在Linux系統怎么安裝ES問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux系統怎么安裝ES”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
直接訪問es官網,
上傳到/home/software/
解壓壓縮包
tar -zxvf elasticsearch-7.5.1-linux-x86_64.tar.gz
移動解壓后的es文件夾
mv elasticsearch-7.5.1 /usr/local/
bin:可執行文件在里面,運行es的命令就在這個里面,包含了一些腳本文件等
config:配置文件目錄
JDK:java環境
lib:依賴的jar,類庫
logs:日志文件
modules:es相關的模塊
plugins:可以自己開發的插件
data:這個目錄沒有,自己新建一下,后面要用 -> mkdir data,這個作為索引目錄
修改集群名稱
修改當前的es節點名稱
修改data數據保存地址和日志數據保存地址
綁定es網絡ip
集群節點修改為之前的節點名稱
打開 jvm.options 文件 這里使用的是虛擬機
## JVM configuration ################################################################ ## IMPORTANT: JVM heap size ################################################################ ## ## You should always set the min and max JVM heap ## size to the same value. For example, to set ## the heap to 4 GB, set: ## ## -Xms4g ## -Xmx4g ## ## See https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html ## for more information ## ################################################################ # Xms represents the initial size of total heap space # Xmx represents the maximum size of total heap space # 修改這里的配置 -Xms128m -Xmx128m
ES不允許使用root操作es,需要添加用戶,操作如下:
useradd esuser chown -R esuser:esuser /usr/local/elasticsearch-7.5.1 su esuser
./elasticsearch 如果出現如下錯誤:
ERROR: [3] bootstrap checks failed [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535] [2]: max number of threads [3795] for user [esuser] is too low, increase to at least [4096] [3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
需要切換到root用戶修改配置
修改/etc/security/limits.conf 文件
增加下面內容
* soft nofile 65536 * hard nofile 131072 * soft nproc 2048 * hard nproc 4096
修改 /etc/sysctl.conf 增加 vm.max_map_count=262145
# sysctl settings are defined through files in # /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/. # # Vendors settings live in /usr/lib/sysctl.d/. # To override a whole file, create a new file with the same in # /etc/sysctl.d/ and put new settings there. To override # only specific settings, add a file with a lexically later # name in /etc/sysctl.d/ and put new settings there. # # For more information, see sysctl.conf(5) and sysctl.d(5). vm.max_map_count=262145
修改完后 sysctl -p 刷新一下
再次切換到esuser 進行啟動
運行 ./elasticsearch 看到運行結果
[2020-02-02T01:09:51,843][INFO ][o.e.h.AbstractHttpServerTransport] [es-node0] publish_address {192.168.247.8:9200}, bound_addresses {[::]:9200} [2020-02-02T01:09:51,844][INFO ][o.e.n.Node ] [es-node0] started [2020-02-02T01:09:52,199][INFO ][o.e.l.LicenseService ] [es-node0] license [9614ee2b-6350-4f99-ad43-5ec0d632f93c] mode [basic] - valid [2020-02-02T01:09:52,200][INFO ][o.e.x.s.s.SecurityStatusChangeListener] [es-node0] Active license is now [BASIC]; Security is disabled [2020-02-02T01:09:52,222][INFO ][o.e.g.GatewayService ] [es-node0] recovered [0] indices into cluster_state
訪問 192.168.247.8:9200 這里換成你的ip
訪問結果
{ "name": "es-node0", "cluster_name": "kevin-elasticsearch", "cluster_uuid": "sSzLTAt-SDiCbQ57WMPqlg", "version": { "number": "7.5.1", "build_flavor": "default", "build_type": "tar", "build_hash": "3ae9ac9a93c95bd0cdc054951cf95d88e1e18d96", "build_date": "2019-12-16T22:57:37.835892Z", "build_snapshot": false, "lucene_version": "8.3.0", "minimum_wire_compatibility_version": "6.8.0", "minimum_index_compatibility_version": "6.0.0-beta1" }, "tagline": "You Know, for Search" }
當前啟動方式時前端啟動。停止服務的話直接ctrl+c 就好了
我們可以后端啟動
./elasticsearch -d
稍等片刻,再次訪問地址,還是相同結果
此時,如果想關閉服務
[esuser@localhost bin]$ ps -ef|grep elasticsearch esuser 3318 3007 0 Feb01 pts/1 00:00:00 vi elasticsearch.yml esuser 3856 1 21 01:15 pts/0 00:00:18 /usr/local/elasticsearch-7.5.1/jdk/bin/java -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.locale.providers=COMPAT -Xms128m -Xmx128m -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Djava.io.tmpdir=/tmp/elasticsearch-9874251960424438570 -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 -XX:MaxDirectMemorySize=67108864 -Des.path.home=/usr/local/elasticsearch-7.5.1 -Des.path.conf=/usr/local/elasticsearch-7.5.1/config -Des.distribution.flavor=default -Des.distribution.type=tar -Des.bundled_jdk=true -cp /usr/local/elasticsearch-7.5.1/lib/* org.elasticsearch.bootstrap.Elasticsearch -d esuser 3871 3856 0 01:15 pts/0 00:00:00 /usr/local/elasticsearch-7.5.1/modules/x-pack-ml/platform/linux-x86_64/bin/controller esuser 3921 3521 0 01:16 pts/0 00:00:00 grep --color=auto elasticsearch [esuser@localhost bin]$ jps 3856 Elasticsearch 3922 Jps [esuser@localhost bin]$ kill 3856 [esuser@localhost bin]$ jps 3940 Jps [esuser@localhost bin]$
Elasticsearch Head Plugin:head插件是一個ES集群的web前端工具,它提供可視化的頁面方便用戶查看節點信息,對ES進行各種操作,如查詢、刪除、瀏覽索引等。
1、安裝相關依賴包
(1)安裝head
由于head插件本質上還是一個nodejs的工程,因此需要安裝node,使用
來安裝依賴的包。(npm可以理解為maven)wget https://nodejs.org/dist/v9.3.0/node-v9.3.0-linux-x64.tar.xz # 下載nodejs最新的bin包 xz -d node-v9.3.0-linux-x64.tar.xz # 解壓包 tar -xf node-v9.3.0-linux-x64.tar # 解壓包 ln -s ~/node-v9.3.0-linux-x64/bin/node /usr/bin/node # 部署bin文件,先確定nodejs的bin路徑 ln -s ~/node-v9.3.0-linux-x64/bin/npm /usr/bin/npm
測試:
node -v npm
npm加速 全局安裝cnpm 指定來源淘寶鏡像
npm install -g cnpm –registry=
(2)安裝grunt(安裝完elasticsearch-head后安裝)
grunt是一個很方便的構建工具,可以進行打包壓縮、測試、執行等等的工作,5.0里的head插件就是通過grunt啟動的。因此需要安裝一下grunt:
cd /usr/local/elasticsearch-head npm install -g grunt-cli //執行后會生成node_modules文件夾 npm install
注:
(1)5.0以上,elasticsearch-head 不能放在elasticsearch的 plugins、modules 目錄下,否則elasticsearch啟動會報錯。
(2)這里如果grunt沒有安裝成功也無所謂,可以通過其他方式啟動elasticsearch-head插件(npm run start)。
2、安裝elasticsearch-head
另外:5.0以前的版本可以通過elasticseach自帶的 命令 安裝elasticsearch-head,5.0以后不支持了。只可以去下載elasticsearch-head對應的源碼包去安裝。
cd /usr/local/ git clone git://github.com/mobz/elasticsearch-head.git cd elasticsearch-head
npm install
配置:
vi _site/app.js # 修改 this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200"; # 在文件的4354行附近 # 這里的 localhost 是指進入elasticsearch-head頁面時默認訪問的ES集群地址,把她修改為其中一臺ES節點的地址即可 this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.60.200:9200";
還要修改Head主目錄下的Gruntfile.js,由于默認文件中是沒有hostname屬性的,我們需要手動添加:
為什么需要修改配置文件: head插件連接elasticsearch需要注意的點: 因為head插件是一個獨立進程,啟動后是一個獨立的服務器外加端口,比如我的虛擬機ip地址:http://192.168.0.111:9100/ 而elasticsearch啟動后也是一個獨立的進程,ip地址:http://192.168.0.111:9200/ 這樣兩個獨立進程,雖然服務器ip地址相同,但是端口不同,此時會發生跨域的情況。。 于是官方給出這樣一段話,我們在對elasticsearch啟動的時候追加兩個配置文件屬性即可防止跨域。
即:在elasticsearch.yml文件的最后,添加如下內容:
http.cors.enabled: true http.cors.allow-origin: "*"
配置完畢。
3、啟動elasticsearch集群
在三臺機器上,分別啟動elasticsearch即可。
./bin/elasticsearch
4、啟動elasticsearch-head
cd /usr/local/elasticsearch-head //先跳轉到head目錄下 grunt server //若想在后臺運行,結尾追加“&”,也可以使用 npm run start啟動
5、訪問elasticsearch-head界面
http://192.168.60.200:9100
到此,關于“Linux系統怎么安裝ES”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。