先说踩的坑:刚开始学习,使用mac本安装单机hadoop,遭遇mac自身安全限制,到时dfs启动报错,解决后又出现新的问题,部分所需端口无法申请到,导致hadoop启动时报。
最终决定,使用虚拟机,在centos7下安装单机hadoop。
记录下踩得的:在解压hadoop包时所用的用户,和后续操作使用的用户最好使用一个,否则会报权限相关问题。
先要安装java环境,并配置环境变量:/etc/profile。配置完后一定要重新加载环境变量:source /etc/profile。
接下里将解压的hadoop所存放的根目录配置在环境变量中。
然后配置 hadoop/etc/hadoop/hdfs-site.xml、core-site.xml、yarn-site.xml和mapre-site.xml.个文件配置分别如下:
hdfs-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://127.0.0.1:9000</value> //如果其他主机也要访问,那就将127.0.0.1:9000改为:你的网卡IP:9000,或者改为0.0.0.0:9000
</property>
<property>
<name>hadoop.tmp.dir</name>
<!-- 自定义 hadoop 的工作目录 -->
<value>/usr/local/hadoop/hadoop-3.3.4/hadoopdata</value>
</property>
<property>
<name>hadoop.native.lib</name>
<!-- 禁用Hadoop的本地库 -->
<value>false</value>
</property>
hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>127.0.0.1</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<!-- yarn web 页面 -->
<value>0.0.0.0:8088</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<!-- reducer获取数据的方式 -->
<value>mapreduce_shuffle</value>
</property>
etc/hadoop/hadoop-env.sh
将当前用户 root 赋给下面这些变量
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
JAVA的绝对路径,可以使用whereis java查看
export JAVA_HOME=/usr/local/java/jdk1.8.0_341
Hadoop的安装路径下的etc/hadoop的绝对路径
export HADOOP_CONF_DIR=/usr/local/hadoop/hadoop-3.3.4/etc/hadoop
详细操作参考:Centos7.X安装单机Hadoop(3.3.4版本) - 粉色纽扣 - 博客园 (cnblogs.com)