elasticsearch docker    2017-07-19 20:34:47    811

1、下载镜像:
docker pull index.docker.io/library/elasticsearch:2.3.3

2、修改配置文件:
分别创建目录:
/usr/share/elasticsearch/config
/usr/share/elasticsearch/data
config目录中创建文件:elasticsearch.yml ,内容如下:
-------------------------------------------------- elasticsearch.yml内容 -------------------------------------------------
network.host: 192.168.10.136
-------------------------------------------------- elasticsearch.yml内容 -------------------------------------------------
config目录中创建文件:logging.yml,内容入下
-------------------------------------------------- logging.yml内容 ------------------------------------------------------
# you can override this using by setting a system property, for example -Des.logger.level=DEBUG
es.logger.level: INFO
rootLogger: ${es.logger.level}, console
logger:
# log action execution errors for easier debugging
action: DEBUG
# reduce the logging for aws, too much is logged under the default INFO
com.amazonaws: WARN

appender:
console:
type: console
layout:
type: consolePattern
conversionPattern: "[%d{ISO8601}][%
elasticsearch linux Docker alpine    2017-07-19 20:31:27    849
在自己构建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    823
一大早启动虚机就出现问题了,没遇到过,郁闷中。。。
人家提示都说,不可恢复错误,晕眩中。。。
可是不甘心就这么算了,死马当活马医吧,折腾起来。。。
以前遇到过“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    983
官方给出的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
微服务 MicroService nodejs http 反向代理    2017-07-19 20:20:45    909

最近在做微服务相关产品,其中需要有API网关相关产品,虽然早有研究过API网关产品TYK,但是感觉其太重,想起之前研究开源BI产品saiku的时候,记得其有NodeJS的代理代码,于是看了下,颇有启发,略微修改了一些,拿出来跟大家分享下,虽然简单,不可用于生产,但是对于学习还是不错的

package.json

  1. {
  2. "name": "SmartHttpProxy",
  3. "description": "An simplest Http Proxy",
  4. "version": "0.0.1",
  5. "author": "liuyg@liuyingguang.cn",
  6. "license": {
  7. "type": "Apache License Version 2"
  8. },
  9. "main": "server.js",
  10. "scripts": {
  11. "start": "node server.js 8088 127.0.0.1 80 / "
  12. },
  13. "dependencies": {
  14. "express": "~4.13.4"
  15. }
  16. }

server.js

  1. /*
  2. *
  3. * Licensed under the Apache License, Version 2.0 (the "License");
  4. * you may not use this file except in compliance with the License.
  5. * You may obtain a copy of the License at
  6. *
  7. * http://www.apache.org/licenses/LICENSE-2.0
  8. *
  9. * Unless required by applicable law or agreed to in writing, software
  10. * distributed under the License is distributed on an "AS IS" BASIS,
  11. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either e
36/48