docker安装分布式hadoop

工作环境都是在多台服务器上安装hadoop集群的,但是对于个人未必会购买多台服务器。在服务器上安装虚拟机是可以虚拟多台服务器的,但是虚拟机比较耗性能,其实可以使用docker去安装hadoop镜像,使用hadoop镜像也可以实现hadoop集群。

1、安装hadoop镜像

1)在docker中查找hadoop 镜像

docker search hadoop
docker安装分布式hadoop_第1张图片

2)拉取镜像

我们选择star数量最多的镜像拉取
docker pull docker.io/sequenceiq/hadoop-docker
或者也可以拉取阿里的hadoop镜像
docker pull registry.cn-hangzhou.aliyuncs.com/kaibb/hadoop
在这里插入图片描述
查看镜像
docker images
docker安装分布式hadoop_第2张图片

3)创建hadoop容器

(1)创建master节点
docker run --name hadoop1 -d -h master docker.io/sequenceiq/hadoop-docker
参数说明:
-h 为容器设置主机名
–name 设置容器的名称
-d 在后台运行

(2)以此方法创建slave1和slave2节点
docker run --name hadoop2 -d -h slave1 docker.io/sequenceiq/hadoop-docker
docker run --name hadoop3 -d -h slave2 docker.io/sequenceiq/hadoop-docker
(3)查看容器
docker ps -s
docker安装分布式hadoop_第3张图片
(4)进入容器查看jdk
docker exec -it hadoop1 bash
jdk都已经自带了
在这里插入图片描述
(5)配置ssh生成秘钥,所有的节点都要配置
进入容器后
启动ssh
/etc/init.d/sshd start
生成秘钥
·ssh-keygen -t rsadocker安装分布式hadoop_第4张图片
(5)分别进入每个节点,将其他节点的公钥也都复制到authorized_keys,也就是说每个>authorized_keys 文件中存储的公钥都是3个而且是一样的
将容器中的文件复制到centos本地
·docker cp 容器id/容器名称:/root/.ssh/authorized_keys /home/hadoop/authorized_keys_masterdocker安装分布式hadoop_第5张图片
将centos本地的文件复制到容器
·docker cp /home/hadoop/authorized_keys 容器id/容器名称:/root/.ssh/authorized_keys
docker安装分布式hadoop_第6张图片
(6)分别为每个节点配置ip地址
进入容器,在此容器中可以直接使用ifconfig命令 或者ip addr命令查看ip地址
docker安装分布式hadoop_第7张图片
为每个容器设置地址,vi /etc/hosts 配置
在这里插入图片描述
ssh master 测试一下,测试成功
docker安装分布式hadoop_第8张图片

2、配置hadoop(配置文件的目录一般都在/usr/local/hadoop-2.7.0/etc/hadoop下面)

1)配置hadoop-env.sh,配置jdk,在hadoop容器中已经帮我们配置好了
(1)进入容器查找 hadoop-env.sh存放位置

find / -name hadoop-env.sh
(2)查看 hadoop-env.sh文件
docker安装分布式hadoop_第9张图片
docker安装分布式hadoop_第10张图片

2)配置core-site.xml,配置hdfs的地址和端口号,在hadoop容器中已经帮我们配置好了

(1) 查找core-site.xml
find / -name core-site.xmldocker安装分布式hadoop_第11张图片
(2)加入配置,其实hadoop镜像已经帮我们配置好了

  
    fs.defaultFS
    hdfs://Master:9000
  
    
      hadoop.tmp.dir
      /hadoop/tmp
    

docker安装分布式hadoop_第12张图片

3)配置hdfs-site.xml ,配置hdfs备份数量,在hadoop容器中已经帮我们配置好了
 
    
        dfs.replication
        1
    

docker安装分布式hadoop_第13张图片
slave数量要大于等于备份的数量,否者会报错
在这里插入图片描述

4)配置 mapred-site.xml,指定MapReduce运行在yarn上,在hadoop容器中已经帮我们配置好了

find / -name mapred-site.xml


mapreduce.framework.name
yarn


docker安装分布式hadoop_第14张图片
docker安装分布式hadoop_第15张图片

5)配置yarn-site.xml,配置hdfs备份数量,在hadoop容器中已经帮我们配置好了

在这里插入图片描述
配置参数
在这里插入图片描述

6)将这些参数发送到其它节点

scp /usr/local/hadoop-2.7.0/etc/hadoop/yarn-site.xml slave1:/usr/local/hadoop-2.7.0/etc/hadoop/在这里插入图片描述

3、运行hadoop

1)在master上格式化namenode

cd /usr/local/hadoop-2.7.0/bin/
./hadoop namenode -format
docker安装分布式hadoop_第16张图片

2)在master上启动集群

cd /usr/local/hadoop-2.7.0/sbin/
./start-all.sh
如果报错告诉端口被占用
那么就先停止,然后再启动
./stop-all.sh
./start-all.sh
##### 3)jps 查看进程,查看到说明已启动
docker安装分布式hadoop_第17张图片

你可能感兴趣的:(java,docker,hadoop,大数据)