共计 3905 个字符,预计需要花费 10 分钟才能阅读完成。
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
的开发环境搭建如上,如有不足之处,欢迎指出,共同进步
Hadoop2.3-HA 高可用集群环境搭建 http://www.linuxidc.com/Linux/2017-03/142155.htm
Hadoop 项目之基于 CentOS7 的 Cloudera 5.10.1(CDH)的安装部署 http://www.linuxidc.com/Linux/2017-04/143095.htm
Hadoop2.7.2 集群搭建详解(高可用)http://www.linuxidc.com/Linux/2017-03/142052.htm
使用 Ambari 来部署 Hadoop 集群(搭建内网 HDP 源)http://www.linuxidc.com/Linux/2017-03/142136.htm
Ubuntu 14.04 下 Hadoop 集群安装 http://www.linuxidc.com/Linux/2017-02/140783.htm
Ubuntu 16.04 上构建分布式 Hadoop-2.7.3 集群 http://www.linuxidc.com/Linux/2017-07/145503.htm
CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试 http://www.linuxidc.com/Linux/2017-09/146864.htm
CentOS 7 下 Hadoop 2.6.4 分布式集群环境搭建 http://www.linuxidc.com/Linux/2017-06/144932.htm
Hadoop2.7.3+Spark2.1.0 完全分布式集群搭建过程 http://www.linuxidc.com/Linux/2017-06/144926.htm
更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-09/147067.htm