# docker编译环境说明 ========================= 编译环境的机器为192.168.3.196.在此机器上进行各个大数据组件的环境编译。其中包括base(JDK以及linux基础环境)、hadoop、hive、spark、hbase、flink、impala、kafka、oozie、kudu、geoserver、elasticsearch等。 ## 目录及脚本说明 整个环境的编译目录是在 /root/ispatial 目录下: 目录脚本说明: ``` build_stack.sh //镜像编译脚本 compile_stack.sh //对oozie源码进行镜像编译的脚本 run.sh //启动容器脚本 build_and_run_stack.sh //编译镜像并启动对应容器的脚本(不包含对oozie源码得到编译) clean_untaged_images.sh //清除无用的镜像脚本 goto_container.sh //进入某个容器的脚本(输入参数为容器id) logs_of_docker.sh //查看某个容器的日志脚本(输入参数为容器id) docker-compose.yml //docker-compose的启动文件,用于管理docker容器 hadoop.env //docker-compose.yml文件的管理文件,用于定义hadoop的相关参数 version.Makefile //用于定义一些参数变量以及大数据组件的版本参数 Makefile //make的编译脚本,指定编译顺序 ``` /root/ispatial/ssdp 目录: 具体存放每个组建的编译脚本和信息。 以里边的hadoop编译为例进行说明: ``` 1.配置的相关文件: hadoop-2.8.5.tar.gz安装包、core-site.xml、hdfs-site.xml、yarn-site.xml、httpfs-site.xml、mapred-site.xml配置文件、healthcheck.sh(容器中健康检查的脚本) 2.Makefile 镜像编译顺序脚本 3.Dockerfile 镜像内部命令执行参数 4.entrypoint.sh 容器启动脚本 ``` 其他大数据组件或者其它镜像的目录信息都与之相似。主要是进行Dockerfile和entryPoint.sh文件的修改。 注意:编译完成之后需要对修改的镜像进行push,之后其它的机器才能更新修改后的镜像。