当前位置:   article > 正文

CentOS-7安装Hadoop伪分布式模式(hadoop-2.9.2)_centos7 hadoop2.9 伪分布式

centos7 hadoop2.9 伪分布式

备忘录:为查询和总结记录。
记录:NO.225
本例环境:
        操作系统:CentOS-7-x86_64-DVD-1908
        JDK版本:jdk-8u251-linux-x64
        Hadoop版本:hadoop-2.9.2
        远程连接工具:SecureCRT 8.0
        官网地址:https://hadoop.apache.org/
        官网文档地址:https://hadoop.apache.org/docs
        官网下载地址:https://archive.apache.org/dist/hadoop/common/
        Linux环境准备:https://blog.csdn.net/zhangbeizhen18/article/details/107437516
1.Hadoop运行模式
        本地模式,Standalone Operation。
        伪分布式模式,Pseudo-Distributed Operation。
        完全分布式模式,Fully-Distributed Operation。
2.创建目录
        本例在/home/apps目录下创建module和software,安装包放在software备用,
        module目录存安装软件。
        命令如下:
        sudo mkdir module
        sudo mkdir software
        sudo chown learn:learn /home/apps/module/ /home/apps/software/
        注意:在部署操作使用一个普通用户learn进行操作。
        其中learn用户具备root操作权限,即在
        /etc/sudoers文件中新增
        learn    ALL=(ALL)       ALL
        在遇到需要root权限时,就在操作命令前添加sudo即可。
3.本例jdk安装
        tar -zxvf jdk-8u251-linux-x64.rpm
        如上安装就在默认路径下,即/usr/java/jdk1.8.0_251-amd64中
        指定目录安装:
        tar -zxvf jdk-8u251-linux-x64.rpm -C /home/apps/module/    
        在 /etc/profile新增环境变量:
        vim /etc/profile
        ##JAVA_HOME
        export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
        export PATH=$PATH:$JAVA_HOME/bin
        生效:
        source /etc/profile
        验证java命令生效:
        java -version
4.安装Hadoop
        在/home/apps/software/操作
        tar -zxvf hadoop-2.9.2.tar.gz -C /home/apps/module/
        安装后hadoop落盘在/home/apps/module/hadoop-2.9.2
5.配置Hadoop环境变量
        在 /etc/profile新增环境变量:
        vim /etc/profile
        sudo vim /etc/profile
        ###HADOOP_HOME 2020-7-19
        export HADOOP_HOME=/home/apps/module/hadoop-2.9.2
        export PATH=$PATH:$HADOOP_HOME/bin
        export PATH=$PATH:$HADOOP_HOME/sbin
        生效:
        source /etc/profile
        验证hadoop命令生效:
        hadoop
6.本例环境说明
        用户:learn
        主机名:hadoop150
        hosts域名映射:192.168.110.150 hadoop150
7.配置HDFS
        在/home/apps/module/hadoop-2.9.2目录
        配置文件在目录:
        /home/apps/module/hadoop-2.9.2/etc/hadoop
7.1修改hadoop-env.sh
        遇到.sh考虑修改jdk路径
        vim hadoop-env.sh 
        export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
7.2修改core-site.xml
        vim core-site.xml
        <!-- 指定HDFS中NameNode的地址 -->
        <property>
        <name>fs.defaultFS</name>
            <value>hdfs://hadoop150:9000</value>
        </property>
        <!-- 指定Hadoop运行时产生文件的存储目录 -->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/home/apps/module/hadoop-2.9.2/data/tmp</value>
        </property>
7.3修改hdfs-site.xml
        vim hdfs-site.xml 
        <!-- 指定HDFS副本的数量 -->
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>    
8.启动HDFS验证
        HDFS启动验证,即HDFS可独立运行。
8.1启动命令
        在/home/apps/module/hadoop-2.9.2
        首先格式化格式化NameNode(第一次启动格式化)
        bin/hdfs namenode -format
        先启动NameNode,再启动DataNode,命令依次
        sbin/hadoop-daemon.sh start namenode
        sbin/hadoop-daemon.sh start datanode
        关闭,则先关闭DataNode,再NameNode。
        sbin/hadoop-daemon.sh stop datanode
        sbin/hadoop-daemon.sh stop namenode
        使用jps查看进程,本例有如下进程
        24049 Jps
        23878 NameNode
        23993 DataNode
8.2启动过程报错
        在/home/apps/module/hadoop-2.9.2/logs查看
8.3在浏览器中验证HDFS    
        访问方式:    
        http://hadoop150:50070/
        或者
        192.168.110.150:50070
        使用域名访问,则访问机器需配置hosts文件
        比如本例在window中配置
        C:\Windows\System32\drivers\etc\hosts
        新增:
        192.168.110.150 hadoop150
        访问到页面如下:
        注意在页面中Utilities中查看 browse the file system,这是HDFS文件系统路径。
9.操作HDFS文件系统
9.1在HDFS文件系统上创建一个input文件夹
        在/home/apps/module/hadoop-2.9.2中执行命令
        bin/hdfs dfs -mkdir -p /user/learn/input
        解析:
        bin/hdfs dfs  操作HDFS文件系统
        -mkdir -p /user/learn/input 创建目录,和操作Linux本地文件类似,加一个-
        在浏览器Utilities菜单的browse the file system查看
        如下:
        xx
9.2从Linux本地上传文件到HDFS文件系统
        在/home/apps/module/hadoop-2.9.2中创建文件并复制点内容
        本例是:
        /home/apps/module/hadoop-2.9.2/input/info.txt
        上传命令:
        bin/hdfs dfs -put input/info.txt  /user/learn/input
        可以在页面查看
        命令查看如下
        bin/hdfs dfs -ls /user/learn/input
        bin/hdfs dfs -cat /user/learn/input/info.txt
9.3在HDFS文件系统运行WordCount案例
        命令:
        bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar wordcount /user/learn/input /user/learn/output
        这条指令没有特殊标识运行的是hdfs文件系统,
        注意:配置了HDFS后,执行的就是hdfs文件系统文件了。
9.4在HDFS文件系统查看结果
        bin/hdfs dfs -ls /user/learn/output
        bin/hdfs dfs -cat /user/learn/output/part-r-00000
9.5小结
        HDFS文件系统配置完成后可独立运行,且hadoop命令读取的文件不再是本地,而是HDFS文件系统。
        MapReduce运行在HDFS上。
10.配置YARN
        在/home/apps/module/hadoop-2.9.2目录
        配置文件在目录:
        /home/apps/module/hadoop-2.9.2/etc/hadoop
10.1修改yarn-env.sh
        vim yarn-env.sh
        export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
10.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>hadoop150</value>
        </property>
10.3修改mapred-env.sh
        vim mapred-env.sh
        export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
10.4修改mapred-site.xml
        cp mapred-site.xml.template mapred-site.xml
        vim mapred-site.xml
        <!-- 指定MR运行在YARN上 -->
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
11.启动HDFS验证
11.1启动验证
        在/home/apps/module/hadoop-2.9.2目录
        启动ResourceManager
        sbin/yarn-daemon.sh start resourcemanager
        启动nodemanager
        sbin/yarn-daemon.sh start nodemanager
        使用jps验证有如下进程:
        40325 ResourceManager
        23878 NameNode
        40630 Jps
        23993 DataNode
        40590 NodeManager
11.2在浏览器验证
        查看HDFS
        http://hadoop150:50070/
        或者
        192.168.110.150:50070
        查看MapReduce
        http://hadoop150:8088
11.3运行WordCount案例
        删除上一次运行的输出文件
        bin/hdfs dfs -rm -r /user/learn/output
        运行
        bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar wordcount /user/learn/input /user/learn/output
        查看结果:
        bin/hdfs dfs -ls /user/learn/output
        bin/hdfs dfs -cat /user/learn/output/part-r-00000
12.配置历史日志服务器
        配置文件在目录:
        /home/apps/module/hadoop-2.9.2/etc/hadoop
12.1修改mapred-site.xml
        vim mapred-site.xml
        <!-- 历史服务器地址 -->
        <property>
            <name>mapreduce.jobhistory.address</name>
            <value>hadoop150:10020</value>
        </property>
        <!-- 历史服务器web端地址 -->
        <property>
            <name>mapreduce.jobhistory.webapp.address</name>
            <value>hadoop150:19888</value>
        </property>
12.2启动历史服务器
        sbin/mr-jobhistory-daemon.sh start historyserver
        使用jps查看新增进程
        JobHistoryServer
12.3在浏览器查看
        hadoop150:19888
13.关闭已经启动进程
        sbin/mr-jobhistory-daemon.sh stop historyserver
        sbin/yarn-daemon.sh stop nodemanager
        sbin/yarn-daemon.sh stop resourcemanager
        sbin/hadoop-daemon.sh stop datanode
        sbin/hadoop-daemon.sh stop namenode
14.配置日志聚合
14.1关闭historyserver、nodemanager、resourcemanager
        sbin/mr-jobhistory-daemon.sh stop historyserver
        sbin/yarn-daemon.sh stop nodemanager
        sbin/yarn-daemon.sh stop resourcemanager
14.2修改mapred-site.xml
        <!-- 日志聚集功能使能为true即可 -->
        <property>
            <name>yarn.log-aggregation-enable</name>
            <value>true</value>
        </property>
        <!-- 日志保留时间设置为3天 -->
        <property>
            <name>yarn.log-aggregation.retain-seconds</name>
            <value>259200</value>
        </property>
15.启动进程验证
15.1启动
        sbin/yarn-daemon.sh start resourcemanager
        sbin/yarn-daemon.sh start nodemanager
        sbin/mr-jobhistory-daemon.sh start historyserver
15.2验证
        运行WordCount案例
        删除输出文件
        bin/hdfs dfs -rm -r /user/learn/output
        运行案例:
        bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar wordcount /user/learn/input /user/learn/output
16.页面查看
        http://hadoop150:50070
        http://hadoop150:8088
        http://hadoop150:19888
17.数量全量配置
        配置HDFS
        hadoop-env.sh
        core-site.xml
        hdfs-site.xml
        配置YARN,历史日志服务器,日志聚合
        yarn-env.sh
        yarn-site.xml
        mapred-env.sh
        mapred-site.xml
17.1配置HDFS
        配置hadoop-env.sh
        ##JAVA_HOME
        export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
        配置core-site.xml
        <!-- 指定HDFS中NameNode的地址 -->
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://hadoop150:9000</value>
        </property>
        <!-- 指定Hadoop运行时产生文件的存储目录 -->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/home/apps/module/hadoop-2.9.2/data/tmp</value>
        </property>
        配置hdfs-site.xml
        <!-- 指定HDFS副本的数量 -->
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
17.2配置YARN
        配置yarn-env.sh
        ##JAVA_HOME
        export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
        配置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>hadoop150</value>
        </property>
        配置mapred-env.sh
        ##JAVA_HOME
        export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
        配置mapred-site.xml
        <!-- 历史服务器地址 -->
        <property>
            <name>mapreduce.jobhistory.address</name>
            <value>hadoop150:10020</value>
        </property>
        <!-- 历史服务器web端地址 -->
        <property>
            <name>mapreduce.jobhistory.webapp.address</name>
            <value>hadoop150:19888</value>
        </property>
        <!-- 日志聚集功能使能为true即可 -->
        <property>
            <name>yarn.log-aggregation-enable</name>
            <value>true</value>
        </property>
        <!-- 日志保留时间设置为3天 -->
        <property>
            <name>yarn.log-aggregation.retain-seconds</name>
            <value>259200</value>
        </property>
18.启动命令
18.1启动进程
        sbin/hadoop-daemon.sh start namenode
        sbin/hadoop-daemon.sh start datanode
        sbin/yarn-daemon.sh start resourcemanager
        sbin/yarn-daemon.sh start nodemanager
        sbin/mr-jobhistory-daemon.sh start historyserver
18.2关闭进程
        sbin/mr-jobhistory-daemon.sh stop historyserver
        sbin/yarn-daemon.sh stop nodemanager
        sbin/yarn-daemon.sh stop resourcemanager
        sbin/hadoop-daemon.sh stop datanode
        sbin/hadoop-daemon.sh stop namenode
19.跑WordCount案例
        bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar wordcount /user/learn/input /user/learn/output
20.浏览器查看
        http://hadoop150:50070
        http://hadoop150:8088
        http://hadoop150:19888
        页面:
        http://hadoop150:50070
        
        http://hadoop150:8088
        http://hadoop150:19888
        
以上,感谢。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/611314
推荐阅读
相关标签
  

闽ICP备14008679号