Mac下面配置hadoop 3.1.1

Java 版本 1.8.0_18

mac os 10.13.6

hadoop 版本: 3.1.1

安装Java

首先要确定mac上是否安装了Java环境, 在命令行输入下面的语句就可以验证并得到Java的版本。

java -version

如果没有安装好Java环境,网上有很多安装Java的教程,大家可以去查阅。

安装hadoop

在mac上brew很方便的对软件进行安装和卸载。

brew install hadoop

然后使用下面的命令,如果出现hadoop的版本信息则表示安装成功。

hadoop version

配置ssh环境

在terminal里面输入: ssh localhost

如果有错误提示信息,表示当前用户没有权限。这个多半是系统为安全考虑,默认设置的。

更改设置如下:进入system preference --> sharing --> 勾选remote login,并设置allow access for all users。

再次输入“ssh localhost",再输入密码并确认之后,可以看到ssh成功。

如果不执行这一步,后面启动hadoop时会出现Connection refused的错误。

配置hadoop

从命令行进入/usr/local/Cellar/hadoop/3.1.1/libexec/etc/hadoop,然后修改下面的文件。

1、修改core-site.xml


        
    fs.defaultFS
    hdfs://localhost:8020
  

  
  
    hadoop.tmp.dir
    file:/usr/local/Cellar/hadoop/tmp
  


2、修改hdfs-site.xml,配置namenode和datanode


        
                dfs.replication
                1
        
        
        
                dfs.permissions
                false    
        
        
        
                dfs.namenode.name.dir
                file:/usr/local/Cellar/hadoop/tmp/dfs/name
        
        
        
                dfs.datanode.data.dir
                file:/usr/local/Cellar/hadoop/tmp/dfs/data
        

3、修改 mapred-site.xml.


  
    
    mapreduce.framework.name
    yarn
  
  
     mapred.job.tracker
     localhost:9010
  
  
  
  
     yarn.app.mapreduce.am.env
     HADOOP_MAPRED_HOME=/usr/local/Cellar/hadoop/3.1.1/libexec
  
  
     mapreduce.map.env
     HADOOP_MAPRED_HOME=/usr/local/Cellar/hadoop/3.1.1/libexec
  
  
     mapreduce.reduce.env
     HADOOP_MAPRED_HOME=/usr/local/Cellar/hadoop/3.1.1/libexec


然后输入hdfs namenode -format 格式化namenode节点,看到下面的结果就说明成功了。

4、修改yarn-site.xml


    yarn.nodemanager.aux-services
    mapreduce_shuffle
  

    yarn.resourcemanager.address
    localhost:9000
   

启动hadoop 

在sbin/目录下输入./start-dfs.sh启动hdfs服务。然后,在浏览器中输入http://localhost:9870/,出现以下界面就说明成功了。特别要注意的是这里不是http://localhost:50070。输入./stop-dfs.sh就可以停止服务。

Mac下面配置hadoop 3.1.1_第1张图片

启动yarn服务

在sbin目录下输入./start-yarn.sh, 然后在浏览器中打开http://localhost:8088/就会出现下图的界面。用./stop-yarn.sh可以停止服务。

 Mac下面配置hadoop 3.1.1_第2张图片

至此,配置就成功了。配置时有个警告,WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable,但是不会影响搭建。还没有在上面运行例子,还不知道会不会有问题。

后面在上面运行了workcount的例子,可以正常运行!!但是需要在mapred-site.xml里面添加几个, 代码里面已经备注了新添加。否则mapreduce的时候会出错误。

如果yarn-site.xml没有配置好,在后面使用hive执行mapreduce sql任务就有可能会出现下面的错误:

ACCEPTED: waiting for AM container to be allocated, launched and register with RM.状态

在yarn-site.xml加入下面一段代码可能会解决问题。记得要重启yarn,不然修改可能不会生效。 


  yarn.scheduler.capacity.maximum-am-resource-percent
  100

参考连接:https://www.jianshu.com/p/34521593f30e

                  https://www.swift.red/2018/05/10/machadoop3.1.0/

                  https://stackoverflow.com/questions/34467308/mapreduce-job-hangs-waiting-for-am-container-to-be-allocated

                  https://blog.csdn.net/a1833255/article/details/81158435

你可能感兴趣的:(Hadoop)