Hadoop 分布式群集安装

看一下这个图,图里面表示是三个节点,左边这个是主节点,右边的两个是从节点,hadoop群集是支持主从架构的.

不同节点上启动的进程是不一样的.

主节点进程: NameNode,Secondary namenode, ResourceManager

从节点进程: DataNode, NodeManager

环境准备:三个虚拟机

192.168.247.5  hadoop1

192.168.247.6  hadoop2

192.168.247.7  hadoop3

注意:每个节点的基础环境都要先配置好,包括:

①  IP

② hostname

③ 关闭防火墙,selinux

④ ssh免密登录

⑤ JDK

集群节点之间的时间同步

集群涉及多个节点,需要对这些节点做时间同步,如果节点之间时间不同步,会降低群集的稳定型,导致群集出现问题。

①安装 ntpdate

yum install -y ntpdate

②创建定时任务同步时间

crontab -e
* * * * * root /usr/sbin/ntpdate -u ntp.sjtu.edu.cn
每个节点都要执行.

安装Hadoop

① 在主节点解压安装包

cd /home/software

tar -zxvf hadoop-3.2.1.tar.gz

② 设置环境变量

export JAVA_HOME=/usr/local/java/jdk1.8
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export HADOOP_HOME=/home/software/hadoop-3.2.1
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
Hadoop 分布式群集安装

③  修改配置文件

cd $HADOOP_HOME/etc/hadoop

(一) vim  hadoop-env.sh

末尾加入

export JAVA_HOME=/usr/local/java/jdk1.8
export HADOOP_HOME=/home/software/hadoop-3.2.1
export HADOOP_LOG_DIR=${HADOOP_HOME}/logs

Hadoop 分布式群集安装

(二)  vim core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop1:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/software/hadoop_repo</value>
   </property>
</configuration>

Hadoop 分布式群集安装

(三) vim hdfs-site.xml

修改hdfs-site.xml文件 ,把hdfs中文件副本数量设置为2,三个节点数量最多为2,因为群集中只有2个从节点.

nfiguration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop1:50090</value>
    </property>
</configuration>
Hadoop 分布式群集安装

(四)  vim  mapred-site.xml

修改mapred-site.xml,设置mapreduce使用的资源调度框架

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
Hadoop 分布式群集安装

(五) vim  yarn-site.xml

修改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,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>hadoop1</value>
        </property>
</configuration>

Hadoop 分布式群集安装

(六) 修改works文件,增加所有从节点主机名,一行一个

vim workers

hadoop2

hadoop3

(七) 修改启动脚本,在文件最前面增加如下内容

cd $HADOOP_HOME/sbin

vim start-dfs.sh

HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

Hadoop 分布式群集安装

vim stop-dfs.sh

HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
Hadoop 分布式群集安装

vim start-yarn.sh

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

Hadoop 分布式群集安装

vim stop-yarn.sh

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

Hadoop 分布式群集安装

(八) 把修改好的安装包拷贝到其他从节点

scp  -rq  $HADOOP_HOME  hadoop1:/home/software

scp  -rq  $HADOOP_HOME hadoop2:/home/software

(九)  在主节点上格式化HDFS

hdfs namenode -format

在显示信息中看到:

common.Storage: Storage directory /data/hadoop_repo/dfs/name has been successfully formatted.
则证明格式化成功.

启动群集:

cd $HADOOP_HOME/sbin

start-all.sh

验证群集

在主节点上查看JAVA程序,进程信息显示如下:

jps

10001  NameNode

5008   ResourceManager

7009   SecondaryNameNode

在从节点上查看java程序,进程信息显示如下:

jps

2008  NodeManager

1999 DataNode

停止群集

cd $HADOOP_HOME/sbin

stop-all.sh

Hadoop群集安装成功.

Yarn管理网站:

http://192.168.247.5:9870/

Hadoop管理网站:

http://192.168.247.5:8088/

Hadoop官网文档:

https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html

 

相关文章: