Hadoop-2.8.0 开发环境搭建(Mac)
Hadoop是一个由Apache基金会开发的分布式系统架构,简称HDFS,具有高容错性、可伸缩性等特点,并且可以部署在低配置的硬件上;同时,提供了高吞吐量的数据访问性能,适用于超大数据集的应用程序,以及通过集群拓扑高效快速的处理数据的能力。
本文主要介绍一下Hadoop的开发环境搭建,平台是Mac系统。
下载源码
在搭建环境之前,需要先下载hadoop的binary,可以把source也下载下来,方便以后阅读。下载后进行解压:
$ tar -zxvf hadoop-2.8.0.tar.gz
配置hadoop
hadoop的配置稍许麻烦,暂时没有一键化配置的功能;另外,hadoop是基于java开发的,所需需要安装java开发环境,如果没有安装,请参考其它资料先安装java开发环境。设置好java开发环境后,再设置hadoop的开发环境。
hadoop的配置文件主要都在etc/hadoop目录下,可以配置hdfs、yarn、mapreduce等,下面具体介绍:
1. 添加hadoop环境变量
添加的方式很多,可以修改系统级的文件,如:/etc/bashrc、/etc/profile,也可以修改当然用户的文件,比如:~/.bash_profile(shell用的是bash)、~/.zshrc(shell用的是zsh),添加如下代码即可
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
export HADOOP_HOME=/Users/gandalf/Documents/kelvin/Hadoop/hadoop-2.8.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
配置完成后,需要设置其生效,安装zsh的配置设置:
$ source ~/.zshrc
设置完成后,如果出现下面信息,表示hadoop开发环境变量设置好了
$ hadoop version
Hadoop 2.8.0
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 91f2b7a13d1e97be65db92ddabc627cc29ac0009
Compiled by jdu on 2017-03-17T04:12Z
Compiled with protoc 2.5.0
From source with checksum 60125541c2b3e266cbf3becc5bda666
This command was run using /Users/gandalf/Documents/kelvin/Hadoop/hadoop-2.8.0/share/hadoop/common/hadoop-common-2.8.0.jar
2. 修改hadoop-env.sh
直接设置JAVA_HOME的路径,不要用$JAVA_HOME代替,因为hadoop对系统变量的支持不是太好
# The java implementation to use.
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
3. 修改core-site.xml
设置hadoop的临时目录及文件系统,其中localhost:9000表示本地主机,如果是远程主机,则需要把localhost修改为相应的IP地址,如果填写远程主机的域名,则需要到/etc/hosts文件中做DNS映射
<configuration>
<!--设置临时目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/Users/gandalf/Documents/kelvin/Hadoop/hadoop-2.8.0/data</value>
</property>
<!--设置文件系统-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
4. 配置hdfs-site.xml
由于是一台Mac电脑,所以数据的副本设置为1,默认是3
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
5. 配置mapred-site.xml
由于hadoop的根目录下的etc/hadoop目录下没有mapred-site.xml文件,所以需要创建该文件,但是我们可以直接把etc/hadoop目录下的mapred-site.xml.template文件重命名为mapred-site.xml,然后配置数据处理的框架为yarn。
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
6. 配置yarn-site.xml
配置数据处理框架yarn
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>localhost:9000</value>
</property>
</configuration>
启动hadoop
配置完hadoop后,就可以启动hadoop了
1. 启动namenode
$ hadoop namenode -format
如果出现如下图片提示,表示namenode启动成功

需要注意的是,如果有错误,请先检查是不是hadoop安装包是32-bit,而计算机系统是64-bit,造成不匹配
2. 启动hdfs
启动hdfs,有可能需要输入3次密码
$ start-dfs.sh
如果出现如下提示,表示hadoop无法远程登录主机,需要开放权限

具体开放权限的步骤如下,先到系统设置里的共享里,然后允许远程登录,最后添加当前的用户即可:


如果不想每次启动都输入3次密码,可以添加ssh的公钥到authorized_keys文件中
// 添加ssh的公钥到authorized_keys文件中
$ mkdir ~/.ssh && cd ~/.ssh
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3. 启动yarn
启动数据处理mapreduce框架yarn
$ start-yarn.sh
如果执行jps命令出现如下提示,表示hadoop启动完成

4. 浏览器查看hadoop
我们也可以通过浏览器查看hadoop的详细信息,打开链接:
http://localhost:50070/
然后在如下界面,我们就可以查看hadoop的具体信息了

hadoop的开发环境搭建如上,如有不足之处,欢迎指出,共同进步
Hadoop-2.8.0 开发环境搭建(Mac)的更多相关文章
- (一)Hololens Unity 开发环境搭建(Mac BOOTCAMP WIN10)
(一)Hololens Unity 开发环境搭建(Mac BOOTCAMP WIN10) 系统要求 64位 Windows 10 除了家庭版的 都支持 ~ 64位CPU CPU至少是四核心以上~ 至少 ...
- vue开发环境搭建Mac版
一.前言 要做一个移动端app,面对webapp最流行的三个技术React,angular,vue,三选一,如何选,可参考blog移动app技术选型,react,angular, vue, 下面是对 ...
- android 5.0开发环境搭建
Android 5.0 是 Google 于 2014 年 10 月 15 日发布的全新 Android 操作系统.本文将就最新的Android 5.0 开发环境搭建做详细介绍. 工具/原料 jdk- ...
- CC++初学者编程教程(2) Microsoft Visual C++ 6.0开发环境搭建
上一篇演示的是如何安装VS2010,本文演示的是如何安装Microsoft Visual C++ 6.0 简称VC6. 有同学经常VC6都是很古董的版本了,为啥他还存在,不得不说VC6是微软一个很经典 ...
- IMX6开发板Qtopia2.2.0开发环境搭建以及编译镜像
搭建 Qtopia2.2.0 开发环境,需要先搭建 Android 的编译环境,然后在 Android 编译环境的基础上,再搭建 Qtopia2.2.0 编译环境.以下内容基于迅为-iMX6开发板.Q ...
- Cocos2d-x.3.0开发环境搭建
配置:win7 + VS2012 + Cocos2d-x.3.0 + Cocos Studio v1.4.0.1 前言:本文介绍在上述配置下进行游戏开发的环境搭建.开发语言为C++.如果读者不需要查看 ...
- AndroidStudio2.0开发环境搭建
实验内容 下载安装Android Studio 配置使用环境 实验要求 下载安装Android Studio 基本环境配置 实验步骤 1.首先从安卓开发者网站下载最新的Android Studio h ...
- MongoDB 4.0 开发环境搭建集群
环境准备 Liunx 服务器一台 以下示例为单机版安装集群, 没有分片 MongoDB 安装 1.下载 MongoDB tgz 安装包: 可以从下载中心下载: https://www.mongodb. ...
- JAVA开发环境搭建(Mac)
1. 打开Terminal, 执行命令: java -version 即可查看到我们所安装的jdk版本. 2.安装jdk成功之后,我们还需要配置jdk环境变量. 使用命令: /usr/libexec/ ...
随机推荐
- DOM元素拖拽效果
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- 解决CentOS7中文乱码(包括Tomcat日志乱码)问题
Linux系统中文语言乱码,是很多小伙伴在开始接触Linux时经常遇到的问题,而且当我们将已在Wndows部署好的项目搬到Linux上运行,Tomcat的输出日志中文全为乱码(在Windows上正常) ...
- 算法设计与分析 上机题Mergesort
#include <iostream>using namespace std; #define N 100 int g_array[N]; //存放输入的数字static int ...
- 关于非阻塞connnect的看法
关于非阻塞connnect的总结 在面试题中,看到有关于阻塞connect和非阻塞connect的区别: 显然,我们可以从阻塞和非阻塞的意思来回答,既然是阻塞,那么执行connect的操作会一直阻塞到 ...
- python基础(2):python的变量和常量
今天看看python的变量和常量:python3 C:\test.py 首先先说一下解释器执行Python的过程: 1. 启动python解释器(内存中) 2. 将C:\test.py内容从硬盘读入内 ...
- Mybatis-多对多
先说一下需求: 在页面上显示数据库中的所有图书,显示图书的同时,显示出该图书所属的类别(这里一本书可能同时属于多个类别) 测试环境:MySQL.MyEclipse 创建表: 笔者这里使用 中间表 连接 ...
- BootLoader--改进(基于2440)
BootLoader--改进 之前编写的Bootloader启动内核时间使用差不多7秒钟的时间,大多都是用在CPU将内核从Nandflash读取到SDRam中,故首先想到的方法是改变CPU时钟频率. ...
- centos7 安装elasticsearch
[root@localhost local]# tar xzvf elasticsearch-2.3.5.tar.gz [root@localhost elasticsearch-2.3.5]# bi ...
- centos 6.5系统判断软件是否安装,如果没安装,则直接使用yum安装,并添加启动项
function install_software(){ software=$1 s=`rpm -qa|grep ${software}` result=$(echo ${s}|grep ${soft ...
- docker~Dockerfile优化程序的部署
回到目录 一些理论 我们都知道docker这个容器工具可以帮助我们快速进行环境的部署,这对于运营人员来说,无疑是个福音,而这个工作大叔认为不应该是运营人员干的,而是由开发人员来做,因为只有你知道你干的 ...