第七课记录 搭建Hadoop环境

来源:互联网 发布:用c语言表白 编辑:程序博客网 时间:2024/05/29 09:46
主题:Hadoop高可用性(HA)的原理和实现
1、什么是HA?: 防止主节点死掉了,造成整个集群无法访问
2、ZooKeeper简介
3、Hadoop高可用性的实现原理
4、Demo演示:Hadoop的HA


一、上次公开课内容回顾


二、搭建Hadoop环境
        1、准备工作:
                (*)安装Linux:CentOS、Oracle Linux、Redhat Linux
                (*)安装JDK:JDK1.7
                (*)关闭防火墙、编辑/etc/hosts

        2、回顾:HDFS和YARN基本结构
        3、Hadoop的目录结构

        4、Hadoop安装模式:
                解压:tar -zxvf hadoop-2.4.1.tar.gz -C ~/training/
                设置环境变量   vi ~/.bash_profile
                        HADOOP_HOME=/root/training/hadoop-2.4.1
                        export HADOOP_HOME


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

                (1)本地模式:1台
                        (*)特点:不具备HDFS的功能,只能测试MapReduce程序(数据就在操作系统上)
                        (*)配置:hadoop-env.sh
                                27行 export JAVA_HOME=/root/training/jdk1.7.0_75
  
                        (*)Demo:运行MapReduce程序(WordCount)
                                example:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar
  
                        (*)MapReduce特性
                                (1)分区:默认只有一个分区,只有一个输出文件
                                (2)排序:默认:字符串:按照字典顺序
                                                数字:  升序
                                                        按照对象排序(必须序列化)
                                (3)其他特性:*****


                (2)伪分布模式:1台
                        (*)特点:在单机上,模拟一个分布式的环境,具备Hadoop所有功能
                                HDFS: 一个NameNode、一个DataNode、一个SecondaryNameNode(进行日志合并)
                                Yarn: 一个ResourceManager,一个NodeManager
  
                        (*)hdfs-site.xml
                                <!--配置数据块的冗余度-->
                                        <property>
                                                <name>dfs.replication</name>
                                                <value>1</value>
                                        </property>


                                <!--是否进行权限检查-->
                                        <property>
                                                <name>dfs.permissions</name>
                                                <value>false</value>
                                        </property>

                        (*)core-site.xml
                                <!--配置NameNode的地址-->
                                        <property>
                                                <name>fs.defaultFS</name>
                                                <value>hdfs://192.168.88.11:9000</value>
                                        </property>


                                <!--DataNode数据块保存的位置-->
                                        <property>
                                                <name>hadoop.tmp.dir</name>
                                                <value>/root/training/hadoop-2.4.1/tmp</value>
                                        </property>


                                hadoop.tmp.dir默认值:/tmp


                        (*) mapred-site.xml
                                <!--MR程序运行的框架-->
                                        <property>
                                                <name>mapreduce.framework.name</name>
                                                <value>yarn</value>
                                        </property>


                        (*)yarn-site.xml
                                <!--ResourceManager的地址-->
                                        <property>
                                                <name>yarn.resourcemanager.hostname</name>
                                                <value>192.168.88.11</value>
                                        </property>


                                        <!--MR的运行方式-->
                                        <property>
                                                <name>yarn.nodemanager.aux-services</name>
                                                <value>mapreduce_shuffle</value>
                                        </property>


                        (*)对NameNode进行格式化
                                hdfs namenode -format 
  
                                成功了日志:Storage directory /root/training/hadoop-2.4.1/tmp/dfs/name has been successfully formatted.

                        (*)启动:脚本:start-all.sh  = start-dfs.sh + start-yarn.sh

                        (*)Demo: 运行MapReduce程序(WordCount)
                                        example:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar


                        问题:一台机器,启动一次停止一次,一共要输入8次密码。如果有1000台机器呢?
                                解决:一定配置免密码登录----> 采用是不对称加密

                (3)全分布模式:3台


=======================================OVER=======================================

原创粉丝点击