zoukankan      html  css  js  c++  java
  • hadoop完全分布式手动安装(一主多从centos linux各版本均试验成功,文档完整无一遗漏)

    hadoop完全分布式手动安装(一主多从centos linux各版本均试验成功,文档完整无一遗漏)


    网上的文章99%都是垃圾,我凭良心书写,确保幼儿园同学也能安装成功!


    查看系统环境
       1、查看Centos的版本
    查看版本
    lsb_release -a
    或:
    rpm -q centos-release
       2、查看是否安装openjdk
    rpm -qa | grep java
       3、查看是否安装mariadb(mysql)
    rpm -qa | grep mariadb
       4、查看是否安装mysql
    rpm -qa | grep mysql
       5、查看是否安装ssh
    rpm -qa | grep ssh
       6、查看是否安装ntp
    rpm -qa | grep ntp
       7、查看是否安装httpd
    rpm -qa | grep httpd
       8、如果安装了openjdk、mariadb就卸载
            yum -y remove java 具体安装的包
            yum -y remove mariadb 具体安装的包
    yum -y remove mariadb mariadb-libs-5.5.41-2.el7_0.x86_64
    一、环境配置
      1、修改机器名
    1、Centos7以下版本: vi /etc/sysconfig/network 
            2、Centos7级以上版本:hostnamectl set-hostname hadoop_master
       查看主机名 hostnamectl --static
    修改/etc/hosts添加 (所有机器)
    vi /etc/hosts
    192.168.1.153 master #IP地址依据你的实际情况来
    192.168.1.124 slave1 #IP地址依据你的实际情况来
    192.168.1.234 slave2 #IP地址依据你的实际情况来
       2、环境设置 (所有机器)
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    vi /etc/rc.local 添加 echo never > /sys/kernel/mm/transparent_hugepage/defrag

    echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >>/etc/rc.local
    sudo sysctl vm.swappiness=10
    centos 7以下
    vi /etc/sysctl.conf 添加 vm.swappiness=10
    centos7以上 
    vi /usr/lib/sysctl.d/00-system.conf 添加 vm.swappiness=10
    或者采用 关闭 echo "vm.swappiness=10" >>/usr/lib/sysctl.d/00-system.conf #将字符串 vm.swappiness=10 添加到 00-system.conf 这个文件的末端
       3、配置ssh (所有机器)
    a、如果端口不是22则需要修改默认端口
      vi /etc/ssh/ssh_config 修改 ssh默认的端口
    b、安装openssh
      yum install openssh
    c、配置无密码登录
      ssh-keygen -t rsa 一路回车即可
      cd /root/.ssh
      cp id_rsa.pub master.pub 
      cp id_rsa.pub slave1.pub
      cp id_rsa.pub slave2.pub

      cat /root/.ssh/master.pub >> /root/.ssh/authorized_keys
      cat /root/.ssh/master.pub >> /root/.ssh/authorized_keys
      cat /root/.ssh/slave1.pub >> /root/.ssh/authorized_keys
      cat /root/.ssh/slave2.pub >> /root/.ssh/authorized_keys
      cat /root/.ssh/slave2.pub >> /root/.ssh/authorized_keys
      service sshd restart
       4、关闭防火墙 (所有机器)
    service iptables stop #临时关闭
    /etc/rc.d/init.d/iptables restart 
    chkconfig iptables off #重启后生效


    centos 7关闭防火墙
    service firewalld stop
    chkconfig firewalld off #重启后生效
       5、配置时间同步服务ntp 
            如果没有先安装 ntpd服务: yum install ntp
    vi /etc/ntp.conf
    master机器添加如下内容:
    server time.nist.gov
    slave机器添加如下内容:
    restrict 192.168.1/24 mask 255.255.255.0 nomodify
    server master
    启动ntp服务
    service ntpd restart
    将ntp服务加入开机启动中
    chkconfig ntpd on
    查看ntp服务状态 ntpstat
    从主服务器更新一下时间
    ntpdate -u hadoop_master
        6、
    二、软件手动安装
        1、JDK安装
    a、下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
    b、解压到/opt/目录下 tar zxvf jdk-8u111-linux-x64.tar.gz -C /opt/
    c、目录名修改为jdk:mv /opt/jdk1.8.0_111 /opt/jdk
    d、配置jdk环境
    vi /etc/profile
    添加:
    export JAVA_HOME=/opt/jdk
    export JRE_HOME=/opt/jdk/jre
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    export CLASSPATH=.:/jre/lib/dt.jar:/lib/tools.jar:/lib
    export JAVA_HOME JRE_HOME PATH CLASSPATH
            java -version 查看java版本是否正确
        2、安装mysql
            a、下载 mysql www.oracle.com
    b、下载地址 http://dev.mysql.com/downloads/mysql/
    c、解压到/usr/local/目录下 tar zxvf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
    d、改名为 mysql: mv mysql-5.7.16-linux-glibc2.5-x86_64 mysql
    e、建立用户组:groupadd mysql
    f、建立用户mysql:useradd -r -g mysql -s /bin/false mysql  #设置-s /bin/false表示mysql不能作为登入用户
    g、更改mysql目录的拥有者权限:
       cd mysql/
       mkdir data    #作为存放数据的目录
       chown -R mysql . 
       chgrp -R mysql .
    安装依赖包:yum install libaio
    h、安装mysql: ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
       初始化成功后会生成一个初始密码:lYFUkH.E>2TF(每次都不一样,依据实际的来)
       bin/mysql_ssl_rsa_setup --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    i、配置权限:
    chown -R root /usr/local/mysql/
    chown -R mysql /usr/local/mysql/data/
    j、进行配置:
    将 my.cnf复制到 /etc/目录下
    添加如下内容:
    [mysqld]
    basedir = /usr/local/mysql
    datadir = /usr/local/mysql/data
    socket=/tmp/mysql.sock
    user=mysql
    bind-address=0.0.0.0
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    [mysqld_safe]
    log-error=/usr/local/mysql/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid


    my.cnf中添加 bind-address= 0.0.0.0 是为了防止某些服务器采用ipv6
    k、配置mysql开机启动兵启动服务
         mkdir /etc/init.d/mysql
         cp support-files/mysql.server /etc/init.d/mysqld (建立mysqld服务)
         service mysqld start
         chkconfig mysqld on
    k、修改密码
         使用 mysql -uroot -p
         输入初始化生成的密码进入后
    第一次进入通过:set password = password('123456'); 将密码修改成 123456
    l、设置Mysql远程访问权限:

    grant all privileges on *.* to 'root'@'%' identified by 'wendy197626' with grant option;
    flush privileges; 

       3、安装完JDK和Mysql之后修改整体的环境变量:
         vi /etc/profile
    export MYSQL_HOME=/opt/mysql
    export JAVA_HOME=/opt/jdk
    export JRE_HOME=/opt/jdk/jre
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$MYSQL_HOME/bin
    export CLASSPATH=.:/jre/lib/dt.jar:/lib/tools.jar:/lib
    export JAVA_HOME JRE_HOME PATH CLASSPATH MYSQL_HOME
         保存并更新环境 source /etc/profile
       4、安装hadoop2.7.3 (一主两从也就是一台namenode两台datanode)
    a、下载地址:https://hadoop.apache.org/releases.html
    b、解压到/opt/目录下 tar zxvf ~/soft/hadoop.tar.gz -C /opt/ 
    解压后目录名修改为hadoop:mv /opt/hadoop-2.7.3 /opt/hadoop
    c、配置hadoop环境
    第一步:
           在/opt/ 建立数据存储目录
    cd /opt/hadoop
    mkdir tmp
    mkdir dfs
    mkdir dfs/data
    mkdir dfs/name
    mkdir journaldata (暂时不需要)
    第二步:
    参数配置:
           cd /opt/hadoop/etc/hadoop
    配置文件在:/opt/hadoop/etc/hadoop 一共7个主要文件
    1)修改:vi /opt/hadoop/etc/hadoop/hadoop-env.sh
    #头部添加如下内容:
    export JAVA_HOME=/opt/jdk
    export HADOOP_HOME=/opt/hadoop
    export HADOOP_NAMENODE_OPTS="-XX:+UseParallelGC"
    2)修改:vi /opt/hadoop/etc/hadoop/yarn-env.sh 
    #头部添加如下内容:
    export JAVA_HOME=/opt/jdk
    3)修改:vi /opt/hadoop/etc/hadoop/core-site.xml 
    <configuration>
    #中间添加如下内容
    <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/tmp</value>
    </property>
    <property>
    <name>fs.default.name</name>
    <value>hdfs://master:9000</value>
    </property>
    </configuration>


    4)修改:vi /opt/hadoop/etc/hadoop/hdfs-site.xml (dfs.replication表示数据副本数量,必须小于集群节点数)
    <configuration>
    #中间添加如下内容
    <property>
      <name>dfs.namenode.name.dir</name>
      <value>file:/opt/hadoop/dfs/name</value>
    </property>
    <property>
     <name>dfs.datanode.data.dir</name>
     <value>file:/opt/hadoop/dfs/data</value>
     </property>
    <property>
     <name>dfs.replication</name>
     <value>2</value>
    </property>
    </configuration>


    5)修改:vi /opt/hadoop/etc/hadoop/mapred-site.xml 
    <configuration>
    #中间添加如下内容 (启动方式yarn)
    <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
    </property>
    </configuration>




    6)修改:vi /opt/hadoop/etc/hadoop/yarn-site.xml
    <configuration>
    #中间添加如下内容 
     <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
     </property>
    </configuration>


    7)修改:vi /opt/hadoop/etc/hadoop/slaves集群配置
    删除默认的localhost,增加从节点机器名或IP地址(按行)


    d、环境配置
    vi /etc/profile
    添加如下内容(没有的部分)
    HADOOP_PREFIX=/opt/hadoop
    export HADOOP_PREFIX
    export HADOOP_HOME=/opt/hadoop
    export HADOOP_INSTALL=$HADOOP_HOME
    export HADOOP_MAPRED_HOME=$HADOOP_HOME
    export HADOOP_COMMON_HOME=$HADOOP_HOME
    export HADOOP_HDFS_HOME=$HADOOP_HOME
    export YARN_HOME=$HADOOP_HOME
    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
    export MYSQL_HOME=/usr/local/mysql
    export JAVA_HOME=/opt/jdk
    export JRE_HOME=/opt/jdk/jre
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$MYSQL_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    export CLASSPATH=.:/jre/lib/dt.jar:/lib/tools.jar:/lib
    export JAVA_HOME JRE_HOME PATH CLASSPATH MYSQL_HOME HADOOP_HOME


    保存后,更新环境(确保每台机器的配置完全一致哦)
    source /etc/profile
    e、启动Hadoop 
    1)将本机配置好的hadoop完整复制到其余机器的 /opt/hadoop 目录下
    scp -r /opt/hadoop 节点机名:/opt/hadoop
           2)格式化namenode
           /opt/hadoop/bin/hdfs namenode –format
    3)启动服务
    /opt/hadoop/sbin/start-all.sh


    f、用 jps命令查看slave
    NameNode
    DataNode
    Jps Master
      用 jps命令查看Master
    NodeManager
    ResourceManager
    SecondaryNameNode
      用hadoop fs -ls / (查看目录)
      用hadoop fs -mkdir /input (建立目录)
      用hadoop fs -put word.txt /input (存储文件word.txt)
      用hadoop jar wordcount.jar wordcount /input/word.txt /output (执行一个小任务看看:))

    g、在浏览器中输入:http://120.92.50.143:8088/ 即可看到YARN的ResourceManager的界面。注意:默认端口是8088,


    h、大功告成!


            作者小白救星2016-12-06于杭州,有任何疑问请与我联系 QQ 99923309 

  • 相关阅读:
    防止表单重复提交
    tp5中的配置机制
    PHP remove,empty和detach区别
    jquery data方法
    webstrom使用记录
    input checkbox问题和li里面包含checkbox
    【转】HTML中A标签与click事件的前世今生
    jquery toggle方法
    webstore+nodejs
    web storm使用和配置
  • 原文地址:https://www.cnblogs.com/bdccloudy/p/7665265.html
Copyright © 2011-2022 走看看