资讯专栏INFORMATION COLUMN

Docker搭建Hadoop集群

Yu_Huang / 3780人阅读

摘要:搭建集群首先搭建环境版本大于安装主机监控程序和加速器这里使用了的版本,因为安装方便放开更改放开配置配置配置配置配置配置文件追加配置和在文件第一行中添加测试链接文件

Docker搭建Hadoop集群

首先搭建Docker环境,Docker版本大于1.3.2

安装主机监控程序和加速器(curl -sSL https://get.daocloud.io/daomonit/install.sh | sh -s 7a029f60d36056fe1b85fabca6a133887245abe6)

docker pull daocloud.io/library/centos:centos6.7

docker run -it -h master --name master insaneworks/centos /bin/bash

yum install -y gcc vim openssh-server openssh-clients java-1.7.0-openjdk-devel.x86_64 tar wget

</>复制代码

  1. 这里java使用了openjdk1.7.0的版本,因为安装方便

vim /etc/ssh/sshd_config

</>复制代码

  1. 放开PermitEmptyPasswords no
  2. 更改UsePAM no
  3. 放开PermitRootLogin yes

/etc/rc.d/init.d/sshd start

ssh-keygen -t rsa -P ""

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

配置/etc/profile

</>复制代码

  1. export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk.x86_64/
  2. export CLASSPATH=.:$JAVA_HOME/lib/dt:$JAVA_HOME/lib/tools.jar
  3. export HADOOP_HOME=/root/hadoop-2.7.1
  4. export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin

11. 配置core-site.xml

</>复制代码

  1. fs.defaultFS
  2. hdfs://master:9000
  3. fs.defaultFS
  4. hdfs://master:9000
  5. io.file.buffer.size
  6. 131702
  7. hadoop.tmp.dir
  8. file:/root/hadoop-2.7.1/tmp

12. 配置hdfs-site.xml

</>复制代码

  1. dfs.namenode.name.dir
  2. file:/root/hadoop-2.7.1/dfs/name
  3. dfs.datanode.data.dir
  4. file:/root/hadoop-2.7.1/dfs/data
  5. dfs.replication
  6. 2
  7. dfs.namenode.secondary.http-address
  8. master:9001
  9. dfs.webhdfs.enabled
  10. true

13. 配置mapred-site.xml

</>复制代码

  1. mapreduce.framework.name
  2. yarn
  3. mapreduce.jobhistory.address
  4. master:10020
  5. mapreduce.jobhistory.webapp.address
  6. master:19888

14. 配置yarn.site.xml

</>复制代码

  1. yarn.nodemanager.aux-services
  2. mapreduce_shuffle
  3. yarn.nodemanager.auxservices.mapreduce.shuffle.class
  4. org.apache.hadoop.mapred.ShuffleHandler
  5. yarn.resourcemanager.address
  6. master:8032
  7. yarn.resourcemanager.scheduler.address
  8. master:8030
  9. yarn.resourcemanager.resource-tracker.address
  10. master:8031
  11. yarn.resourcemanager.admin.address
  12. master:8033
  13. yarn.resourcemanager.webapp.address
  14. master:8088
  15. yarn.nodemanager.resource.memory-mb
  16. 1024

15. 配置etc/hadoop/slaves文件

</>复制代码

  1. 追加
  2. slave1
  3. slave2
  4. slave3

16. 配置hadoop-env.sh和yarn-env.sh

</>复制代码

  1. 在文件第一行中添加:export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk.x86_64/

17. 测试链接文件

</>复制代码

  1. ldd /root/hadoop-2.7.1/lib/native/libhadoop.so.1.0.0
  2. /root/hadoop-2.7.1/lib/native/libhadoop.so.1.0.0: /lib64/libc.so.6: version `GLIBC_2.14" not found (required by /root/hadoop-2.7.1/lib/native/libhadoop.so.1.0.0)
  3. linux-vdso.so.1 => (0x00007fff24dbc000)
  4. libdl.so.2 => /lib64/libdl.so.2 (0x00007ff8c6371000)
  5. libc.so.6 => /lib64/libc.so.6 (0x00007ff8c5fdc000)
  6. /lib64/ld-linux-x86-64.so.2 (0x00007ff8c679b000)

18. 安装glibc-2.14

</>复制代码

  1. tar zxvf glibc-2.14.tar.gz
  2. cd glibc-2.14
  3. mkdir build
  4. cd build
  5. ../configure --prefix=/usr/local/glibc-2.14
  6. make
  7. make install
  8. ln -sf /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6

19. 测试链接文件

</>复制代码

  1. ldd /root/hadoop-2.7.1/lib/native/libhadoop.so.1.0.0
  2. linux-vdso.so.1 => (0x00007fff72b7c000)
  3. libdl.so.2 => /lib64/libdl.so.2 (0x00007fb996ce9000)
  4. libc.so.6 => /lib64/libc.so.6 (0x00007fb99695c000)
  5. /lib64/ld-linux-x86-64.so.2 (0x00007fb997113000

20. 提交改镜像即可

</>复制代码

  1. docker commit master ice/hadoop

21. 查看镜像列表

</>复制代码

  1. docker images
  2. REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
  3. ice/hadoop latest 385a97765871 7 hours ago 1.731 GB
  4. daocloud.io/library/centos centos6.7 3fba1048142f 11 days ago 190.6 MB
  5. daocloud.io/daocloud/daocloud-toolset latest aa5dc2eecd4a 6 weeks ago 145.8 MB
  6. daocloud.io/daocloud/daomonit latest ae375c157c27 7 weeks ago 149 MB

22. 干掉该配置镜像

</>复制代码

  1. docker rm master

23. 启动集群脚本

</>复制代码

  1. docker run --rm -it -p 50070:50070 -p 19888:19888 -p 8088:8088 -p 50030:50030 -h master --name master ice/hadoop /bin/bash
  2. docker run --rm -it -h slave1 --name slave1 ice/hadoop /bin/bash
  3. docker run --rm -it -h slave2 --name slave2 ice/hadoop /bin/bash
  4. docker run --rm -it -h slave3 --name slave3 ice/hadoop /bin/bash

24. 配置环境变量和sshd服务

</>复制代码

  1. source /etc/profile
  2. /etc/rc.d/init.d/sshd start

25. 查看各个节点的IP

</>复制代码

  1. docker inspect --format="{{.NetworkSettings.IPAddress}}" master
  2. docker inspect --format="{{.NetworkSettings.IPAddress}}" slave1
  3. docker inspect --format="{{.NetworkSettings.IPAddress}}" slave2
  4. docker inspect --format="{{.NetworkSettings.IPAddress}}" slave3

26. 启动Hadoop集群

</>复制代码

  1. hadoop namenode -format
  2. /root/hadoop-2.7.1/sbin/start-dfs.sh
  3. /root/hadoop-2.7.1/sbin/start-yarn.sh
  4. 注意⚠️第一执行脚本时,需要确认一次

27. 关闭脚本

</>复制代码

  1. /root/hadoop-2.7.1/sbin/stop-dfs.sh
  2. /root/hadoop-2.7.1/sbin/stop-yarn.sh

28. 测试命令

</>复制代码

  1. hadoop fs -mkdir /input
  2. hadoop fs -ls /
  3. hadoop fs -put /root/hadoop-2.7.1/etc/hadoop/* /input/
  4. hadoop jar /root/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /input/ /output/wordcount/

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26479.html

相关文章

  • 基于Docker搭建Hadoop集群之升级版

    摘要:总之,项目还算很受欢迎吧,这篇博客将介绍项目的升级版。一项目介绍将打包到镜像中,就可以快速地在单个机器上搭建集群,这样可以方便新手测试和学习。之前的版本使用为集群提供服务,由于网络功能更新,现在并不需要了。运行参考第二部分启动,并运行。 摘要: kiwenlau/hadoop-cluster-docker是去年参加Docker巨好玩比赛开发的,得了二等奖并赢了一块苹果手表,目前这个项目...

    Zoom 评论0 收藏0
  • Docker搭建Zookeeper集群

    Docker搭建Zookeeper集群 这之前的准备和Docker搭建Hadoop集群是一样的,请关注上一篇笔记。 第一步根据上次wiki中的方法启动docker容器 docker run --rm -it -h zoo1 --name zoo1 ice/hadoop /bin/bash docker run --rm -it -h zoo2 --name zoo2 ice/hadoop /bin...

    CNZPH 评论0 收藏0
  • DockerHadoop环境搭建

    使用腾讯云主机,docker构建集群测试环境。 环境 1、操作系统: CentOS 7.2 64位 网路设置 hostname IP cluster-master 172.18.0.2 cluster-slave1 172.18.0.3 cluster-slave2 172.18.0.4 cluster-slave3 172.18.0.5 Docker 安装 curl ...

    zhichangterry 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<