1.java环境安装
网上搜索
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
2.下载hadoop2.8.4 binary版本
下载地址:hadoop2.8.4
3.解压文件
$ tar -zxvf hadoop-2.8.0.tar.gz
4.配置hadoop环境变量
4.1 bash_profile文件
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
export HADOOP_HOME=//Users/yujia/Documents/hadoop/hadoop-2.8.4
export PATH=$PATH:/usr/local/mysql/bin:$HADOOP_HOME/bin:$JAVA_HOME/bin
source ~/.bash_profile
hadoop是否安装成功
$ hadoop version
--显示如下内容:
Hadoop 2.8.4
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 17e75c2a11685af3e043aa5e604dc831e5b14674
Compiled by jdu on 2018-05-08T02:50Z
Compiled with protoc 2.5.0
From source with checksum b02a59bb17646783210e979bea443b0
This command was run using /Users/yujia/Documents/hadoop/hadoop-2.8.4/share/hadoop/common/hadoop-common-2.8.4.jar
4.2 配置core-site.xml ——(defaultFS)指定了NameNode的主机名与端口
<?xmlversion="1.0" encoding="UTF-8"?>
<configuration>
<!-- fs.defaultFS - 这是一个描述集群中NameNode结点的URI(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道NameNode的地址。
DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DataNode交互,以取得文件的块列表。-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:8000</value>
</property>
<!-- hadoop.tmp.dir 是hadoop文件系统依赖的基础配置,很多路径都依赖它。
如果hdfs-site.xml中不配置namenode和datanode的存放位置,默认就放在这个路径中-->
<property>
<name>hadoop.tmp.dir</name>
<value>/Users/time/Documents/hadoop-2.7.3/tmp</value>
<description>A base for othertemporary directories.</description>
</property>
</configuration>
4.3 配置hdfs-site.xml——指定了HDFS的默认参数副本数
<?xmlversion="1.0" encoding="UTF-8"?>
<configuration>
<!-- dfs.replication -它决定着 系统里面的文件块的数据备份个数。对于一个实际的应用,它应该被设为3。
少于三个的备份,可能会影响到数据的可靠性-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- datanaode和namenode的物理存储,如果不设置,它的值hadoop.tmp.dir-->
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hdfs/name</value>
</property>
<!-- 可以不设置,namenode的Web 监控 端口,默认是0.0.0.0:50070-->
<property>
<name>dfs.namenode.http-address</name>
<value>localhost:57000</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hdfs/data</value>
</property>
</configuration>
**注意这里的file
如果配置为: file:/path/a/c,则具体的路径就是: /path/a/c
如果配置为:file://path/a/c,则具体的路径就是: /a/c**
4.4 mapred-site.xml配置
$ cp mapred-site.xml.template mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
4.5 Yarn-site.xml 配置
<?xmlversion="1.0"?>
<configuration>
<!-- resourcemanager -->
<!-- client visit address -->
<property>
<name>yarn.resourcemanager.address</name>
<value>localhost:18040</value>
</property>
<!-- ApplicationMaster visit address-->
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>localhost:18030</value>
</property>
<!-- NodeManager visit address -->
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value> localhost:18025</value>
</property>
<!-- web visit address -->
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>localhost:18088</value>
</property>
<!-- NodeManager support mapreduce service-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
5.格式化namenode
$ hadoop namenode -format
问题一:碰到找不到java_home的情况
在hadoop安装路径下,进入hadoop/etc/hadoop/目录并编辑hadoop-env.sh,修改JAVA_HOME为JAVA的安装路径
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
然后执行hadoop namenode -format
问题二:需要输入多次的密码
6.启动hadoop
./sbin/start-all.sh
7.web测试
我们也可以通过浏览器查看hadoop的详细信息,打开链接: