赞
踩
目录
3.3 发现http://localhost:50070启动之后打不开,其实hadoop3.0之后变成了http://localhost:9870
Hadoop运行环境基于Java,必须要有jdk环境
修改配置文件,用图形化的就好,不用非得vim。右键要打开的文件,选择打开方式-文本编辑。
注意建立文件夹,给与最高权限哈。否则可能会出问题。
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
这个是解压缩hadoop所在的文件夹目录
HADOOP_HOME=/Users/dk/environment/hadoop/hadoop-3.2.2
先编辑
vim ~/.bash_profile
添加下述内容,注意 HADOOP_HOME要更改为你自己的安装环境目录
vim 按i 进行插入编辑,按esc然后:wq!保存
- # hadoop
- export HADOOP_HOME=/Users/dk/environment/hadoop/hadoop-3.2.2
- export HADOOP_INSTALL=$HADOOP_HOME
- export HADOOP_MAPRED_HOME=$HADOOP_HOME
- export HADOOP_COMMON_HOME=$HADOOP_HOME
- export HADOOP_HDFS_HOME=$HADOOP_HOME
- export YARN_HOME=$HADOOP_HOME
- export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
- export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
- export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
退出编辑模式,使用 :wq! 保存修改
使环境变量生效 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
终端输入:
/usr/libexec/java_home
结果:
/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home
接下来修改etc/hadoop/下面的sh文件和xml配置文件(我直接在图形化界面找的)
command+f 搜索
# export JAVA_HOME=
然后填充上面的java环境位置
放在<configuration>里面</configuration>
默认情况下,Hadoop 将数据保存在/tmp 下,当重启系统时,/tmp 中的内容将被自动清空, 所以我们需要指定自己的一个 Hadoop 的目录,用来存放数据。
另外需要配置 Hadoop 所使用的默认文件系统,以及 Namenode 进程所在的主机。
注意更改 file的位置,换成自己建立的一个缓存目录
- <property>
- <name>fs.defaultFS</name>
- <value>hdfs://localhost:9000</value>
- </property>
- <!--用来指定hadoop运行时产生文件的存放目录 自己创建-->
- <property>
- <name>hadoop.tmp.dir</name>
- <value>file:/Users/dk/Documents/hadoop_tmp</value>
- </property>
- <property>
- <name>fs.trash.interval</name>
- <value>1440</value>
- </property>
该文件指定与 HDFS 相关的配置信息。需要修改 HDFS 默认的块的副本属性,因为 HDFS 默认 情况下每个数据块保存 3 个副本,而在伪分布式模式下运行时,由于只有一个数据节点,所 以需要将副本个数改为 1;否则 Hadoop 程序会报错。
注意更换目录,自己建立dfs/name文件夹
- <property>
- <name>dfs.replication</name>
- <value>1</value>
- </property>
- <!--不是root用户也可以写文件到hdfs-->
- <property>
- <name>dfs.permissions</name>
- <value>false</value> <!--关闭防火墙-->
- </property>
- <!-- name node 存放 name table 的目录 -->
- <property>
- <name>dfs.namenode.name.dir</name>
- <value>file:/Users/dk/Documents/hadoop_tmp/dfs/name</value>
- </property>
- <!-- data node 存放数据 block 的目录 -->
- <property>
- <name>dfs.datanode.data.dir</name>
- <value>file:/Users/dk/Documents/hadoop_tmp/dfs/data</value>
- </property>
可能历史版本,没有mapred-site.xml,提供了模板 mapred-site.xml.template 将其重命名为 mapred-site.xml 即可。
该版本存在,直接编辑。
- <property>
- <!--指定mapreduce运行在yarn上-->
- <name>mapreduce.framework.name</name>
- <value>yarn</value>
- </property>
- <!-- Site specific YARN configuration properties -->
- <property>
- <!-- mapreduce 执行 shuffle 时获取数据的方式 -->
- <name>yarn.nodemanager.aux-services</name>
- <value>mapreduce_shuffle</value>
- </property>
- <property>
- <name>yarn.resourcemanager.address</name>
- <value>localhost:18040</value>
- </property>
- <property>
- <name>yarn.resourcemanager.scheduler.address</name>
- <value>localhost:18030</value>
- </property>
- <property>
- <name>yarn.resourcemanager.resource-tracker.address</name>
- <value>localhost:18025</value>
- </property>
- <property>
- <name>yarn.resourcemanager.admin.address</name>
- <value>localhost:18141</value>
- </property>
- <property>
- <name>yarn.resourcemanager.webapp.address</name>
- <value>localhost:18088</value>
- </property>
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.
正常启动:
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
- ssh-keygen -t rsa
- cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
-
- # 验证ssh
- ssh localhost
如果已经配置过git
直接用
- cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
-
- # 验证ssh
- ssh localhost
验证结果:
Last login: Tue Jan 26 15:37:56 2021 from 127.0.0.1
查询得到,暂时无视
对后续操作比如
hadoop fs
和hive等不影响,不是强迫症的可以暂时无视它,哈哈),无法为平台加载本地hadoop库…可使用合适的内置java类。
解决:
自Hadoop 3.0.0 - Alpha 1以来,端口配置发生了变化:
已移至
完整走了一遍安装配置~下面开始wordcount
参考:https://blog.csdn.net/b_aihe/article/details/96650866
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。