linux(CentOS6.9)下安装伪分布hadoop集群

1.安装JAVA JDK

2.安装Hadoop

3.在windows上的hosts文件配置映射

4.访问hadoop131:50070 就会看到hadoop的展示页面

5.这里面有很多细节需要注意,这是我自己总结的,不一定适合你,但是可以参考一下步骤 

1. 创建文件夹
        在opt目录下
            sudo  mkdir module 
            sudo  mkdir software
        更改所属用户和组
            sudo chown yinlele:yinlele module/ software/
    2. 上传到opt/software
        jdk1.8 hadoop2.7.2

        解压
            tar -zxvf jdk-8u191-linux-x64.tar.gz -C /opt/module/

            tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/
    
    3. 配置java的环境变量

            sudo vim /etc/profile ## 在末尾添加 shift G 跳到末尾 

            ## JAVA_HOME
            export JAVA_HOME=/opt/module/jdk1.8.0_191
            export PATH=$PATH:$JAVA_HOME/bin

            #保存 一下文件
            source /etc/profile

            #检查是否安装成功
            java -version
        
    4. 配置hadoop

            ## 编辑文件   
            sudo vim /etc/profile 

            ##HADOOP_HOME
                export HADOOP_HOME=/opt/module/hadoop-2.7.2
                export PATH=$PATH:$HADOOP_HOME/bin
                export PATH=$PATH:$HADOOP_HOME/sbin

            ## 保存文件
            source /etc/profile
            ## 检查是否安装成功
            hadoop version
 1.配置core-site.xml文件
                vim etc/hadoop/core-site.xml
                # 添加
                        <!--指定HDFS中NameNode的地址-->
                        <property>
                            <name>fs.defaultFS</name>
                            <value>hdfs://hadoop131:9000</value>
                        </property>
                    
                        <!--指定hadoop运行时产生文件的存储目录-->
                        <property>
                            <name>hadoop.tmp.dir</name>
                            <value>/opt/module/hadoop-2.7.2/data/tmp</value>
                        </property>
                2.配置 hdfs-site.xml
                 vim etc/hadoop/hdfs-site.xml 
                        <!--指定HDFS副本的量-->
                        <property>
                            <name>dfs.replication</name>
                            <value>1</value>
                        </property>

                3. 配置 hadoop-env.sh
                    获取jdk的安装路径
                    echo $JAVA_HOME
                    /opt/module/jdk1.8.0_191

                    export JAVA_HOME=/opt/module/jdk1.8.0_191
                    

                4.启动集群
                    1.格式化NameNode (第一次启动时格式化,以后就不要格式化)
                    bin/hdfs namenode -format

                    2.启动NameNode
                        sbin/hadoop-daemon.sh start namenode

                    3.启动DataNode
                        sbin/hadoop-daemon.sh start datanode
                    4.输入网址查看 
                    http://192.168.234.131:50070/dfshealth.html#tab-overview

                    端口 50070

                5.对NameNode的文件系统操作
                    1. 创建文件
                        bin/hdfs dfs -mkdir -p /user/yinlele/input

                    2. 查看文件
                         bin/hdfs dfs -ls /

                    3. 上传文件
                        bin/hdfs dfs -put wcinput/wc.input  /user/yinlele/input

                    4. 统计HDFS中的wc.input文件中的单词数
                        bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar  wordcount /user/yinlele/input /user/yinlele/youtput

                    5. 查看统计之后的文件
                        bin/hdfs dfs -cat /user/yinlele/youtput/part-r-00000

                    6. 删除
                        bin/hdfs dfs -rm -R /user/yinlele/youtput
                    7. 设置文件的权限
                        bin/hdfs dfs -chmod -R 755 /tmp
                1. 查看集群
                    jps 
                2. 为什么不能一直格式化NameNode,格式化NameNode需要注意什么?

                    格式化NameNode会产生新的集群id,导致NameNode和DataNode的集群id不一致,
                    集群找不到已往的数据,所以格式化NameNode时,一定要先删除data和log日志,然后在格式化NameNode

                    1.停止namenode和datanode
                    2.删除 data和logs 目录
                    3.在格式化

                3. 启动YARN并运行MapReduce
                    分析
                        1. 配置集群在YARN上运行MR
                        2. 启动 测试集群增 删 查
                        3. 在YARN 上执行Wordcount案例
                    1. 配置集群
                        1. 配置yarn.env.sh 
                            vim etc/hadoop/yarn-env.sh  
                            export JAVA_HOME=/opt/module/jdk1.8.0_191
                        2. 配置 yarn-site.xml
                            <!--Reducer 获取数据的方式-->
                            <property>
                                <name>yarn.nodemanager.aux-services</name>
                                <value>mapreduce_shuffle</value>
                            </property>

                            <!--指定YARN的ResourceManager的地址-->
                            <property>
                                <name>yarn.resourcemanager.hostname</name>
                                <value>hadoop131</value>
                            </property>
                        3. 配置 mapred-env.sh
                            vim etc/hadoop/mapred-env.sh 
                            export JAVA_HOME=/opt/module/jdk1.8.0_191
                        4. 配置 (对mapred-site.xml.template 重命名为)mapred-site.xml

                            cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
                            <!--指定MR运行在yarn上-->
                            <property>
                                <name>mapreduce.framework.name</name>
                                <value>yarn</value>
                            </property>
                        5. 启动集群
                            1. 确保NameNode和DataNode 已经启动
                
                            2. 启动ResourceManager
                                1. 启动resourcemanager
                                    sbin/yarn-daemon.sh start resourcemanager 

                                2. 启动nodemanager
                                    sbin/yarn-daemon.sh start nodemanager
                        
                        6. 集群操作
                            1. 查看yarn
                                http://hadoop131:8088/cluster

                            2. 统计 /user/yinlele/input 中文件的单词个数
                      
                                hadoop jar  share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar  wordcount /user/yinlele/input /user/yinlele/wcoutput
                        
                        7. 配置历史服务器
                            为了查看程序的历史运行情况,需要配置一下历史服务器

                            1. 配置mapred-site.xml 
                                vim etc/hadoop/mapred-site.xml
                                <!--历史服务器端地址-->
                                <property>
                                    <name>mapreduce.jobtracker.address</name>
                                    <value>hadoop131:10020</value>
                                </property>

                                <!--历史服务器web端地址-->
                                <property>
                                    <name>mapreduce.jobtracker.webapp.address</name>
                                    <value>hadoop131:19888</value>
                                </property>

                            2.启动历史服务器

                                sbin/mr-jobhistory-daemon.sh start historyserver 
                            
                            3.查看JobHistory
                                jps 查看进程

                                浏览器查看
                                http://hadoop131:19888/jobhistory
                            
                            1. 配置日志的聚集

                                日志聚集概念:应用运行完成后,将日志信息上传到HDFS系统上
                                日志聚集功能好处: 可以方便看到程序运行情况,方便开发调试

                                注意:开启日志聚集功能,需要重启 NodeManager ResourceManager 和 HistoryManager
                                    sbin/yarn-daemon.sh stop nodemanager
                                    sbin/yarn-daemon.sh stop resourcemanager
                                    sbin/mr-jobhistory-daemon.sh stop historyserver


                                1. 配置yarn-site.xml
                                    vim etc/hadoop/yarn-site.xml 
                                    <!--日志聚集功能-->
                                    <property>
                                        <name>yarn.log-aggregation-enable</name>
                                        <value>true</value>
                                    </property>

                                    <!--日志保留时间设置为7天-->

                                    <property>
                                        <name>yarn.log-aggregation.retain-seconds</name>
                                        <value>604800</value>
                                    </property>
                                2. 启动
                                    sbin/yarn-daemon.sh  start nodemanager

                                    sbin/yarn-daemon.sh start resourcemanager

                                    sbin/mr-jobhistory-daemon.sh  start historyserver

 这是虚拟机准备的前奏点击即可

猜你喜欢

转载自blog.csdn.net/yinlell/article/details/86059784