使用docker搭建hadoop环境,并配置伪分布式模式
docker
1、下载docker镜像
docker pull registry.cn-hangzhou.aliyuncs.com/kaibb/hadoop:latest
注:此镜像为阿里云个人上传镜像,比较符合目前我的需求,镜像为搭建好的hadoop环境,见https://dev.aliyun.com/detail.html?spm=5176.1972343.2.14.Q2Swxa&repoId=4030
2、运行docker镜像
docker run -itd --name hadoop -h hadoop -P registry.aliyuncs.com/kaibb/hadoop
3、查看容器运行状态
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
733301fddfa5 registry.aliyuncs.com/kaibb/hadoop "/usr/sbin/sshd -D" 6 seconds ago Up 4 seconds 0.0.0.0:32783->22/tcp, 0.0.0.0:32782->2122/tcp, 0.0.0.0:32781->8030/tcp, 0.0.0.0:32780->8031/tcp, 0.0.0.0:32779->8032/tcp, 0.0.0.0:32778->8033/tcp, 0.0.0.0:32777->8040/tcp, 0.0.0.0:32776->8042/tcp, 0.0.0.0:32775->8088/tcp, 0.0.0.0:32774->19888/tcp, 0.0.0.0:32773->49707/tcp, 0.0.0.0:32772->50010/tcp, 0.0.0.0:32771->50020/tcp, 0.0.0.0:32770->50070/tcp, 0.0.0.0:32769->50075/tcp, 0.0.0.0:32768->50090/tcp hadoop
注:显示的信息比较乱,这里把主要信息解释一下。当前容器映射出几个不同的端口,表格如下:
- 32783->22
- 32782->2122
- 32781->8030
- 32780->8031
- 32779->8032
- 32778->8033
- 32777->8040
- 32776->8042
- 32775->8088
- 32774->19888
- 32773->49707
- 32772->50010
- 32771->50020
- 32770->50070
- 32769->50075
- 32768->50090
如果之后容器外想访问容器的某个端口时,只需要访问容器ip+映射端口即可
4、进入容器
docker exec -it hadoop bash
//格式化namenode hadoop安装在/opt/tools下,因为己经加了执行目录的环境变量,所以在任何目录下运行hadoop命令都可以
hadoop
1、配置hadoop伪分布模式
由于此docker镜像已经进行了相关配置,故可直接跳过配置过程,直接启动服务。可以跳过此部分
Hadoop 可以在单节点上以所谓的伪分布式模式运行,此时每一个 Hadoop 守护进程都作为一个独立的 Java 进程运行。
修改如下配置文件,文件地址位于hadoop的安装目录下,此容器中的位置为:/opt/tools/hadoop/etc/hadoop/
etc/hadoop/core-site.xml:
<configuration>
<!-- 配置hdfs的namenode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
etc/hadoop/hdfs-site.xml:
<configuration>
<!--指定hdfs存储数据的副本数量-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--指定datanode的存储地-->
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/hadoop/data</value>
</property>
<!--指定namenode的存储地-->
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/hadoop/name</value>
</property>
</configuration>
etc/hadoop/mapred-site.xml
<configuration>
<!--指定mapreduce编程模型运行在yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
etc/hadoop/yarn-site.xml
<configuration>
<!--mapreduce执行shuffle时获取数据的方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
2、格式化一个新的分布式文件系统:
bin/hdfs namenode -format
当看到 INFO common.Storage: Storage directory /hadoop/name has been successfully formatted. 的信息就表示格式化成功,一般不成功的情况多为xml配置有误。
3、启动 NameNode 守护进程和 DataNode 守护进程:
./sbin/start-dfs.sh
jps //列出本机所有java进程的pid,显示如下内容则表示成功
root@hadoop:/opt/tools/hadoop# jps
609 Jps
210 NameNode
307 DataNode
494 SecondaryNameNode
4、启动yarn进程
./sbin/start-yarn.sh
jps //此时yarn进程已开
210 NameNode
915 Jps
307 DataNode
667 ResourceManager
494 SecondaryNameNode
766 NodeManager
使用docker搭建hadoop环境,并配置伪分布式模式的更多相关文章
- 【一】、搭建Hadoop环境----本地、伪分布式
## 前期准备 1.搭建Hadoop环境需要Java的开发环境,所以需要先在LInux上安装java 2.将 jdk1.7.tar.gz 和hadoop 通过工具上传到Linux服务器上 3. ...
- cdh版本的hadoop安装及配置(伪分布式模式) MapReduce配置 yarn配置
安装hadoop需要jdk依赖,我这里是用jdk8 jdk版本:jdk1.8.0_151 hadoop版本:hadoop-2.5.0-cdh5.3.6 hadoop下载地址:链接:https://pa ...
- Docker搭建Hadoop环境
文章目录 Docker搭建Hadoop环境 Docker的安装与使用 拉取镜像 克隆配置脚本 创建网桥 执行脚本 Docker命令补充 更换镜像源 安装vim 启动Hadoop 测试Word Coun ...
- 云计算课程实验之安装Hadoop及配置伪分布式模式的Hadoop
一.实验目的 1. 掌握Linux虚拟机的安装方法. 2. 掌握Hadoop的伪分布式安装方法. 二.实验内容 (一)Linux基本操作命令 Linux常用基本命令包括: ls,cd,mkdir,rm ...
- 06_Hadoop配置伪分布式模式详解
查看IP地址,设为手动模式: 配置hadoop用户sudo权限 su切换到root身份,配置vim /etc/sudoers文件,加入 hadoop ALL=(root)NOPASSWD:ALL ...
- hadoop 2.7.3伪分布式环境运行官方wordcount
hadoop 2.7.3伪分布式模式运行wordcount 基本环境: 系统:win7 虚机环境:virtualBox 虚机:centos 7 hadoop版本:2.7.3 本次以伪分布式模式来运行w ...
- Hadoop伪分布式模式部署
Hadoop的安装有三种执行模式: 单机模式(Local (Standalone) Mode):Hadoop的默认模式,0配置.Hadoop执行在一个Java进程中.使用本地文件系统.不使用HDFS, ...
- 初学者值得拥有【Hadoop伪分布式模式安装部署】
目录 1.了解单机模式与伪分布模式有何区别 2.安装好单机模式的Hadoop 3.修改Hadoop配置文件---五个核心配置文件 (1)hadoop-env.sh 1.到hadoop目录中 2.修 ...
- Hadoop Single Node Setup(hadoop本地模式和伪分布式模式安装-官方文档翻译 2.7.3)
Purpose(目标) This document describes how to set up and configure a single-node Hadoop installation so ...
随机推荐
- Oracle空表导出
执行: Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 执行该命令后产 ...
- C#根据byte前两位获取图片扩展名
C#根据byte前两位获取图片扩展名 /// <summary> /// 根据byte前两位获取图片扩展名 /// </summary> /// <param name= ...
- 了解java虚拟机—JVM相关参数设置(2)
1. JVM相关参数设置 JVM相关配置 -XX:+PrintGC 两次次YoungGC,两次FullGC. -XX:+PrintGCDetails 打印GC时的内存,并且在程序结束时打印堆内存使 ...
- 深入理解Java虚拟机--阅读笔记二
垃圾收集器与内存分配策略 一.判断对象是否已死 1.垃圾收集器在对堆进行回收前,要先判断对象是否已死.而判断的算法有引用计数算法和可达性分析算法: 2.引用计数算法是给对象添加引用计数器,有地方引用就 ...
- ORACLE查看数据库已安装补丁
cd $ORACLE_HOME ./opatch lsinventory :}
- 关于UltraWinGrid选中行只读设置
刚开始设置了 一些属性不起作用,后来检查下属性发现一旦对DataSource赋值 则属性会被重置 如果是通过绑定DataSet的方式 则需要再后面设置 ].Override.CellClickActi ...
- POJ2236(KB5-A)
Wireless Network Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 28617 Accepted: 118 ...
- PHP-隐藏手机号中间四位
substr_replace('手机号', '****', 3, 4);
- css实现3D立方体旋转特效
先来看运行后出来的效果 它是在不停运行的一个立方体 先来看html部分的代码 <div class="rect-wrap"> <!--舞台元素,设置perspec ...
- objc与鸭子对象(上)
这是<objc与鸭子对象>的上半部分,<objc与鸭子对象(下)>中介绍了鸭子类型的进阶用法.依赖注入以及demo. 我是前言 鸭子类型(Duck Type)即:“当看到一只鸟 ...