1.前言
hadoop必须先安装jdk,没安装的请自行安装。本次使用的是Hadoop 3.2.1,下载路径如下:
Hadoop 3.2.1下载地址:https://downloads.apache.org/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz
2.配置SSH免密登陆
打开系统偏好设置-共享-远程登录(默认情况下关闭,将“远程登录打开即可”)
生成密钥对,执行如下命令
ssh-keygen -t rsa
执行如下命令将在当前用户目录中的.ssh文件夹中生成id_rsa文件并且以后可以不使用密码登录:
cat ~/.ssh/id-rsa.pub >> ~/.ssh/authorized_keys
使用下面命令,测试是否可以不适用密码登录:
ssh localhost(主机名或者IP都可以)
3.安装Hadoop
将下载的Hadoop安装包解压到指定的目录,然后开始下面的配置
3.1设置环境变量
打开文件~/.bash_profile
open ~/.bash_profile
在文件中添加环境变量
xport HADOOP_HOME=/Users/xiongpeng/library/hadoop/hadoop-3.2.1
export PATH=$PATH:$HADOOP_HOME/bin
读取并执行.bash_profile中的命令
source ~/.bash_profile
3.2配置hadoop-env.sh
进入hadoop-env.sh,添加配置文件,hadoop-env.sh在etc/hadoop目录下。
vi hadoop-env.sh
增加环境变量信息
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home
export HADOOP_CONF_DIR=/Users/xiongpeng/Library/hadoop/hadoop-3.2.1.1/etc/hadoop
3.3修改core-site.xml
vi core-site.xml
注意fs.defaultFS 属性中的主机名需要和你配置的主机名保持一致
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://XXXXXXXXX:9000</value>
</property>
<!--用来指定hadoop运行时产生文件的存放目录自己创建-->
<property>
<name>hadoop.tmp.dir</name>
<value>/Users/xiongpeng/library/hadoop/hadoop-3.2.1.1/tmp</value>
</property>
</configuration>
3.4修改hdfs-site.xml
进入hdfs-site.xml文件
vi hdfs-site.xml
把hdfs 中文件副本的数量设置为1
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
3.5修改mapred-site.xml
进入mapred-site.xml文件
vi mapred-site.xml
设置mapreduce 使用的资源调度框架
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
3.6修改yarn-site.xml
进入yarn-site.xml
vi yarn-site.xml
设置yarn 上支持运行的服务和环境变量白名单
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CL
ASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME
</value>
</property>
</configuration>
4.运行hadoop
1.格式化文件系统
bin/hdfs namenode -format
2.启动所有进程
sbin/start-all.sh
3.查看运行中的服务
终端输入jps
4.查看运行中的服务
登陆地址:http://192.168.0.110:9870/