分布式搜索引擎
查东西,快速定位
倒排索引:单词不会重复出现
切分单词,记录单词在文章中的位置,组成索引页 ====> 字典
es 除了是搜索引擎,还是理解为超级数据库(存储、倒排索引)
document 相当于`java` 的对象,相等于表里的1行数据
只允许普通用户操作,不允许root用户
root用户权限太大!不允许root用户启动,也起不来
因为elasticsearch有远程执行脚本的功能,所以容易中木马病毒
用普通用户启动
要配置network.host才能别的机器或者网卡访问,
否则只能是127.0.0.1或者localhost访问,这里配置成自己的局域网ip
注意配置yml结尾的配置文件都需要冒号后面加空格才行
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个节点上部署(已安装JDK
) - 下载
elasticsearch-2.2.1.tar.zip
上传到/linux-soft
-
共享命令模式下,创建
hadoop用户
自己的目录/opt/es
创建普通用户`hadoop`
[root@node002 ~]# useradd hadoop
[root@node002 ~]# echo hadoop | passwd --stdin hadoop
[root@node002 ~]# su hadoop
安装一个解压工具
[root@node002 ~]# yum install unzip
创建/opt/es文件夹,必须创建hadoop用户的es目录
unzip时要创建的文件夹,在/opt没有权限创建!也就解压不了!
[root@node002 ~]# mkdir -p /opt/es
改变目录权限(所属自己 : 组)
[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 (分发后各节点修改)
----------------network-------------------------------
network.host: 192.168.118.102 (分发后修改)
http.port:9200 (放开)
末尾增加防脑裂:网络分区
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不影响,还是改过来
- 分发到其它节点(必须是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分发,那边会以root身份写入磁盘系统,以后启动有问题
-
hadoop
用户进入bin
目录,启动脚本,每个节点都启动
[hadoop@node002 bin]$ ./elasticsearch
[hadoop@node003 bin]$ ./elasticsearch
[hadoop@node004 bin]$ ./elasticsearch
$ ./elasticsearch -d 后台运行
启动较慢
使用`root`会产生日志目录 `elasticsearch-2.2.1/log`,可能报错
下次执行,这个集群可能跑不起了
======> 把log删了,再用普通用户启动
测试插件效果
http://node002:9200
http://node002:9200/_plugin/head
http://node002:9200/_plugin/head?pretty
![](https://img.haomeiwen.com/i185169/34fd557f839b1733.png)
![](https://img.haomeiwen.com/i185169/6c599bb0b6809ae5.png)
Hadoop2.0 集群搭建部署
Hadoop伪分布式系统配置
VM安装Linux虚拟机环境
VM克隆Linux虚拟机集群配置
Hadoop集群全分布式搭建
ZooKeeper集群搭建
HA高可用集群搭建
YARN集群环境搭建
Hadoop集群上搭建Hive
Hadoop集群搭建高可用HBase
Elasticsearch简介
计算框架,来了数据要计算倒排索引
在lucene基础之上,封装成一个document
→ 分词、过滤,倒排索引
→ 生成新的document
每一个节点都是主节点,谁也不听谁的!
横向多节点,纵向高可用
主:计算、倒排索引
从:数据备份,分担查询要查询压力
ES主从不能再同一个节点!
lucene倒排索引
计算框架
我是中国人(1)
中国是全球人口最多的国家,中国人也最多(2)
1,我 (1:1){0}
2,中国 (1:1) {2},(2:2){0,15}
网友评论