Category - IT技术

elasticsearch linux Docker alpine    2017-07-19 20:31:27    858
在自己构建elasticsearch的Docker镜像的时候,使用最小化的linux系统alpine遇到不能用root用户启动的问题(也许对alpine不太熟悉,无法使用user相关命令),所以网上搜了些资料,记录及梳理自己的操作步奏

参考文章:http://stackoverflow.com/questions/34920801/how-to-run-elasticsearch-2-1-1-as-root-user-in-linux-machine

临时使用root账号启动
启动命令添加如下语句:
-Des.insecure.allow.root=true
bin/elasticsearch -Des.insecure.allow.root=true

默认以root账号启动
或者修改/bin/elasticsearch文件,修改如下语句:
exec "$JAVA" $JAVA_OPTS $ES_JAVA_OPTS -Des.path.home="$ES_HOME" -cp "$ES_CLASSPATH" \
修改为:
exec "$JAVA" $JAVA_OPTS $ES_JAVA_OPTS -Des.path.home="$ES_HOME" -Des.insecure.allow.root=true -cp "$ES_CLASSPATH" \



 

by 刘迎光@萤火虫工作室
OpenBI交流群:495266201
MicroService 微服务交流群:217722918
mail: liuyg#liuyingguang.cn
博主首页(防止爬虫):http://blog.liuyingguang.cn
OpenBI问答社区:http://openbi.liuyingguang.cn/

VMware disk CentOS    2017-07-19 20:28:09    865
一大早启动虚机就出现问题了,没遇到过,郁闷中。。。
人家提示都说,不可恢复错误,晕眩中。。。
可是不甘心就这么算了,死马当活马医吧,折腾起来。。。
以前遇到过“VMware非正常关闭,导致无法获取虚拟机所有权的解决办法”,尝试,失败。。。继续想办法,删除了与自己认为无关的所有文件,然后启动,经过一系列操作,虚机居然活了(还好没有被VM提示的不可恢复错误给吓到),赶紧记录下,以供小伙伴们参考

环境分析:
1、VMware版本是12
2、虚机版本是CentOS6.5
3、虚机内部装有mysql及nexus等软件
错误截图:
问题分析:
分析不出问题来,估计是VM的程序错误,可是没办法使用程序恢复

解决办法:
1、首先删除虚机存储目录下的所有文件夹,很多事lck结尾的。
2、删除后缀为nvram的文件
3、如果有图标为挂起的文件,也一并删除

然后启动虚机,如果正常启动,那么当然不错,但是我的虚机却出现了其他问题,如下图(忘记截图,网上找图)

1、网上有相关的解决方案,不过我没有按照那些解决方案去做,有兴趣的朋友可以试下,不过做之前建议做好相关备份:http://lovesoo.org/linux-boot-error-unexpected-inconsistency-solution.html
2、我的做法:输入root用户密码,回车,然后输入“fsck -y”即可,由于我的磁盘部分文件找不到,所以中途VMware可能会弹出磁盘文件找不到的错,点击继续即可(虽然我的文件其实是在的,可不止为啥报找不到)


 

by 刘迎光@萤火虫工作室 
OpenBI交流群:495266201 
MicroService 微服务交流群:217722918 
mail: liuyg#liuyingguang.cn 
博主首页(==防止爬虫==):http://blog.liuyingguang.cn

elasticsearch docker Dockerfile    2017-07-19 20:25:33    1033
官方给出的elasticsearch镜像需要做不少的修改,并且个人感觉镜像有点太大,所以萌生了自己做镜像的想法
此Docker镜像基于alpine的jre8镜像(使用alpine的原因就是没有太多不必要的组件和命令,docker内部也不需要太多组件)

所需文件目录及介绍:
# 文件目录介绍
* elasticsearch 目录为build docker镜像必要文件,主要替换elasticsearch启动文件(bin目录,主要是修改以root用户启动,参考文章:http://blog.csdn.net/gsying1474/article/details/51939294)和添加中文分词插件IK(plugins目录,主要添加了中文分词插件,参考文章:http://blog.csdn.net/gsying1474/article/details/51909027

Dockerfile文件代码:
 
FROM anapsix/alpine-java:jre8
MAINTAINER firewarm LightingLiu <liuyg@liuyingguang.cn>
ENV ES_PKG_NAME elasticsearch-2.3.3
ADD $ES_PKG_NAME.tar.gz /usr/share/
ADD elasticsearch/ /usr/share/$ES_PKG_NAME/
RUN cd /usr/share/ && \
mv $ES_PKG_NAME elasticsearch && \
chmod +x /usr/share/elasticsearch/bin/*
ENV PATH /usr/share/elasticsearch/bin:$PATH
# Define default command.
CMD ["elasticsearch"]
EXPOSE 9200
EXPOSE 9300

# 此处的Dockerfile解决了如下问题:
1. Docker内部以root启动
2. elasticsearch中文分词插件IK

# build命令
docker build -t firewarm/elasticsearch:2.3.3.1 .

# 镜像使用方式
docker run -v /home/elasticsearch/config:/usr/share/elast
eclipse nodejs nodeclipse 插件    2017-07-19 20:18:26    1117

最近参与前端开发任务,用到nodejs,虽然公司同事都用webstorm,自己也用了,但是总感觉不顺手,可能是常年使用eclipse开发有关(这里不讨论最佳开发工具,自己顺手才是王道),于是自己想要使用eclipse开发nodejs项目,想到之前听说的nodeclipse,就去官网看了下,安装步奏还是挺方便的,安装后初步试用了下,感觉挺顺手的

1、安装nodejs
2、安装jdk,配置eclipse,这里我用的是eclipse 4.5.2
3、下载nodeclipse离线安装包:
http://nchc.dl.sourceforge.net/project/nodeclipse/update-site-archive/org.nodeclipse.site-1.0.2-201509250223.zip
或者
http://pan.baidu.com/s/1dFiF7IL

4、安装nodeclipse,help-->Install New Software,如下图选择下载的压缩包
title

选择插件:
title
5、完成以上步奏即完成了安装

更多安装方式还请参考如下地址:
http://www.nodeclipse.org/updates/

nodejs http socket hang up body-parser    2017-07-19 20:16:57    989

错误信息:ERROR: { [Error: socket hang up] code: 'ECONNRESET' }

分析原因:由于某种原因,导致http目标地址建立socket连接的时候出错

错误解决:经过对比查找,发现我这里nodejs项目中有对中间件“body-parser”的使用,将其去除,则没有问题了

还有其他一些原因,这里暂时没有遇到,就不多做解释了,

20/26