当前位置:   article > 正文

[hadoop]3.0.0版本以上mac hadoop环境配置安装,以及安装的一些坑解决_mac 配置hadoop-3.2.2

mac 配置hadoop-3.2.2

目录

前言:

1. 下载最新的hadoop 安装包

2. 安装hadoop

2.1 查看java环境位置

2.2 修改hadoop-env.sh文件

2.3 修改core-site.xml

2.4 配置文件系统 hdfs-site.xml

2.5 配置计算框架 mapred-site.xml

2.6 配置文件系统 yarn-site.xml

2.7 Hadoop namenode 格式化

3. 启动hadoop集群

3.1 如果Connection refused配置ssh

3.2  util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

3.3 发现http://localhost:50070启动之后打不开,其实hadoop3.0之后变成了http://localhost:9870

3.4 18088 yarn正常


前言:

Hadoop运行环境基于Java,必须要有jdk环境

修改配置文件,用图形化的就好,不用非得vim。右键要打开的文件,选择打开方式-文本编辑。

注意建立文件夹,给与最高权限哈。否则可能会出问题。

1. 下载最新的hadoop 安装包

https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.2.2/hadoop-3.2.2.tar.gz

也可以用brew安装

brew install hadoop

brew下载的话,会在/usr/local/Cellar/ 这个目录下面。

那么去找:

/usr/local/Cellar/hadoop/

直接下下来:

我选择直接下下来,放在我常用的环境目录。(因为brew好慢)

下下来直接用图形化的拷贝到想放的目录,然后双击解压即可。

我放在了用户根目录建了一个environment的文件夹,常用的环境变量都放在那了

/Users/dk/environment/hadoop/hadoop-3.2.2

2. 安装hadoop

这个是解压缩hadoop所在的文件夹目录

HADOOP_HOME=/Users/dk/environment/hadoop/hadoop-3.2.2

先编辑

vim ~/.bash_profile

添加下述内容,注意 HADOOP_HOME要更改为你自己的安装环境目录

vim 按i 进行插入编辑,按esc然后:wq!保存

  1. # hadoop
  2. export HADOOP_HOME=/Users/dk/environment/hadoop/hadoop-3.2.2
  3. export HADOOP_INSTALL=$HADOOP_HOME
  4. export HADOOP_MAPRED_HOME=$HADOOP_HOME
  5. export HADOOP_COMMON_HOME=$HADOOP_HOME
  6. export HADOOP_HDFS_HOME=$HADOOP_HOME
  7. export YARN_HOME=$HADOOP_HOME
  8. export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
  9. export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
  10. export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
  1. 退出编辑模式,使用 :wq! 保存修改

  2. 使环境变量生效 source ~/.bash_profile

终端输入检查是否配置成功:

hadoop version

Hadoop 3.2.2
Source code repository Unknown -r 7a3bc90b05f257c8ace2f76d74264906f0f7a932
Compiled by hexiaoqiao on 2021-01-03T09:26Z
Compiled with protoc 2.5.0
From source with checksum 5a8f564f46624254b27f6a33126ff4
This command was run using /Users/dk/environment/hadoop/hadoop-3.2.2/share/hadoop/common/hadoop-common-3.2.2.jar

 

2.1 查看java环境位置

终端输入:

 /usr/libexec/java_home

结果: 

/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home

接下来修改etc/hadoop/下面的sh文件和xml配置文件(我直接在图形化界面找的)

2.2 修改hadoop-env.sh文件

command+f 搜索

# export JAVA_HOME=

然后填充上面的java环境位置

2.3 修改core-site.xml

放在<configuration>里面</configuration>

默认情况下,Hadoop 将数据保存在/tmp 下,当重启系统时,/tmp 中的内容将被自动清空, 所以我们需要指定自己的一个 Hadoop 的目录,用来存放数据。

另外需要配置 Hadoop 所使用的默认文件系统,以及 Namenode 进程所在的主机。

注意更改 file的位置,换成自己建立的一个缓存目录

  1. <property>
  2. <name>fs.defaultFS</name>
  3. <value>hdfs://localhost:9000</value>
  4. </property>
  5. <!--用来指定hadoop运行时产生文件的存放目录 自己创建-->
  6. <property>
  7. <name>hadoop.tmp.dir</name>
  8. <value>file:/Users/dk/Documents/hadoop_tmp</value>
  9. </property>
  10. <property>
  11. <name>fs.trash.interval</name>
  12. <value>1440</value>
  13. </property>

2.4 配置文件系统 hdfs-site.xml

该文件指定与 HDFS 相关的配置信息。需要修改 HDFS 默认的块的副本属性,因为 HDFS 默认 情况下每个数据块保存 3 个副本,而在伪分布式模式下运行时,由于只有一个数据节点,所 以需要将副本个数改为 1;否则 Hadoop 程序会报错。

注意更换目录,自己建立dfs/name文件夹

  1. <property>
  2. <name>dfs.replication</name>
  3. <value>1</value>
  4. </property>
  5. <!--不是root用户也可以写文件到hdfs-->
  6. <property>
  7. <name>dfs.permissions</name>
  8. <value>false</value> <!--关闭防火墙-->
  9. </property>
  10. <!-- name node 存放 name table 的目录 -->
  11. <property>
  12. <name>dfs.namenode.name.dir</name>
  13. <value>file:/Users/dk/Documents/hadoop_tmp/dfs/name</value>
  14. </property>
  15. <!-- data node 存放数据 block 的目录 -->
  16. <property>
  17. <name>dfs.datanode.data.dir</name>
  18. <value>file:/Users/dk/Documents/hadoop_tmp/dfs/data</value>
  19. </property>

2.5 配置计算框架 mapred-site.xml

可能历史版本,没有mapred-site.xml,提供了模板 mapred-site.xml.template 将其重命名为 mapred-site.xml 即可。

该版本存在,直接编辑。

  1. <property>
  2. <!--指定mapreduce运行在yarn上-->
  3. <name>mapreduce.framework.name</name>
  4. <value>yarn</value>
  5. </property>

2.6 配置文件系统 yarn-site.xml

  1. <!-- Site specific YARN configuration properties -->
  2. <property>
  3. <!-- mapreduce 执行 shuffle 时获取数据的方式 -->
  4. <name>yarn.nodemanager.aux-services</name>
  5. <value>mapreduce_shuffle</value>
  6. </property>
  7. <property>
  8. <name>yarn.resourcemanager.address</name>
  9. <value>localhost:18040</value>
  10. </property>
  11. <property>
  12. <name>yarn.resourcemanager.scheduler.address</name>
  13. <value>localhost:18030</value>
  14. </property>
  15. <property>
  16. <name>yarn.resourcemanager.resource-tracker.address</name>
  17. <value>localhost:18025</value>
  18. </property>
  19. <property>
  20. <name>yarn.resourcemanager.admin.address</name>
  21. <value>localhost:18141</value>
  22. </property>
  23. <property>
  24. <name>yarn.resourcemanager.webapp.address</name>
  25. <value>localhost:18088</value>
  26. </property>

2.7 Hadoop namenode 格式化

hdfs namenode -format 成功则会看到”successfully formatted”和”Exitting with status 0”的提示,若为 “Exitting with status 1” 则是出错。

报错

2021-01-26 15:26:37,331 ERROR conf.Configuration: error parsing conf core-site.xml

因为,少了个 <

可以用https://www.runoob.com/xml/xml-validator.html来进行xml校验。已改正。

见到了successfully成功:

2021-01-26 15:30:30,464 INFO common.Storage: Storage directory /Users/dk/Documents/hadoop_tmp/dfs/name has been successfully formatted.

3. 启动hadoop集群

正常启动:

Web UI 查看集群是否成功启动,浏览器中打开http://localhost:50070/,以及http://localhost:18088/;检查 namenode 和 datanode 是否正常,检查 Yarn 是否正常。

检查:

终端输入jps

遇到了:Connection refused

Starting resourcemanager

Starting nodemanagers

localhost: ssh: connect to host localhost port 22: Connection refused

3.1 如果Connection refused配置ssh

  1. ssh-keygen -t rsa
  2. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  3. # 验证ssh
  4. ssh localhost

如果已经配置过git

直接用

  1. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  2. # 验证ssh
  3. ssh localhost

验证结果:

Last login: Tue Jan 26 15:37:56 2021 from 127.0.0.1

3.2  util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

查询得到,暂时无视

对后续操作比如hadoop fs和hive等不影响,不是强迫症的可以暂时无视它,哈哈),无法为平台加载本地hadoop库…可使用合适的内置java类。

3.3 发现http://localhost:50070启动之后打不开,其实hadoop3.0之后变成了http://localhost:9870

解决:

自Hadoop 3.0.0 - Alpha 1以来,端口配置发生了变化:

http://localhost:50070

已移至

http://localhost:9870

请参阅 https://issues.apache.org/jira/browse/HDFS-9427

3.4 18088 yarn正常

 

完整走了一遍安装配置~下面开始wordcount

 

参考:https://blog.csdn.net/b_aihe/article/details/96650866

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/793904
推荐阅读
相关标签
  

闽ICP备14008679号