Hadoop集群安装

Posted chenyongxiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop集群安装相关的知识,希望对你有一定的参考价值。

一、准备工作
    现在有3台机器,这里以centos6.8为例,以minimal方式安装
    192.168.1.101
    192.168.1.102
    192.168.1.103

    1、在3台节点上都先关闭防火墙
        iptables –F
        chkconfig iptables off

        setenforce 0
        编辑文件:vi /etc/selinux/config 修改:SELINUX为disabled

    2、分别为3台节点更改主机名
        用类似
        hostname c1
        的命令更改每一台主机的主机名,并更改配置文件
        vi /etc/sysconfig/network

    3. 这里我们把ip映射成主机名,执行如下命令
        vi  /etc/hosts
        在hosts文件中,编辑以下内容
        192.168.1.101        c1
        192.168.1.102        c2
        192.168.1.103        c3
        保存退出

    4. 然后用root身份将hosts文件发送到其它节点上
        scp     /etc/hosts     c2:/etc/
        scp     /etc/hosts     c3:/etc/
        
        补充:
            1、在发送的过程中需要输入root用户的密码
            2、scp安装方法
                yum install –y openssh-clients


二、配置免密码登录
    1、在每台机器上执行如下命令生成密钥对:
        ssh-keygen –t rsa
        执行过程不用管提示,一路回车
        执行完成后在家目录下会有如下文件夹及文件
        以root用户为例:
            [[email protected] .ssh]# pwd
            /root/.ssh
            [[email protected] .ssh]# ls
             id_rsa  id_rsa.pub  known_hosts
        id_rsa为秘钥,id_rsa.pub为公钥

    2、将每台机器的秘钥拷贝到同一个文件authorized_keys中,然后将文件拷贝到/root/.ssh目录下
        
    3、验证免密登录
        ssh c2
        ssh c3
        ssh c1


三、安装JDK,并配置环境变量
    下面这个地址下载JAVA8---jdk1.8
    http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
    8u131及其他版本地址,推荐下载8u131的Oracle官方地址:
    http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html

    JAVA环境的安装和设置在3台节点都要进行配置
    1.    rpm -ivh jdk-8u131-linux-x64.rpm
    2.    vi /etc/profile.d/java.sh
        export JAVA_HOME=/usr/java/jdk1.8.0_131
    3.    source /etc/profile
        source ~/.bashrc不起作用
    4.    env | grep JAVA
    验证环境变量是否设置成功


四、安装Hadoop
    1、下载并配置环境变量
        下面这个地址下载hadoop2.7.3版本的官方镜像:
        http://apache.fayea.com/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz
        http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.3/

        然后上传到c1,输入以下命令解压
        tar  -zxvf  hadoop-2.7.3.tar.gz
        解压完后删除压缩包,并修改文件夹名称
        mv hadoop-2.7.3  hadoop
        mv hadoop /opt

        在3台节点
        /etc/profile.d/hadoop.sh中加上hadoop的环境变量设置,即
        vi /etc/profile.d/hadoop.sh
        export  HADOOP_PREFIX=/opt/hadoop
        source /etc/profile
        env | grep HADOOP
        
    2、安装并修改配置文件    
    进入c1 的hadoop的配置文件目录/opt/hadoop/etc/hadoop,修改以下配置文件
        1、配置core-site.xml
            创建存放临时文件的目录
            mkdir -p /opt/hadoop/tmp/hadoop

            <configuration>
                <!-- 指定hdfs的nameservice为namenode -->
                <property>
                    <name>fs.defaultFS</name>
                    <value>hdfs://c1</value>
                </property>
                <!-- 指定hadoop本地的临时目录,如果没有请手动创建 -->
                <property>
                    <name>hadoop.tmp.dir</name>
                    <value>/opt/hadoop/tmp/hadoop</value>
                </property>
            </configuration>

        2、配置hdfs-site.xml
            创建namenode,datanode存放的目录
            mkdir –p /opt/hadoop/data/nd
            mkdir –p /opt/hadoop/data/dd
            <configuration>
                <property>
                     <name>dfs.replication</name>
                     <value>3</value>
                </property>
                <property>
                      <name>dfs.namenode.name.dir</name>
                      <value>/opt/hadoop/data/nd</value>
                </property>
                <property>
                      <name>dfs.datanode.data.dir</name>
                      <value>/opt/hadoop/data/dd</value>
                </property>
                <!-- 配置secondarynamenode到c2上    -->
                <property>
                    <name>dfs.namenode.secondary.http-address</name>
                    <value>c2:50090</value>
                </property>
            </configuration>

        3、配置mapred-site.xml
            mv  mapred-site.xml.template    mapred-site.xml
            vi  mapred-site.xml
            <configuration>
                <property>
                    <name>mapreduce.framework.name</name>
                    <value>yarn</value>
                </property>
            </configuration>

        4、配置yarn-site.xml
            <configuration>
                <property>
                    <name>yarn.nodemanager.aux-services</name>
                    <value>mapreduce_shuffle</value>
                </property>
                <property>
                    <name>yarn.resourcemanager.hostname</name>
                    <value>c1</value>
                </property>
            </configuration>

        5、配置datanode的节点,在slaves中添加datanode节点的hostname
            vi /opt/hadoop/etc/hadoop/slaves
            c1
            c2
            c3
        6、把配置完成的hadoop目录复制到所有节点
            scp –r /opt/hadoop c2:/opt
            scp –r /opt/hadoop c3:/opt

        7、hdfs格式化和启动
            格式化命令如下:
            /opt/hadoop/bin/hdfs namenode –format
            启动hdfs:
            /opt/hadoop/sbin/start-dfs.sh

            关闭hdfs:
            /opt/hadoop/sbin/stop-dfs.sh

            启动yarn:
            /opt/hadoop/sbin/start-yarn.sh

            关闭yarn:
            /opt/hadoop/sbin/stop-yarn.sh

            启动任务历史服务器:
            /opt/hadoop/sbin/mr-jobhistory-daemon.sh

             start historyserver
            关闭历史服务器:
            /opt/hadoop/sbin/mr-jobhistory-daemon.sh

             stop historyserver

        8、访问UI界面
            hadoop访问
            在浏览器中访问—如:
            http://c1的ip:50070
            yarn访问:
            http://c1的ip:8088


补充
    1.    jps命令来查询是否启动了namenode 和datanode等进程
    2.    看/opt/hadoop/sbin/start-dfs.sh启动时的报错信息
    3.    用/opt/hadoop/sbin/stop-dfs.sh停止所有节点服务,再尝试重启进程
    4.    netstat –tan查看各个端口,是否有监听,如50070等
    5.    更改主节点配置后要copy配置去其他节点
    6.    更改数据文件夹等内容的相关配置,要重新格式化hdfs,再启动进程









































































































































































































以上是关于Hadoop集群安装的主要内容,如果未能解决你的问题,请参考以下文章

HBase集群安装及集成

Hadoop集群及组件

大数据实战——hadoop集群安装搭建

如何查看hadoop集群是不是安装成功(用jps命令

Spark集群安装-基于hadoop集群

spark集群安装并集成到hadoop集群