文档章节

Hadoop-2.8.0 开发环境搭建(Mac)

飞鱼湾
 飞鱼湾
发布于 2017/07/24 16:09
字数 1111
阅读 8
收藏 0

Hadoop是一个由Apache基金会开发的分布式系统架构,简称HDFS,具有高容错性、可伸缩性等特点,并且可以部署在低配置的硬件上;同时,提供了高吞吐量的数据访问性能,适用于超大数据集的应用程序,以及通过集群拓扑高效快速的处理数据的能力。

本文主要介绍一下Hadoop的开发环境搭建,平台是Mac系统。

下载源码

在搭建环境之前,需要先下载hadoopbinary,可以把 source也下载下来,方便以后阅读。下载后进行解压:

$ tar -zxvf hadoop-2.8.0.tar.gz

配置hadoop

hadoop的配置稍许麻烦,暂时没有一键化配置的功能;另外,hadoop是基于java开发的,所需需要安装java开发环境,如果没有安装,请参考其它资料先安装java开发环境。设置好java开发环境后,再设置hadoop的开发环境。

hadoop的配置文件主要都在etc/hadoop目录下,可以配置hdfsyarnmapreduce等,下面具体介绍:

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启动成功

图1

需要注意的是,如果有错误,请先检查是不是hadoop安装包是32-bit,而计算机系统是64-bit,造成不匹配

2. 启动hdfs

启动hdfs,有可能需要输入3次密码

$ start-dfs.sh

如果出现如下提示,表示hadoop无法远程登录主机,需要开放权限

图2

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

图3

图4

如果不想每次启动都输入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启动完成

图5

4. 浏览器查看hadoop

我们也可以通过浏览器查看hadoop的详细信息,打开链接:

http://localhost:50070/

然后在如下界面,我们就可以查看hadoop的具体信息了

图6


hadoop的开发环境搭建如上,如有不足之处,欢迎指出,共同进步

© 著作权归作者所有

共有 人打赏支持
飞鱼湾
粉丝 2
博文 42
码字总数 74643
作品 0
浦东
程序员
Centos下docker搭建Hadoop集群

  随着业务发展需要,数据量的逐步提升,需要用到Hadoop来处理一些数据,所以搭建一个Hadoop集群,搭建Hadoop集群需要多台主机,但是由于资源有限,所以刚好可以利用近些年比较火的docker来...

大数据头条
2017/12/28
0
0
Live Node数量正确,但是DataNodes列表只能显示一条

Centos环境搭建hadoop2集群,hadoop版本为2.8.0,规划了三个datanode节点,搭建好后通过web平台可以看到LiveNode为3,但是点进去看DataNode列表只能显示一个节点(node name为 localhosl) ...

interceptor
2017/05/05
114
1
CentOS 下 Hadoop集群搭建

1 下载hadoop 2 安装3个虚拟机并实现ssh免密码登录 2.1安装3个机器 2.2检查机器名称 2.3修改/etc/hosts文件 2.4 给3个机器生成秘钥文件 2.5 在hserver1上创建authorized_keys文件 2.6将autho...

zxszxs
06/15
0
0
Java 运行HBase 例子报错

请问Java连接HBase报这个错怎么解决: Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.security.authentication.util.KerberosUtil.hasKerberosTicket(Ljavax......

驛路梨花醉美
2017/05/26
243
2
hadoop的datanode不能启动,谁能帮忙一下

@Baclk5 你好,想跟你请教个问题: [hadoop@slave2 hadoop-2.8.0]$ sbin/start-all.sh This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh Starting namenodes on [mas......

rulingyuye
2017/04/26
92
4

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Nginx防盗链、访问控制、Nginx解析PHP相关配置、Nginx代理

Nginx防盗链 在配置文件里写入以下内容: 用curl测试 访问控制 Nginx限制某些IP不能访问或者只允许某些IP访问。 配置文件写入如下内容: allow 表示允许访问的IP,deny限制访问的IP。 匹配正...

黄昏残影
25分钟前
0
0
自己动手实现RPC服务调用框架

转载 TCP的RPC 引言 本文利用java自带的socket编程实现了一个简单的rpc调用框架,由两个工程组成分别名为battercake-provider(服务提供者)、battercake-consumer(服务调用者)。 设计思路...

雨中漫步的鱼
28分钟前
0
0
Centos6.x安装之后的9件事

Centos6.x安装之后的9件事 这些不是必须都做的,只不过是我个人的习惯,在此记录一下。 1.修改yum源到国内 CentOS系统更换软件安装源 备份你的原镜像文件,以免出错后可以恢复。 mv /etc/yu...

叶云轩
33分钟前
7
0
springboot2 使用jsp NoHandlerFoundException

开发图片上传功能,为验证测试功能是否正常,使用JSP编写表单提交进行测试 开发完成后,请求API提示如下异常: No mapping found for HTTP request with URI [/WEB-INF/jsp/avatar_upload.j...

showlike
39分钟前
0
0
springboot踩坑记--springboot正常启动但访问404

一 spring boot的启动类不能直接放在main(src.java.main)这个包下面,把它放在有包的里面就可以了。 二 正常启动了,但是我写了一个controller ,用的@RestController 注解去配置的controlle...

onedotdot
40分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部