BigData-Notes/notes/installation/hadoop单机版本环境搭建.md
2019-03-22 13:39:10 +08:00

5.8 KiB
Raw Blame History

Hadoop单机版环境搭建

系统环境centos 7.6

JDK版本jdk 1.8.0_20

Hadoop版本hadoop-2.6.0-cdh5.15.2

一、安装JDK
二、配置 SSH 免密登录
三、Hadoop(HDFS)环境搭建
四、Hadoop(YARN)环境搭建

一、安装JDK

Hadoop 需要在java环境下运行所以需要先安装Jdk,安装步骤见Linux下JDK的安装

二、配置 SSH 免密登录

Hadoop 组件之间的各个节点需要进行通讯所以需要配置SSH免密登录。

2.1 配置ip地址和主机名映射在配置文件末尾添加ip地址和主机名映射

vim /etc/hosts
# 文件末尾增加
192.168.43.202  hadoop001

2.2 执行下面命令行,一路回车,生成公匙和私匙

ssh-keygen -t rsa

3.3 进入~/.ssh目录下,查看生成的公匙和私匙,并将公匙写入到授权文件

[root@@hadoop001 sbin]#  cd ~/.ssh
[root@@hadoop001 .ssh]# ll
-rw-------. 1 root root 1675 3月  15 09:48 id_rsa
-rw-r--r--. 1 root root  388 3月  15 09:48 id_rsa.pub
# 写入公匙到授权文件
[root@hadoop001 .ssh]# cat id_rsa.pub >> authorized_keys
[root@hadoop001 .ssh]# chmod 600 authorized_keys

三、Hadoop(HDFS)环境搭建

3.1 下载CDH 版本的Hadoop

CDH官方下载地址下载所需版本的Hadoop本用例下载的版本为hadoop-2.6.0-cdh5.15.2.tar.gz ,上传至服务器对应文件夹(这里我传至新建的/usr/app/ 目录);

3.2 解压软件压缩包

# tar -zvxf hadoop-2.6.0-cdh5.15.2.tar.gz 

3.3 把路径添加到环境变量

# vi /etc/profile
export HADOOP_HOME=/usr/app/hadoop-2.6.0-cdh5.15.2
export  PATH=${HADOOP_HOME}/bin:$PATH
# 执行source命令,使得配置立即生效
# source /etc/profile

3.4 修改Hadoop相关配置文件

cd 到 安装目录的/etc/hadoop/ 文件夹下:

[root@hadoop001 hadoop-2.6.0-cdh5.15.2]# cd etc/hadoop
  1. 修改 hadoop-env.sh , 指定jdk 安装路径
# The java implementation to use.
export  JAVA_HOME=/usr/java/jdk1.8.0_201/
  1. 修改core-site.xml添加如下配置指定hdfs地址
<configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://hadoop001:8020</value>
        </property>
</configuration>
  1. 修改hdfs-site.xml添加如下配置指定副本系数和临时文件存储位置由于这里我们搭建是单机版本所以指定dfs的副本系数为1。
<configuration>
        <property>
                <name>dfs.replication</name>
                 <value>1</value>
        </property>
        <property>
                 <name>hadoop.tmp.dir</name>
                 <value>/usr/app/tmp</value>
        </property>
</configuration>
  1. 修改slaves文件,由于是单机版本,所以指定本机为从节点,修改后slaves文件内容如下:
[root@hadoop001 hadoop]# cat slaves
hadoop001

3.5 关闭防火墙

由于防火墙可能会影响节点间通讯,所以建议关闭,执行命令:

# 查看防火墙状态
sudo firewall-cmd --state
# 关闭防火墙:
sudo systemctl stop firewalld.service

3.6 启动HDFS

  1. 第一次执行的时候一定要格式化文件系统执行以下命令格式化文件系统hdfs命令位于安装目录的bin目录下
[root@hadoop001 bin]# ./hdfs namenode -format
  1. 执行sbin目录下的start-dfs.sh脚本启动hdfs
[root@hadoop001 sbin]# ./start-dfs.sh

3.7 验证是否启动成功

方式一执行jps 查看NameNode和DataNode的进程是否已经存在

[root@hadoop001 hadoop-2.6.0-cdh5.15.2]# jps
9137 DataNode
9026 NameNode
9390 SecondaryNameNode

方式二访问50070端口 http://ip地址:50070 。如果jps查看进程均以启动但是无法访问页面则需要关闭防火墙。

四、Hadoop(YARN)环境搭建

4.1 修改Hadoop配置文件指明mapreduce运行在YARN上

etc/hadoop/mapred-site.xml:

# 如果没有mapred-site.xml则拷贝一份样例文件后再修改
cp ./mapred-site.xml.template ./mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

etc/hadoop/yarn-site.xml:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!--这个目录需要和上面配置的hadoop.tmp.dir的路径保持一致-->
    <property>
    	<name>yarn.nodemanager.local-dirs</name>
    	<value>/usr/app/tmp/nm-local-dir</value>
  	</property>
</configuration>

4.2 在sbin目录下启动YARN

./start-yarn.sh

4.3 验证是否启动成功

方式一执行jps查看NodeManager和ResourceManager的进程是否已经存在

[root@hadoop001 hadoop-2.6.0-cdh5.15.2]# jps
9137 DataNode
9026 NameNode
12294 NodeManager
12185 ResourceManager
9390 SecondaryNameNode

方式二访问8088端口 http://ip地址:8088 。如果jps查看进程均以启动但是无法访问页面则需要关闭防火墙。