使用docker安装分布式hadoop(阿里hadoop镜像)

使用docker安装分布式hadoop(阿里hadoop镜像)
1、安装hadoop镜像
1)拉取镜像
拉取阿里的hadoop镜像
docker pull registry.cn-hangzhou.aliyuncs.com/kaibb/hadoop

查看镜像
docker images

3)创建hadoop容器
(1)创建master节点
docker run --name master -d -h master registry.cn-hangzhou.aliyuncs.com/kaibb/hadoop
参数说明:
-h 为容器设置主机名
–name 设置容器的名称
-d 在后台运行

(2)以此方法创建slave1和slave2节点
docker run --name slave1 -d -h slave1 registry.cn-hangzhou.aliyuncs.com/kaibb/hadoop
docker run --name slave2 -d -h slave2 registry.cn-hangzhou.aliyuncs.com/kaibb/hadoop
(3)查看容器
docker ps –s 或者 –a查看所有容器

(4)进入容器查看jdk
docker exec -it master bash
jdk都已经自带了

(5)配置ssh生成秘钥,所有的节点都要配置
进入容器后
启动ssh
/etc/init.d/ssh start
生成秘钥
·ssh-keygen -t rsa

(5)分别进入每个节点,将其他节点的公钥也都复制到authorized_keys,也就是说每个>authorized_keys 文件中存储的公钥都是3个而且是一样的
将容器中的文件复制到centos本地
·docker cp 容器id/容器名称:/root/.ssh/authorized_keys /home/hadoop/authorized_keys_master
将这三个文件复制到一个文件中
cd /home/hadoop/
cat authorized_keys_master authorized_keys_slave1 authorized_keys_slave2 > authorized_keys
cat authorized_keys

将centos本地的文件复制到容器
docker cp /home/hadoop/authorized_keys 容器id/容器名称:/root/.ssh/authorized_keys

(6)分别为每个节点配置ip地址
进入容器,在此容器中可以直接使用ip addr命令查看ip地址

为每个容器设置地址,vi /etc/hosts 配置

ssh master 测试一下,测试成功

2、配置hadoop(配置文件的目录一般都在/opt/tools/hadoop-2.7.2/etc/hadoop/下面)
1)配置hadoop-env.sh,配置jdk
(1)进入容器查找 hadoop-env.sh存放位置

find / -name hadoop-env.sh
(2)查看 hadoop-env.sh文件

export JAVA_HOME=/opt/tools/jdk1.8.0_77

2)配置core-site.xml,配置hdfs的地址和端口号

fs.defaultFS
hdfs://master:9000


hadoop.tmp.dir
/hadoop/tmp

3)配置hdfs-site.xml ,配置hdfs备份数量,配置namenode和datanode的数据路径
/hadoop/data 和 /hadoop/name要提前建立此文件夹
mkdirp -p /hadoop/data
mkdirp -p /hadoop/name

dfs.replication 1 dfs.datanode.data.dir file:/hadoop/data dfs.namenode.name.dir file:/hadoop/name slave数量要大于等于备份的数量,否者会报错

4)配置 mapred-site.xml,指定MapReduce运行在yarn上,配置JobTracker的地址和端口。


mapred.job.tracker
localhost:9001


mapreduce.framework.name
yarn

5)配置yarn-site.xml,配置hdfs备份数量

配置参数

yarn.resourcemanager.address master:8032 yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.aux-services.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler yarn.resourcemanager.scheduler.address master:8030 yarn.resourcemanager.resource-tracker.address master:8031 yarn.resourcemanager.admin.address master:8033 yarn.resourcemanager.webapp.address master:8089

6)将这些参数发送到其它节点
scp /opt/tools/hadoop-2.7.2/etc/hadoop/yarn-site.xml slave1:/opt/tools/hadoop-2.7.2/etc/hadoop/
将core-site.xml hadoop-env.sh hdfs-site.xml mapred-site.xml yarn-site.xml 发送到slave1 和slave2节点

3、运行hadoop
1)配置slaves

2)在master上格式化namenode
hadoop namenode -format

3)在master上启动集群
cd /opt/tools/hadoop/sbin/
./start-all.sh

3)jps 查看进程,查看到说明已启动

4)进入slave1查看进程

建议每个容器都配置python环境

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值