zoukankan      html  css  js  c++  java
  • Hadoop 安装流程

    前言:因项目中需要数据分析,因而使用hadoop集群通过离线的方式分析数据

    参考着网上的分享的文章实施整合的一篇文章,实施记录


    安装流程:

    1.设置各个机器建的ssh 无密码登陆

    2.安装JDK

    3.开始安装配置hadoop

    4.检查单机版Hadoop

    5.集群搭建

    6.测试集群是否搭建成功

    7.hadoop远程客户端安装配置

    准备:分别上台机器:master(hadoop主机)、node1(hadoop从机)、node2(hadoop从机

    echo "192.168.163.220 master" >>/etc/hosts
    echo "192.168.163.48 node1" >>/etc/hosts
    echo "192.168.163.55 node2" >>/etc/hosts

     

    1.设置各个机器建的ssh 无密码登陆

     

    (1)CentOS默认没有启动ssh无密登录,去掉/etc/ssh/sshd_config其中2行的注释,每台服务器都要设置,
    #RSAAuthentication yes
    #PubkeyAuthentication yes
    (2)输入命令,ssh-keygen -t rsa,生成key,都不输入密码,一直回车,/root就会生成.ssh文件夹,每台服务器都要设置,
    (3)合并公钥到authorized_keys文件,在Master服务器,进入/root/.ssh目录,通过SSH命令合并,
    cat id_rsa.pub>> authorized_keys
    ssh root@node1 cat ~/.ssh/id_rsa.pub>> authorized_keys
    ssh root@cli cat ~/.ssh/id_rsa.pub>> authorized_keys
    (4)把Master服务器的authorized_keys、known_hosts复制到Slave服务器的/root/.ssh目录
    (5)完成,ssh root@192.168.0.84、ssh root@192.168.0.48就不需要输入密码了

     

     

    2.安装JDK

    (1)安装包中已经下载好了 rpm 格式的jdk安装包

    · 安装之前先检查一下系统有没有自带open-jdk

    · 图片上显示我的是没有自带的,如果有可以使用rpm -qa | grep java | xargs rpm -e --nodeps 批量卸载所有带有Java的文件   这句命令的关键字是java  

    (2)使用rpm -ivh jdk-8u45-linux-x64.rpm进行安装(每一台机器都需要安装配置)

    (3)配置环境变量使用命令 vim /etc/profile

     

    rpm -ivh jdk-8u45-linux-x64.rpm

     

    配置 /etc/profile

    export JAVA_HOME=/usr/java/jdk1.8.0_45

    export HADOOP_HOME=/hadoop/hadoop-2.7.2

    export HIVE_HOME=/hadoop/apache-hive-2.1.0-bin

    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$HIVE_HOME/lib

    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$HIVE_HOME/bin

    (4)验证使用安装以及环境变量设置成功使用命令

     

     

    [root@localhost ~]# source /etc/profile

    [root@localhost ~]# java -version

     

     

    3.开始安装配置hadoop

    (1)hadoop-2.7.2.tar.gz 文件放在 /hadoop 目录下,解压文件执行命令

    [root@localhost ~]# cd /hadoop

    [root@master hadoop]# tar -vxzf hadoop-2.7.2.tar.gz

    (2)修改配置文件

     a.修改/hadoop/hadoop-2.7.2/etc/hadoop/core-site.xml  全局配置

    <property>

    <name>fs.defaultFS</name>

    <value>hdfs://master:9000</value>

    <!--hadoop namenode 服务器地址和端口,以域名形式-->

    </property>

     

    <property>

    <name>dfs.namenode.checkpoint.period</name>

    <value>1800</value>

    <!-- editlog每隔30分钟触发一次合并,默认为60分钟 -->

    </property>

     

    <property>

      <name>fs.checkpoint.size</name>

      <value>67108864</value>

    </property>

     

    <property>

    <name>fs.trash.interval</name>

    <value>1440</value>

    <!-- Hadoop文件回收站,自动回收时间,单位分钟,这里设置是1天,默认为0-->

    </property>

     

    <property>

    <name>hadoop.tmp.dir</name>

    <value>/hadoop/tmp</value>

    <!-- Hadoop的默认临时路径,这个最好配置,如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么就需要重新>执行NameNode格式化的命令。/data/hadoop/tmp这里给的路径不需要创建会自动生成.-->

    </property>

     

    <property>

    <name>io.file.buffer.size</name>

    <value>131702</value>

    <!-- 流文件的缓冲区-->

    </property>

     

     

     b.修改/hadoop/hadoop-2.7.2/etc/hadoop/hdfs-site.xml hdfsNameNode,DataNode局部配置

    <property>

    <name>dfs.namenode.name.dir</name>

    <value>/hadoop/hdfs/name</value>

    <!--HDFS namenode数据镜象目录-->

    <description>  </description>

    </property>

     

    <property>

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

    <value>/hadoop/hdfs/data</value>

    <!-- HDFS datanode数据镜象存储路径,可以配置多个不同的分区和磁盘中,使用,号分隔 -->

    <description> </description>

    </property>

     

    <property>

    <name>dfs.namenode.http-address</name>

    <value>master:50070</value>

    <!---HDFS Web查看主机和端口-->

    </property>

     

    <property>

    <name>dfs.namenode.secondary.http-address</name>

    <value>node1:50090</value>

    <!--辅控HDFS web查看主机和端口-->

    </property>

     

    <property>

    <name>dfs.webhdfs.enabled</name>

    <value>true</value>

    </property>

     

    <property>

    <name>dfs.replication</name>

    <value>3</value>

    <!--HDFS数据保存份数,通常是3-->

    </property>

     

    <property>

    <name>dfs.datanode.du.reserved</name>

    <value>1073741824</value>

    <!-- datanode 写磁盘会预留 1G空间 给其他程序使用,而非写满,单位 bytes-->

    </property>

     

    <property>

    <name>dfs.block.size</name>

    <value>134217728</value>

    <!--HDFS数据块大小,当前设置为128M/Blocka-->

    </property>

     

    <property>

    <name>dfs.permissions.enabled</name>

    <value>false</value>

    <!-- HDFS 关闭文件权限 -->

    </property>

     

     

     c.修改 hadoop/hadoop-2.7.2/etc/hadoop/mapred-site.xml.template  #配置MapReduce,使用yarn框架、jobhistory使用地址以及web地址

    <property>

    <name>mapreduce.framework.name</name>

    <value>yarn</value>

    </property>

    <property>

    <name>mapreduce.jobtracker.http.address</name>

    <value>master:50030</value>

    </property>

    <property>

    <name>mapred.job.tracker</name>

    <value>http://master:9001</value>

    </property>

    <property>

    <name>mapreduce.jobhistory.address</name>

    <value>master:10020</value>

    </property>

    <property>

    <name>mapreduce.jobhistory.webapp.address</name>

    <value>master:19888</value>

    </property>

    配置完毕以后执行命令

    [root@master hadoop]# cp mapred-site.xml.template mapred-site.xml

     

     d.修改 hadoop/hadoop-2.7.2/etc/hadoop/yarn-site.xml  配置yarn-site.xml文件

    <property>

    <name>mapreduce.framework.name</name>

    <value>yarn</value>

    </property>

    <property>

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

    <value>master:8032</value>

    </property>

    <property>

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

    <value>master:8030</value>

    </property>

    <property>

    <name>yarn.resourcemanager.resource-tracker.address</name>

    <value>master:8031</value>

    </property>

    <property>

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

    <value>master:8033</value>

    </property>

    <property>

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

    <value>master:8088</value>

    </property>

     

     e. 修改 hadoop/hadoop-2.7.2/etc/hadoop/ hadoop-env.shvi yarn-env.sh

    将其中的${JAVA_HOME}/usr/jdk1.7.0_79代替

    export JAVA_HOME=/usr/java/jdk1.8.0_45

     f.创建目录上面所配置的路径

    [root@master ~]# mkdir -p /hadoop/tmp

    [root@master ~]# mkdir -p /hadoop/hdfs/name

    [root@master ~]# mkdir -p /hadoop/hdfs/data

     

    f. 修改$HADOOP_HOME/etc/hadoop/yarn.site.xml, 此项配置是为配置 hive

    <property>

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

    <value>mapreduce_shuffle</value>

    </property>

    <property>

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

    <value>org.apache.hadoop.mapred.ShuffleHandler</value>

    </property>

     

      

    4.检查单机版Hadoop

    测试hdfs中的namenodedatanode
    hadoop-daemon.sh start namenode 
    chmod go-w /data/hadoop/hdfs/data/
    hadoop-daemon.sh start datanode

    测试resourcemanager
    yarn-daemon.sh start resourcemanager

    测试nodemanager
    yarn-daemon.sh start nodemanager

    测试historyserver
    mr-jobhistory-daemon.sh start historyserver

    [root@master hadoop-2.7.2]# jps

    6116 NodeManager

    6901 NameNode

    5704 ResourceManager

    6204 JobHistoryServer

    5518 DataNode

    6974 Jps

     

    [root@master hadoop-2.7.2]# hadoop fs -lsr /

     

    5.集群搭建

    scp -r $HADOOP_HOME/ node1:/hadoop/

    master 上配置

    [root@master hadoop-2.7.2]# vim $HADOOP_HOME/etc/hadoop/slaves

    删除localhost

    添加    node1

    6.测试集群是否搭建成功

    Master服务器启动hadoop,从节点会自动启动,进/hadoop/hadoop-2.7.2目录
    (1)初始化,输入命令,bin/hdfs namenode -format
    (2)全部启动sbin/start-all.sh,也可以分开sbin/start-dfs.sh、sbin/start-yarn.sh
    (3)停止的话,输入命令,sbin/stop-all.sh
    (4)输入命令,jps,可以看到相关信息

    Web访问,要先开放端口或者直接关闭防火墙
    (1)输入命令,systemctl stop firewalld.service
    (2)浏览器打开http://192.168.0.182:8088/
    (3)浏览器打开http://192.168.0.182:50070/

     

    各节点执行jps
    master 
    98956 JobHistoryServer

    98820 NodeManager

    118806 Jps

    118176 NameNode

    118540 ResourceManager

    node1 
    106602 Jps

    106301 DataNode

    106496 NodeManager

    106408 SecondaryNameNode

     

    7.hadoop远程客户端安装配置

     a.配置 /etc/profile 的环境变量配置javahadoop (可参考第二点配置JDK

     b.hadoop 配置文件修改

    在客户端只需配置集群namenode jobtracker 的相关信息,以及java安装目录。即修改conf目录下文件:

    hadoop-env.sh

    export JAVA_HOME=/usr/java/jdk1.8.0_45

    core-site.xml:

    <property>

    <name>fs.defaultFS</name>

    <value>hdfs://master:9000</value>

    <!--hadoop namenode 服务器地址和端口,以域名形式-->

    </property>

     mapred-site.xml:

    <property>

    <name>mapred.job.tracker</name>

    <value>http://master:9001</value>

    </property>

    cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml

    c.现在hadoop客户端已经配置好,可以运行基本的命令如:

    hadoop fs -lsr /


    这样就搭建了一个基本的集群了,接下来使用hive分析历史数据

  • 相关阅读:
    20155209林虹宇 Exp6 信息搜集与漏洞扫描
    20155209 Exp5 MSF基础应用
    20155209林虹宇Exp4 恶意代码分析
    20155209 林虹宇 Exp3 免杀原理与实践
    20155209 林虹宇Exp2 后门原理与实践
    20155209林虹宇逆向及Bof基础实验报告
    补做课上实践题目
    2017-2018-2 20155203《网络对抗技术》Exp9 :Web安全基础
    2017-2018-2 20155203《网络对抗技术》 Exp8:Web基础
    2017-2018-2 20155203《网络对抗技术》 Exp7:网络欺诈防范
  • 原文地址:https://www.cnblogs.com/jhy55/p/6531181.html
Copyright © 2011-2022 走看看