a13698822086 发表于 2019-2-20 11:56:30

基于DOCKER的Hadoop+HIVE环境学习试用

  假设前提:
  宿主机已成功安装docker,如未安装请参考《Centos 7.5安装Docker》博文安装。
  对于想快速了解Hadoop+hive的同学,这篇博文值得一看,因为这里已经最小化配置好了hadoop及hive环境,并docker镜像化了,仅需要下面简单的几步就可运行起来:
  Step 1: 在宿主机系统创建docker容器会用到的自定义网桥(这里为了后面步骤方便,通过以下命令创建了名为my-net的网桥)
  #docker network create --subnet=172.18.0.0/16 my-net

  注:也可以自定义你自己的网桥,只是注意下面命令替换成你自己创建的就OK。
  Step 2: 从我的aliyun镜像仓库pull相关的镜像(这有4个镜像需要pull)
  #docker pull registry.cn-hangzhou.aliyuncs.com/liyu_os/testmaster:v1
  #docker pull registry.cn-hangzhou.aliyuncs.com/liyu_os/testslave1:v1
  #docker pull registry.cn-hangzhou.aliyuncs.com/liyu_os/testslave2:v1
  #docker pull registry.cn-hangzhou.aliyuncs.com/liyu_os/mysql:v1
  注:如果运行上面命令不能获取到相应镜像,或许你需设置一下aliyun镜像加速器。设置方法,请参考《docker仓库配置及镜像、容器简单操作》这篇博文。
  Step 3: 运行以下命令实例化容器,注意以相应的镜像ID代替相应命令的xxxx
  #docker run-d --privileged   --network my-net --ip 172.18.0.10 --hostname=testmaster --mount type=bind,source=/opt/sharefolder,target=/opt/sharefolder xxxx /usr/sbin/init
  #docker run-d --privileged   --network my-net --ip 172.18.0.11 --hostname=testslave1 --mount type=bind,source=/opt/sharefolder,target=/opt/sharefolder xxxx /usr/sbin/init
  #docker run-d --privileged   --network my-net --ip 172.18.0.12 --hostname=testslave2 --mount type=bind,source=/opt/sharefolder,target=/opt/sharefolder xxxx /usr/sbin/init
  #docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --network my-net --ip 172.18.0.15 -d xxxx
  注:因为Hadoop运行需要用到ssh服务,所以必须加上--privileged及/usr/sbin/init参数,但加上这2个参数实例化容器后系统会退出当前登录,再登进去依次实例化即可。(这是docker的bug,据官方说7.2及以上版本上已解决,但实际上依然存在,暂时也没找到其他合适的解决方案:(。)
  Step 4: 进除mysql外的其他3个容器,运行以下命令
  #source /etc/profile
  Step 5: 进除mysql外的其他3个容器,编辑/etc/hosts文件,输入以下内容:
  172.18.0.10 testmaster
  172.18.0.11 testslave1
  172.18.0.12 testslave2
  Step 6: 启动hadoop
  #starthadoop.sh   //可用stophadoop.sh停止hadoop服务
  Step 7: 进入testmaster容器,并进入hive的bin目录,运行以下命令:
  #./schematool -initSchema -dbType mysql            //初始化hive元数据库
  #./hive      //启动hive数据仓库,进入hive命令行交互窗口
  至此,就已经启动了hadoop服务,可以开始hive学习。



页: [1]
查看完整版本: 基于DOCKER的Hadoop+HIVE环境学习试用