Mac OS X 上搭建 Hadoop 开发环境指南

 

Hadoop 的配置有些麻烦,目前没有一键配置的功能,虽然当时我在安装过程中也参考了有关教程,但还是遇到了很多坑,一些老版本的安装过程已不适用于 hadoop2.x,下面就介绍一下具体步骤。


安装 Java

因为之后使用 Hadoop 需要运行 jar 包,所以 Java 环境是必须的,这里不作赘述,相信大多数学习 Hadoop 的小伙伴计算机上都早已经搭好 Java 环境。


下载 Hadoop 源码

点击 这里 ,有所有的历史版本。本教程以 hadoop-2.8.2 为例,下载 hadoop-2.8.2.tar.gz即可。下载完成后,解压到本地合适的目录下。


添加 Hadoop 环境变量

在 .bash_profile 文件中配置 Hadoop 的环境变量,使用 vim 打开该文件,在终端运行如下命令打开文件:

vim ~/.bash_profile

进入编辑模式后添加以下两行代码(修改成自己机子上的路径):

export HADOOP_HOME=/Users/Cyan/coding/hadoop/hadoop-2.8.2
export PATH=$PATH:$HADOOP_HOME/bin

退出编辑模式,使用 :wq 保存修改,然后运行 source 命令使文件中的修改立即生效:

#source ~/.bash_profile

在终端执行命令:

hadoop version

结果如下,说明 hadoop 路径配置好了:

Mac OS X 上搭建 Hadoop 开发环境指南_第1张图片

添加好了环境变量,下面就是修改一些相关配置文件。


修改 Hadoop 的配置文件

需要修改的 Hadoop 配置文件都在目录 etc/hadoop 下,包括:

  • hadoop-env.sh
  • core-site.xml
  • hdfs-site.xml
  • mapred-site.xml
  • yarn-site.xml

下面我们逐步进行配置:

1. 修改 hadoop-env.sh 文件

直接设置 JAVA_HOME 的路径,不要用$JAVA_HOME 代替,因为 Hadoop 对系统变量的支持不是很好。修改下面两个路径(用你机子上的 JAVA 路径和 Hadoop 目录的路径代替):

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
export HADOOP_CONF_DIR=/Users/Cyan/coding/hadoop/hadoop-2.8.2/etc/hadoop

2. 修改 core-site.xml 文件

设置 Hadoop 的临时目录和文件系统,localhost:9000 表示本地主机。如果使用远程主机,要用相应的 IP 地址来代替,填写远程主机的域名,则需要到 /etc/hosts 文件中做 DNS 映射。在 core-site.xml 文件里作如下配置:


	
    fs.defaultFS
    hdfs://localhost:9000
  

  
  
    hadoop.tmp.dir
    /Users/Cyan/coding/hadoop/hadoop-2.8.2/tmp
  

3. 修改 hdfs-site.xml 文件

hdfs-site.xml 的配置修改如下,注意 name 和 data 的路径都要替换成本地的路径:


	
		dfs.replication
		1
	
	
	
		dfs.permissions
		false    
	
        
        
                dfs.namenode.name.dir
                /home/hadoop/cdh4/hadoop/dfs/name
        
        
        
                dfs.datanode.data.dir
                /data1/hadoop
        

4. 修改 mapred-site.xml 文件

由于根目录下 etc/hadoop 中没有 mapred-site.xml 文件,所以需要创建该文件。但是目录中提供了 mapred-site.xml.template 模版文件。我们将其重命名为 mapred-site.xml,然后将 yarn 设置成数据处理框架:


  
    
    mapreduce.framework.name
    yarn
  

5. 修改 yarn-site.xml 文件

配置数据的处理框架 yarn:


  
  
    yarn.nodemanager.aux-services
    mapreduce_shuffle
  
  
    yarn.resourcemanager.address
    localhost:9000
  

至此需要修改和配置的文件都已经没有问题了。


启动 Hadoop

1. 启动 NameNode

在终端运行命令:

hadoop namenode -format

结果如下就是成功了:

Mac OS X 上搭建 Hadoop 开发环境指南_第2张图片

2. 启动 HDFS

在终端首先进入 /sbin 目录:

cd /Users/Cyan/coding/hadoop/hadoop-2.8.2/sbin

然后启动 HDFS:

./start-dfs.sh

如果成功了,过程中需要输三次密码。

如果报错 “connection refused”,则需要在计算机系统设置中打开远程登录许可。

点击 Sharing(共享):

Mac OS X 上搭建 Hadoop 开发环境指南_第3张图片

勾选 Remote Login(远程登录),然后添加当前用户:

Mac OS X 上搭建 Hadoop 开发环境指南_第4张图片

这样就会解决 connection 的问题,如果还有其他错误,请检查路径添加的版本和本机的版本是否匹配。

3. 启动 yarn

在终端首先进入 /sbin 目录:

cd /Users/Cyan/coding/hadoop/hadoop-2.8.2/sbin

然后启动 yarn:

./ start-yarn.sh

在终端执行:

jps

结果如下,证明 Hadoop 可以成功启动:

Mac OS X 上搭建 Hadoop 开发环境指南_第5张图片

我们也可以在浏览器中打开 http://localhost:50070/ 来查看 Hadoop 的启动情况:

Mac OS X 上搭建 Hadoop 开发环境指南_第6张图片


Hadoop 的安装启动就完成啦!接下来就可以通过一些 shell 命令来操作 Hadoop 下的文件了,例如:

hadoop fs -ls /        查看根目录下的文件及文件夹
hadoop fs -mkdir /test      在根目录下创建一个文件夹 testdata
hadoop fs -rm /.../...      移除某个文件
hadoop fs -rmr /...         移除某个空的文件夹

 

欢迎关注我的知乎专栏【数据池塘】,专注于分享机器学习、数据挖掘干货:https://zhuanlan.zhihu.com/datapool

 

⬇️ 扫描下方二维码关注公众号【数据池塘】 ⬇️

回复【算法】,获取最全面的机器学习算法网络图:

Mac OS X 上搭建 Hadoop 开发环境指南_第7张图片

 

 

你可能感兴趣的:(数据科学)