分布式搜索引擎
查東西,快速定位
倒排索引:單詞不會重復(fù)出現(xiàn)
切分單詞,記錄單詞在文章中的位置,組成索引頁 ====> 字典
es 除了是搜索引擎,還是理解為超級數(shù)據(jù)庫(存儲、倒排索引)
document 相當(dāng)于`java` 的對象,相等于表里的1行數(shù)據(jù)
只允許普通用戶操作,不允許root用戶
root用戶權(quán)限太大!不允許root用戶啟動,也起不來
因為elasticsearch有遠程執(zhí)行腳本的功能,所以容易中木馬病毒
用普通用戶啟動
要配置network.host才能別的機器或者網(wǎng)卡訪問,
否則只能是127.0.0.1或者localhost訪問,這里配置成自己的局域網(wǎng)ip
注意配置yml結(jié)尾的配置文件都需要冒號后面加空格才行
Hadoop2.0集群配置情況
| 主機名 | 機器ip | NN | NN2 | DN | ZK | ZKFC | JNN | RS | NM | Master | Backup-Master | RegionServer | ES |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| node001 | 192.168.118.101/24 | * | * | * | * | ||||||||
| node002 | 192.168.118.102/24 | * | * | * | * | * | * | * | * | ||||
| node003 | 192.168.118.103/24 | * | * | * | * | * | * | * | |||||
| node004 | 192.168.118.104/24 | * | * | * | * | * | * | ||||||
| node005 | 192.168.118.105/24 | * |
安裝部署
- 在
node002、node003、node004這3個節(jié)點上部署(已安裝JDK) - 下載
elasticsearch-2.2.1.tar.zip上傳到/linux-soft -
共享命令模式下,創(chuàng)建
hadoop用戶自己的目錄/opt/es
創(chuàng)建普通用戶`hadoop`
[root@node002 ~]# useradd hadoop
[root@node002 ~]# echo hadoop | passwd --stdin hadoop
[root@node002 ~]# su hadoop
安裝一個解壓工具
[root@node002 ~]# yum install unzip
創(chuàng)建/opt/es文件夾,必須創(chuàng)建hadoop用戶的es目錄
unzip時要創(chuàng)建的文件夾,在/opt沒有權(quán)限創(chuàng)建!也就解壓不了!
[root@node002 ~]# mkdir -p /opt/es
改變目錄權(quán)限(所屬自己 : 組)
[root@node002 ~]# chown hadoop:hadoop /opt/es
-
hadoop用戶解壓
移動壓縮包到es目錄下
[root@node002 ~]$ mv /linux-soft/elasticsearch-2.2.1.tar.zip /opt/es
[hadoop@node002 es]$ unzip elasticsearch-2.2.1.tar.zip
[hadoop@node002 es]$ ll
total 28744
drwxr-xr-x 6 hadoop hadoop 4096 Mar 9 2016 elasticsearch-2.2.1
-rw-r--r-- 1 root root 29428075 Dec 18 23:11 elasticsearch-2.2.1.zip
[hadoop@node002 es]$ rm -rf elasticsearch-2.2.1.tar.zip
elasticsearch-2.2.1 里面文件都屬于`hadoop`用戶的
- 進入
/opt/es/elasticsearch-2.2.1/conf,修改配置elasticsearch.yml文件
注意:這個文件的所有行的:的后面,一定要有一個空格!
修改elastic配置文件:
修改:
----------------cluster-------------------------------
cluster.name: appke-es
----------------node-------------------------------
node.name: node002 (分發(fā)后各節(jié)點修改)
----------------network-------------------------------
network.host: 192.168.118.102 (分發(fā)后修改)
http.port:9200 (放開)
末尾增加防腦裂:網(wǎng)絡(luò)分區(qū)
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["192.168.118.102","192.168.118.103", "192.168.118.104"]
discovery.zen.ping_timeout: 120s
client.transport.ping_timeout: 60s
- 增加圖形可視化插件:
head
es 是rest方式,采用Json格式,可讀性不強,添加head插件,以圖表方式顯示:
ftp上傳plugins目錄到elasticsearch-2.2.1/plugins目錄
用root用戶改,里面子文件也該(遞歸)
[root@node002 elasticsearch-2.2.1]# chowm -R hadoop:hadoop plugins
插件就算目錄是root不影響,還是改過來
- 分發(fā)到其它節(jié)點(必須是hadoop用戶)
[hadoop@node002 es]$ scp -r elasticsearch-2.2.1/ hadoop@node003:`pwd`
[hadoop@node002 es]$ scp -r elasticsearch-2.2.1/ hadoop@node004:`pwd`
如果用root分發(fā),那邊會以root身份寫入磁盤系統(tǒng),以后啟動有問題
-
hadoop用戶進入bin目錄,啟動腳本,每個節(jié)點都啟動
[hadoop@node002 bin]$ ./elasticsearch
[hadoop@node003 bin]$ ./elasticsearch
[hadoop@node004 bin]$ ./elasticsearch
$ ./elasticsearch -d 后臺運行
啟動較慢
使用`root`會產(chǎn)生日志目錄 `elasticsearch-2.2.1/log`,可能報錯
下次執(zhí)行,這個集群可能跑不起了
======> 把log刪了,再用普通用戶啟動
測試插件效果
http://node002:9200
http://node002:9200/_plugin/head
http://node002:9200/_plugin/head?pretty

http://node002:9200

http://node002:9200/_plugin/head
Hadoop2.0 集群搭建部署
Hadoop偽分布式系統(tǒng)配置
VM安裝Linux虛擬機環(huán)境
VM克隆Linux虛擬機集群配置
Hadoop集群全分布式搭建
ZooKeeper集群搭建
HA高可用集群搭建
YARN集群環(huán)境搭建
Hadoop集群上搭建Hive
Hadoop集群搭建高可用HBase
Elasticsearch簡介
計算框架,來了數(shù)據(jù)要計算倒排索引
在lucene基礎(chǔ)之上,封裝成一個document → 分詞、過濾,倒排索引 → 生成新的document
每一個節(jié)點都是主節(jié)點,誰也不聽誰的!
橫向多節(jié)點,縱向高可用
主:計算、倒排索引
從:數(shù)據(jù)備份,分擔(dān)查詢要查詢壓力
ES主從不能再同一個節(jié)點!
lucene倒排索引
計算框架
我是中國人(1)
中國是全球人口最多的國家,中國人也最多(2)
1,我 (1:1){0}
2,中國 (1:1) {2},(2:2){0,15}