一、实现Hadoop伪分布式部署(第一次作业)

    xiaoxiao2025-07-15  5

    Hadoop的架构和组成

    Hadoop分布式系统基础框架具有创造性和极大的扩展性,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力高速运算和存储。 Hadoop的核心组成部分是HDFS,MapReduce以及Common,其中HDFS提供了海量数据的存储,MapReduce提供了对数据的计算,Common为其他模块提供了一系列文件系统和通用文件包。

    JDK安装配置

    下载JDK版本:8u211-linux-x64 解压JDK :

    tar -zxvf jdk-8u211-linux-x64.tar.gz

    配置环境变量: vi /etc/profile文件添加:

    export JAVA_HOME=/usr/java/jdk1.8.0_211-amd64 export PATH=$JAVA_HOME/bin:$PATH

    Esc :wq!保存并退出。 配置生效:

    source /etc/profile

    检验是否成功

    javac

    Hadoop安装配置

    下载Hadoop版本;hadoop-2.7.7.tar.gz 解压Hadoop:

    tar -zxvf hadoop-2.7.7.tar.gz

    配置Hadoop并生效 vi /etc/profile文件添加:

    export HADOOP_HOME=/root/hadoop-2.7.7 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

    Esc :wq!保存并退出。 配置生效:

    source /etc/profile

    检验是否成功:

    hadoop

    配置伪分布式修改以下文件: vi hadoop -env.sh

    #hadoop-2.7.7是第25行 #可以使用 :set number来显示行数 export JAVA_HOME=/usr/java

    vi core-site.xml

    <configuration> <!--配置HDFS主节点,namenode的地址,9000是RPC通信端口-->   <property>     <name>fs.defaultFS</name>     <value>hdfs://hadoop:9000</value>   </property>  <!--配置HDFS数据块和元数据保存的目录,一定要修改-->   <property>     <name>hadoop.tmp.dir</name>     <value>/var/hadoop/tmp</value>   </property> </configuration>

    vi hdfs-site.xml

    <configuration>   <!--注释配置数据块的冗余度,默认是3-->   <property>     <name>dfs.replication</name>     <value>1</value>   </property>   <!--下面的地址是我个人的-->   <property>     <name>dfs.http.address</name>     <value>192.168.244.11:50070</value>   </property> </configuration>

    vi mapred-site.xml

    # mv mapred-site.xml.templete mapred-site.xml #重命名,hadoop-3.1.0系统中就是mapred-site.xml不需要改名,hadoop-2.7.7需要改名 <!--配置MR程序运行的框架--> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>

    vi yarn-site.xml

    <configuration> <!--配置Yarn的节点--> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop</value> </property> <!--NodeManager执行MR任务的方式是Shuffle洗牌--> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>

    下一步解决互信问题,生成密钥,使ssh可以免密码连接localhost。 格式化:

    hdfs namenode -format

    启动:

    start-all.sh

    检查集群:

    jps

    显示出6个进程正确:

    Jps DataNode SecondaryNameNode NameNode NodeManager ResourceManager

    web控制台访问:http://192.168.244.11:50070 、http://192.168.244.11:8088 上传HDFS:

    hdfs dfs -put in.txt /adir 上传本地当前路径下的in.txt文件 到hdfs的/adir目录下。

    运行wordcount:

    hadoop jar /root/hadoop-2.7.7/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /data/wordcount /output/wordcount

    最后在http://192.168.244.11:50070 查看/user/root/output/part-r-00000文件里的词频统计结果。

    最新回复(0)