目录

一、 搭建Hadoop

1. 下载Hadoop的.tgz文件

2. 传到Linux并解压到制定文件夹

3. 配置环境变量

4. 用source使之立刻生效

5. 验证安装成功

6. 修改配置文件

7. 关闭防火墙

8. 初始化

9.启动HDFS和YARN

10. 验证是否启动成功

二、 设置SSH免密登录

1. 作用

2. 步骤

2.1 每台机器上配置IP

2.2 创建本地秘钥并将公共秘钥写入认证文件

三、 最后附上资源


一、 搭建Hadoop

1. 下载Hadoop的.tgz文件

2. 传到Linux并解压到制定文件夹

sudo tar -zxvf hadoop-2.10.1.tar.gz -C /usr/local/lib/Hadoop

在此之前,创建单独的目录

sudo mkdir /usr/local/lib/Hadoop

3. 配置环境变量

vim /etc/profile
export HADOOP_HOME=/usr/local/lib/Hadoop/hadoop-2.10.1

export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH

4. 用source使之立刻生效

source /etc/profile

5. 验证安装成功

hadoop version

6. 修改配置文件

进入 ${HADOOP_HOME}/etc/hadoop/ 目录下,修改以下配置:

6.1 hadoop-env.sh(配置环境变量)

#25行

export JAVA_HOME=/usr/local/lib/java/jdk1.8.0_181

#33行

export HADOOP_CONF_DIR=/usr/local/lib/Hadoop/hadoop-2.10.1/etc/hadoop

6.2 core-site.xml(核心配置文件)

<configuration>
        <!--默认文件系统的名称 -->
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://nitgod01:9000</value>
        </property>
        <!--指定HDFS执行时的临时目录 -->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/local/lib/Hadoop/data/tmp</value>
        </property>
</configuration>

 

6.3 hdfs-site.xml(HDFS的节点配置)

指定副本系数、namenode、datanode文件存放位置和hdfs操作权限:

<configuration>

     <property>

          <!--指定hdfs保存数据副本的数量,包括自己,默认为3-->

          <!--伪分布式模式的话,此值必须为1-->

          <name>dfs.replication</name>

          <value>3</value>

     </property>

     <property>

          <!--namenode文件存放位置,可以指定多个目录实现容错,用逗号分隔-->

          <name>dfs.namenode.name.dir</name>
          <value>file: /usr/local/lib/Hadoop/dfs/namenode_data</value>

     </property>

     <property>

          <!--datanode文件存放位置-->

          <name>dfs.datanode.data.dir</name>

          <value>file: /usr/local/lib/Hadoop/dfs/datanode_data</value>

     </property>

     <property>

          <!--设置hdfs操作权限,false表示任何用户都可以在hdfs上操作文件-->

          <name>dfs.permissions</name>

          <value>false</value>

     </property>

</configuration>

 

6.4 mapred-site.xml(配置MapReduce)

<configuration>
        <property>
            <!--指定mapreduce运行在yarn上-->
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
</configuration>

 

6.5 yarn-site.xml(配置YARN的节点信息)

<configuration>

        <property>

                <!--指定yarn的老大resourcemanager的地址-->

                <name>yarn.resourcemanager.hostname</name>

                <value>nitgod01</value>

        </property>

        <property>

                <!--NodeManager获取数据的方式-->

                <name>yarn.nodemanager.aux-services</name>

                <value>mapreduce_shuffle</value>

        </property>

      <property>  

        <name>yarn.resourcemanager.webapp.address</name>  

        <value>nitgod01:8088</value>  

      </property> 

<!-- Site specific YARN configuration properties -->

</configuration>

6.6 slaves(配置所有从属节点的主机名或 IP 地址)

nitgod01
nitgod02
nitgod03

 

7. 关闭防火墙

#

sudo firewall-cmd --state

(如果sudo: firewall-cmd:找不到命令,则说明防火墙没装,不需要关闭)

#

sudo systemctl stop firewalld.service

8. 初始化

cd ${HADOOP_HOME}/bin
sudo ./hdfs namenode -format  
#或  sudo ./hadoop namenode -format

9.启动HDFS和YARN

cd ${HADOOP_HOME}/sbin
sudo ./start-dfs.sh
sudo ./start-yarn.sh

10. 验证是否启动成功

方法一:执行 jps 查看 NameNode 、 DataNode、SecondaryNameNode、ResourceManager、NodeManager 服务是否已经启动:

sudo /jdk路径/bin/jps
11637 ResourceManager
11734 NodeManager
11241 DataNode
11146 NameNode
12075 Jps
11436 SecondaryNameNode

方法二:访问HDFS和YARN的web UI页面是否启动

访问nitgod01:50070    HDFS页面

访问nitgod01:8088      YARN页面

其中,nitgod01是我主节点的主机名/IP

 

二、 设置SSH免密登录

Hadoop搭建好后,启动时总需要输入从节点的密码。一般设置ssh免密登录

1. 作用

       配置ssh免密登录后就不需要每次启动节点都输入密码了

2. 步骤

2.1 每台机器上配置IP

vim /etc/hosts
192.168.186.128 nitgod01

192.168.186.129 nitgod02

192.168.186.130 nitgod03

2.2 创建本地秘钥并将公共秘钥写入认证文件

1. 每台机器创建私钥,公钥(为系统当前用户生成)

ssh-keygen -t rsa -P ''

这时~/.ssh目录下会生成私钥和公钥的键值对 id_rsa 和 id_rsa.pub

(rsa和dsa是两种加密方式)

2.将公钥写入认证文件authorized_keys中,cat是把文本内容拷贝到文章末

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

不过我死活搞不好,所以直接手动把私钥文件整合了

1. 找到/root/.ssh下的id_rsa.pub(保存的是每台机器的私钥,用rsa加密的)

2. 把每个节点id_rsa.pub里面内容整合在一起(到authorized_keys中)

2. 将整合完的authorized_keys文件覆盖到各节点

hadoop配置 mac hadoop配置免密登录_linux

hadoop配置 mac hadoop配置免密登录_linux_02

hadoop配置 mac hadoop配置免密登录_hadoop配置 mac_03

 

三、 最后附上资源

hadoop-2.10.1.tar:链接:https://pan.baidu.com/s/1SAeIovLq_8t71V-p0LsxnQ 提取码:j5cp 

 

也可以在我主页找一下资源,我都上传了的