设为首页 收藏本站
查看: 1418|回复: 0

[经验分享] Elasticsearch安装篇

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-1-22 09:36:59 | 显示全部楼层 |阅读模式
Elasticsearch安装篇

1.先去elasticsearch 官网

  https://www.elastic.co/

Jar下载

http://jcenter.bintray.com/org/elasticsearch/elasticsearch-hadoop

下载好后 直接解压

tar -zxvf   elasticsearch-2.4.3.tar.gz

修改config下elasticsearch.yml

cluster.name: gotop

node.name: hadoop001

http.port: 9200

network.host: ip

discovery.zen.ping.unicast.hosts: ["hadoop001", "hadoop003", "hadoop004"]





#集群名称,通过组播的方式通信,通过名称判断属于哪个集群

cluster.name: es

#节点名称,要唯一

node.name: es-1

#数据存放位置

path.data:/data/es/data

#日志存放位置

path.logs:/data/es/logs

#es绑定的ip地址

network.host:172.16.0.14

#初始化时可进行选举的节点(es集群节点)

discovery.zen.ping.unicast.hosts:["node-4", "node-5", "node-6"]



6.可以直接复制到其他服务器,只修改node.name和network.host就行了

7.启动es



然后把整个目录修改权限为777或者更改用户组

切换到普通频道执行:su gotop

启动:./bin/elasticsearch(前台运行)bin/elasticsearch  -d(后台运行)



关闭elasticsearch
前台运行,可以通过"CTRL+C"组合键来停止运行
关闭:ps aux |grep elasticsearch  找到pid    kill-9  pid
后台运行,可以通过"kill -9 进程号"停止;也可以通过REST API接口"curl -XPOST http://主机IP:9200/_cluster/nodes/_shutdown"来关闭整个集群,"curl -XPOST http://主机IP:9200/_cluster/nodes/节点标示符(如Bjkhlujigopojhih)/_shutdown"来关闭单个节点
rpm安装,"sudo service elasticsearch stop"关闭服务



curl -XPOST 'http://localhost:9200/_shutdown'









注意问题:

1.elasticsearch不建议使用root用户,可以使用其他用户

       2.节点名称也是唯一(集群里不一样名)

       3.绑定ip地址也是不一样的

       4.启动es后,可以在线查看帮助文档 bin/elasticsearch  -h

        5.数据和日志存放都是自定义的





然后打开

ip:9200


证明安装成功

2.安装  elasticsearch-head 插件

./bin/plugin install mobz/elasticsearch-head

浏览器查看

http://ip:9200/_plugin/head/


可以看到上面内容证明安装成功



遇到的问题及解决方法:

问题一:ERROR: bootstrap checks failed

max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
max number of threads [1024] for user [lishang] likely too low, increase to at least [2048]

解决:切换到root用户,编辑limits.conf 添加类似如下内容

vi /etc/security/limits.conf

添加如下内容:

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096



问题二:max number of threads [1024] for user [lish] likely too low, increase to at least [2048]

解决:切换到root用户,进入limits.d目录下修改配置文件。

vi /etc/security/limits.d/90-nproc.conf

修改如下内容:

* soft nproc 1024

#修改为

* soft nproc 2048



问题三:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

解决:切换到root用户修改配置sysctl.conf

vi /etc/sysctl.conf

添加下面配置:

vm.max_map_count=655360

并执行命令:

sysctl -p

然后,重新启动elasticsearch,即可启动成功。

关于使用可一参考:http://blog.csdn.net/ebw123/article/details/46707559



创建索引

curl -XPUT 'http://ip:9200/web01?pretty' -d'

{

"settings":{

"number_of_shards":2,

"number_of_replicas":1

}

}'

为索引增加数据

curl -XPUT 'http://ip:9200/web01/table/1' -d '

{



    "news": {



      "properties": {



        "id": {



          "analyzer": "ik",



          "type": "int"



        },



        "name": {



          "index": "not_analyzed",



          "type": "string"



        },



        "ip": {



          "analyzer": "ik",



          "type": "string"



        },



        "time": {



          "index": "not_analyzed",



          "type": "string"



        }



        



    }



  }



}’
Hive结合

把elasticsearch-hadoop-2.4.3.jar上传到hdfs的下面目录  /tmp/

然后运行

beeline -u jdbc:hive2://hadoop001:10000 hive -p gotop123 -hiveconf hive.aux.jars.path=/tmp/elasticsearch-hadoop-2.4.3.jar



首先创建源数据表

CREATE TABLE test01_source (

id int,

name string,

ip string,)

ROW FORMAT DELIMITED

FIELDS TERMINATED BY ','

STORED AS TEXTFILE;



然后把自己的数据load进去



LOAD DATA LOCAL INPATH '/usr/local/555.txt.lzo' OVERWRITE INTO TABLE lzowu;

select * from web01_source;




建立视图表

hive表中field类型为int时,映射到es中变成long,所以会报此错误。将hive表中int改为bigint即可。

CREATE EXTERNAL TABLE web03(

id bigint,

name string,

ip string,

time string)

STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'

TBLPROPERTIES('es.resource' = 'test1/table1', 'es.nodes'='ip', 'es.port'='9200', 'es.nodes.wan.only'='true');



CREATE EXTERNAL TABLE estwo(

id bigint,

name string,

ip string,

age string)

STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'

TBLPROPERTIES('es.resource' = 'two/two', 'es.nodes'='ip:9200,ip:9200,ip:9200', 'es.nodes.wan.only'='true');

es.resource的two/two分别是索引名和索引的类型,这个是在es访问数据时候使用的。

然后建立源数据表





只能用bigint类型 因为默认为long类型  interesting类型可以被javaapi进行调用

运行下面如果提示在目录下面elasticsearch-hadoop-2.4.3.jar不能写的权限问题 需要手动上传到hdfs里面 如果彻底解决这个问题需要改变目录权限即可





insert overwrite table web select * from test01_source;

insert into table web03 from web01_source;



selece * from web03

所需时间0.3秒以内  

Select * from web01_source

所需时间0.2秒以内

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-331890-1-1.html 上篇帖子: 以supervisord启动elasticsearch 下篇帖子: 搭建elk server通过rsyslog展示nginx和php日志
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表