一、安装JDK

  1. 1.8以上都可以,不想去官网下载的直接戳这里 提取码: abfb
  2. 解压JDK
tar –zxvf jdk-8u111-linux-x64.tar.gz /Users/wyd/software
复制代码
  1. 配置JDK环境变量
vim ~/.bash_profile
复制代码

文件中添加(注意看自己的安装路径)

export JAVA_HOME= /usr/local/jdk1.8.0_111/
  export PATH=$JAVA_HOME/bin:$PATH
复制代码
  1. 使用 source 命令使环境变量生效
source ~/ .bash_profile
复制代码
  1. 验证环境变量是否正确
java -version
复制代码



二、修改主机名

  1. 修改主机名
sudo scutil --set HostName name
复制代码

查看

hostname
复制代码


2. 配置host文件,终端输入

vim /etc/hosts
复制代码


文件中加入

127.0.0.1 master
复制代码

执行source /etc/hosts 使文件失效

source /etc/hosts
复制代码



三、免密钥登录配置

问:为何要配置免密匙登录?

答:远程登录的时候需要验证,你要是不嫌麻烦每次启动hadoop集群的时候输入密码,反正我懒,所以配置下

  1. 生成私钥和公钥
ssh-keygen -t rsa
复制代码

通过 ssh-keygen 命令来生成密钥对在.ssh 目录下(会有提示,回车即可) 此命令执行后,会在~/.ssh 目录下生成私钥 id_rsa 和公钥 id_rsa.pub) 并将 id_rsa.pub 中的公钥信息保存到authorized_keys 中

cat id_rsa.pub >> authorized_keys
复制代码


3. 修改文件授权

chmod 600 ./authorized_keys
复制代码


4、验证是否成功

ssh master
复制代码



三、 Hadoop 配置部署

  1. 新建一个文件夹用来放所有关于大数据安装环境,我这里叫software,你随意开心就好。
mkdir software
复制代码


2. 下载hadoop2.7.3安装包到software 官网或者

直接戳这里


提取码: e65w
复制代码
  1. 解压安装包
tar -zvxf hadoop-2.7.3.tar.gz
复制代码


4. 新建文件夹存储hadoop相关数据就叫bigdata

mkdir bigdata
复制代码
  1. 此时就到修改配置文件了,进入hadoop安装目录,直接上图
  2. 配置环境变量 core-site.xml
执行:vim core-site.xml
复制代码

把以下代码复制到 core-site.xml(注意下图中标红的地方,一定不能出错,切记!切记!切记!)

<configuration>
    <property>
        <!-- 指定 hadoop 运行时产生文件的存储路径 -->
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
        <description>A base for other temporary directories.</description>
    </property>
    <property>
        <!-- hdfs namenode 的通信地址 -->
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.proxyuser.wyd.groups</name>
        <value>*</value>
    </property>
    <property>
        <name>hadoop.proxyuser.wyd.hosts</name>
        <value>*</value>
    </property>
</configuration>
复制代码


7、配置文件系统 hdfs-site.xml(注意下图标红的地方不能出错,切记!切记) 该文件指定与 HDFS 相关的配置信息。需要修改 HDFS 默认的块的副本属性,因为 HDFS 默认情况下每个数 据块保存 3 个副本,而在伪分布式模式下运行时,由于只有一个数据节点,所以需要将副本个数改为 1;

vim hdfs-site.xml
复制代码



<configuration>
    <property>
        <!-- 指定 HDFS 存储数据的副本数目,默认情况下是 3 份-->
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <!-- name node 存放 name table 的目录 -->
      <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/name</value>
    </property>
    <property>
        <!--datanode 存放数据 block 的目录 -->
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/data</value>
    </property>
</configuration>
复制代码



  1. 配置计算框架 mapred-site.xml,指定MapReduce 作业相关的配置属性 文件中是mapred-site.xml.template 将其重命名为 mapred-site.xml
mv mapred-site.xml.template mapred-site.xml
 vim mapred-site.xml
复制代码
<configuration>
    <property>
        <!-- 指定 mapreduce 编程模型运行在 yarn 上 -->
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
<property>
    <name>mapreduce.jobhistory.done-dir</name>
    <value>/user/history/done</value>
</property>
<property>
    <name>mapreduce.jobhistory.intermediate-done-dir</name>
    <value>/user/history/done_intermediate</value>
</property>
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:10020</value>
</property>
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>master:19888</value>
</property>
</configuration>
复制代码


9. 配置文件系统 yarn-site.xml,注意下图中标红的地方,和你主机名称保持一致

vim yarn-site.xml
复制代码
<configuration>
    <property>
        <!-- mapreduce 执行 shuffle 时获取数据的方式 -->
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>master:18040</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>master:18030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>master:18025</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>master:18141</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>master:18088</value>
    </property>
</configuration>
复制代码


10、Hadoop namenode 格式化

hdfs namenode -format
复制代码

看到successfully formatted" 和 "Exitting with status 0" 的提示,如果是"Exitting with status 1"则表示失败,我这里格式化了就不再操作 11、启动hadoop集群

start-all.sh
复制代码

12、查看进程是否正常,是否有这几个进程 namenode、secondarynamenode、datanode、resourcemanager、nodemanager

jps
复制代码

如图标红的进程,其余不用管


13、查看webUI是否正常 浏览其中输入

http://master:50070/
复制代码

如图则表示正常:



到这里hadoop集群就搭建好了,如有问题欢迎指正,谢谢!