前言
誰(shuí)還不是個(gè)標(biāo)題黨呢。(:з」∠)
還沒(méi)有安裝JDK的請(qǐng)先安裝JDK,傳送門(mén)在此QAQ
安裝中遇到頗多問(wèn)題愤惰,在此我都做了問(wèn)題記錄。
請(qǐng)合理使用ctrl+F
在文中進(jìn)行問(wèn)題定位赘理。
安裝須知
- 請(qǐng)先創(chuàng)建一個(gè)elasticsearch目錄宦言,并在目錄執(zhí)行下載操作。
- 因?yàn)榘姹驹蛏棠#珽S不允許root用戶啟動(dòng)奠旺,所以啟動(dòng)時(shí)注意切換 用戶角色
su 其他用戶
所以沒(méi)有創(chuàng)建其他用戶的朋友請(qǐng)先創(chuàng)建用戶useradd 新用戶
。
[root@localhost ~]# useradd zyla
[root@localhost ~]# passwd zyla
更改用戶 zyla 的密碼 阻桅。
新的 密碼:
重新輸入新的 密碼:
抱歉凉倚,密碼不匹配。
新的 密碼:
重新輸入新的 密碼:
passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新嫂沉。
[root@localhost ~]#
- 因?yàn)榘惭b過(guò)程中稽寒,需要到
/etc
目錄下修改文件,由于權(quán)限限制趟章,注意切換為root用戶進(jìn)行操作杏糙。
下載
指定目錄下執(zhí)行命令wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.0.tar.gz
下載失敗,點(diǎn)擊此處傳送至官網(wǎng)蚓土,魔法傳送陣
如圖所示
- 解壓
命令tar -zxvf elasticsearch-6.5.0.tar.gz
- 切換用戶并執(zhí)行
su 除root外用戶
- 進(jìn)入
elasticsearch-6.5.0/bin
執(zhí)行./elasticsearch
如果以root用戶執(zhí)行宏侍,會(huì)出現(xiàn)
不能以root用戶運(yùn)行es
稍等一會(huì),直到加載出starting
蜀漆、started
說(shuō)明成功谅河,再打開(kāi)一個(gè)連接窗口輸入curl -X GET http://localhost:9200
檢驗(yàn)。
[root@localhost ~]# curl -X GET http://localhost:9200
{
"name" : "gQmdXvU",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "mUi47EFHQuat6RcdM-l6Kg",
"version" : {
"number" : "6.5.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "816e6f6",
"build_date" : "2018-11-09T18:58:36.352602Z",
"build_snapshot" : false,
"lucene_version" : "7.5.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
如果遇到AccessDeniedException:xxxx/elasticsearch-6.5.0/config/jvm.options
問(wèn)題
說(shuō)明當(dāng)前用戶沒(méi)有用戶權(quán)限确丢,請(qǐng)以root用戶登錄情況下使用
chown 你的非root用戶名 es安裝目錄 -R
來(lái)賦予權(quán)限绷耍。
你以為到此就完了嗎?too young too simple鲜侥。打開(kāi)主機(jī)瀏覽器輸入ip:9200
發(fā)現(xiàn)訪問(wèn)失敗褂始。
根據(jù)網(wǎng)上的方案,我首先添加了network.host
任一用戶
打開(kāi)/elasticsearch-6.5.0/config/elasticsearch.yml
,在network注釋附近添加
network.host: 你的ip
discovery.zen.ping.unicast.hosts: ["你的ip"]
添加后描函,重啟./elasticsearch
崎苗,出現(xiàn)vm.max_map_count [65530] is too low, increase to at least [262144]
這類vm.max_map_count
錯(cuò)誤狐粱。
- 請(qǐng)以
root
用戶打開(kāi)文件vi /etc/sysctl.conf
- 添加
vm.max_map_count = 655360
- 保存退出后執(zhí)行
sysctl -p
根據(jù)我的經(jīng)驗(yàn),如果執(zhí)行以上步驟后胆数,切換為非root用戶啟動(dòng)es還是會(huì)失敗并遇到以下問(wèn)題
所以繼續(xù)打開(kāi)
/etc/security/limits.conf
文件新增以下內(nèi)容
#<domain> <type> <item> <value>
#
#* soft core 0
#* hard rss 10000
#@student hard nproc 20
#@faculty soft nproc 20
#@faculty hard nproc 50
#ftp hard nproc 0
#@student - maxlogins 4
你的用戶名 soft nofile 65536
你的用戶名 hard nofile 65536
你的用戶名 soft nproc 4096
你的用戶名 hard nproc 4096
保存退出后肌蜻,用戶退出重新登錄以非root用戶再啟動(dòng)es,發(fā)現(xiàn):在你修改network之后啟動(dòng)es不再報(bào)錯(cuò)了幅慌。但是依然無(wú)法在主機(jī)以及其他機(jī)器訪問(wèn)es宋欺。那我上述操作有什么用?
然后根據(jù)我的探索發(fā)現(xiàn)胰伍,獲取了一下信息:
- centos默認(rèn)只打開(kāi)22端口齿诞,所以9200外面訪問(wèn)不到。
- centos7加強(qiáng)了防火墻[1]骂租,以firewall替代iptables
通過(guò)以上信息我想你應(yīng)該知道怎么做了吧祷杈。
執(zhí)行firewall-cmd --zone=public --add-port=9200/tcp --permanent
添加9200端口
執(zhí)行service firewalld restart
重啟防火墻
執(zhí)行firewall-cmd --zone=public --query-port=9200/tcp
查看9200端口是否加入名單,會(huì)返回yes
最后在確保es啟動(dòng)的情況下渗饮,在主機(jī)瀏覽器上訪問(wèn)ip:9200但汞,會(huì)發(fā)現(xiàn)成功,喜極而泣互站。
參考鏈接:
Linux:centos7防火墻開(kāi)放端口
elasticSearch本地可以訪問(wèn)網(wǎng)頁(yè)無(wú)法訪問(wèn)的解決方法
Linux /etc/profile文件詳解
-
--zone 作用域
--add-port=80/tcp 添加端口私蕾,格式為:端口/通訊協(xié)議
--permanent 永久生效,沒(méi)有此參數(shù)重啟后失效 ?