4.9.1. # 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,之后其它的机器才能更新修改后的镜像。