[关闭]
@zhangyy 2020-07-20T13:50:44.000000Z 字数 6372 阅读 107

hadoop 3.2.1 伪分布与分布式环境构建

大数据运维专栏


  • 一:环境准备
  • 二:安装Hadoop3.2.1
  • 三:运行一个wordcount 测试
  • 四:Hadoop 分布式构建与测试

一:环境准备:

1.1 系统环境介绍

  1. 系统:CentOS7.5x64
  2. 主机名:
  3. cat /etc/hosts
  4. ------
  5. 192.168.11.192 fat01.flyfish.com
  6. 192.168.11.195 fat02.flyfish.com
  7. 192.168.11.197 fat03.flyfish.com
  8. -------
  9. jdk版本: jdk1.8.181
  10. hadoop版本 : hadoop3.2.1

图片.png-10.7kB


1.2 部署jdk1.8.181

  1. rpm -ivh jdk-8u181-linux-x64.rpm
  2. vim /etc/profile
  3. ---
  4. ## JAVA_HOME
  5. export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
  6. export CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib
  7. export PATH=$PATH:$JAVA_HOME/bin
  8. ---
  9. source /etc/profile
  10. java -version

图片.png-14.6kB

二: 安装Hadoop3.2.1 配置伪分布

2.1 准备下载Hadoop3.2.1 版本

  1. 下载:
  2. wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz
  3. 解压:
  4. tar -zxvf hadoop-3.2.1.tar.gz

图片.png-22.3kB

2.2 设定Hadoop 安装目录

  1. mkdir -p /opt/bigdata ## 将Hadoop 安装到 /opt/bigdata 目录下面
  2. mv hadoop-3.2.1 /opt/bigdata/hadoop

图片.png-18.4kB


2.3 配置Hadoop 的配置文件

2.3.1 编译core-site.xml

  1. 编译 core-site.xml
  2. cd /opt/bigdata/hadoop/etc/hadoop/
  3. vim core-site.xml
  4. -----
  5. <configuration>
  6. <property>
  7. <name>hadoop.tmp.dir</name>
  8. <value>/opt/bigdata/hadoop/data</value>
  9. <description>hadoop_temp</description>
  10. </property>
  11. <property>
  12. <name>fs.default.name</name>
  13. <value>hdfs://fat01.flyfish.com:8020</value>
  14. <description>hdfs_derect</description>
  15. </property>
  16. </configuration>
  17. ----

2.3.2 编辑hdfs-site.xml

  1. vim hdfs-site.xml
  2. ---
  3. <configuration>
  4. <property>
  5. <name>dfs.replication</name>
  6. <value>1</value>
  7. <description>num</description>
  8. <name>dfs.namenode.http-address</name>
  9. <value>fat01.flyfish.com:50070</value>
  10. </property>
  11. </configuration>
  12. ---

2.3.3 编辑mapred-site.xml

  1. vim mapred-site.xml
  2. ----
  3. <configuration>
  4. <property>
  5. <name>mapreduce.framework.name</name>
  6. <value>yarn</value>
  7. </property>
  8. <property>
  9. <name>mapreduce.jobhistory.webapp.address</name>
  10. <value>fat01.flyfish.com:19888</value>
  11. </property>
  12. <property>
  13. <name>yarn.app.mapreduce.am.env</name>
  14. <value>HADOOP_MAPRED_HOME=/opt/bigdata/hadoop</value>
  15. </property>
  16. <property>
  17. <name>mapreduce.map.env</name>
  18. <value>HADOOP_MAPRED_HOME=/opt/bigdata/hadoop</value>
  19. </property>
  20. <property>
  21. <name>mapreduce.reduce.env</name>
  22. <value>HADOOP_MAPRED_HOME=/opt/bigdata/hadoop</value>
  23. </property>
  24. </configuration>
  25. -----

2.3.4 编辑yarn-site.xml

  1. vim yarn-site.xml
  2. ----
  3. <configuration>
  4. <property>
  5. <name>yarn.nodemanager.aux-services</name>
  6. <value>mapreduce_shuffle</value>
  7. </property>
  8. </configuration>
  9. -----

2.4 关于jdk 的环境变量配置

  1. echo "export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64" >> hadoop-env.sh
  2. echo "export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64" >> mapred-env.sh
  3. echo "export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64" >> yarn-env.sh

2.5 格式化 namenode文件系统:

  1. cd /opt/bigdata/hadoop
  2. bin/hdfs namenode -format

图片.png-51.8kB

图片.png-44.2kB


2.6 启动Hadoop 的 hdfs

  1. bin/hdfs --daemon start namenode
  2. bin/hdfs --daemon start datanode
  3. 浏览器访问:
  4. http://192.168.11.192:50070

图片.png-17.8kB

图片.png-80.1kB

2.7 启动Hadoop的yarn

  1. bin/yarn --daemon start resourcemanager
  2. bin/yarn --daemon start nodemanager

图片.png-18.6kB

图片.png-80.9kB

2.8 启动historyserver

  1. bin/mapred --daemon start historyserver

图片.png-58.6kB

三:运行一个wordcount 测试

  1. cd /opt/bigdata/hadoop
  2. bin/hdfs dfs -mkdir /input
  3. bin/hdfs dfs -put word.txt /input
  4. bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar wordcount /input /output1

图片.png-74kB

图片.png-47.8kB

  1. bin/hdfs dfs -put /output1

图片.png-41.7kB


四:Hadoop 分布构建

4.1 分布构建

  1. 承接上文伪分布基础上部署:
  2. 角色分配图:

图片.png-8.5kB


  1. cd /opt/bigdata/hadoop/etc/
  2. vim core-site.xml
  3. ----
  4. <configuration>
  5. <property>
  6. <name>hadoop.tmp.dir</name>
  7. <value>/opt/bigdata/hadoop/data</value>
  8. <description>hadoop_temp</description>
  9. </property>
  10. <property>
  11. <name>fs.default.name</name>
  12. <value>hdfs://fat01.flyfish.com:8020</value>
  13. <description>hdfs_derect</description>
  14. </property>
  15. </configuration>
  16. ----

  1. 编辑hdfs-site.xml 文件:
  2. <configuration>
  3. <property>
  4. <name>dfs.replication</name>
  5. <value>3</value>
  6. </property>
  7. <property>
  8. <name>dfs.namenode.http-address</name>
  9. <value>fat01.flyfish.com:50070</value>
  10. </property>
  11. <property>
  12. <name>dfs.namenode.secondary.http-address</name>
  13. <value>fat02.flyfish.com:50090</value>
  14. </property>
  15. </configuration>

  1. 编辑mared-site.xml
  2. vim mared-site.xml
  3. -----
  4. <configuration>
  5. <property>
  6. <name>mapreduce.framework.name</name>
  7. <value>yarn</value>
  8. </property>
  9. <property>
  10. <name>mapreduce.jobhistory.address</name>
  11. <value>fat02.flyfish.com:10020</value>
  12. </property>
  13. <property>
  14. <name>mapreduce.jobhistory.webapp.address</name>
  15. <value>fat02.flyfish.com:19888</value>
  16. </property>
  17. <property>
  18. <name>yarn.app.mapreduce.am.env</name>
  19. <value>HADOOP_MAPRED_HOME=/opt/bigdata/hadoop</value>
  20. </property>
  21. <property>
  22. <name>mapreduce.map.env</name>
  23. <value>HADOOP_MAPRED_HOME=/opt/bigdata/hadoop</value>
  24. </property>
  25. <property>
  26. <name>mapreduce.reduce.env</name>
  27. <value>HADOOP_MAPRED_HOME=/opt/bigdata/hadoop</value>
  28. </property>
  29. </configuration>
  30. -----

  1. 编辑yarn-site.xml
  2. vim yarn-site.xml
  3. ----
  4. <configuration>
  5. <property>
  6. <name>yarn.nodemanager.aux-services</name>
  7. <value>mapreduce_shuffle</value>
  8. </property>
  9. <property>
  10. <name>yarn.resourcemanager.hostname</name>
  11. <value>fat02.flyfish.com</value>
  12. </property>
  13. <property>
  14. <name>yarn.log-aggregation-enable</name>
  15. <value>true</value>
  16. </property>
  17. <property>
  18. <name>yarn.log-aggregation.retain-seconds</name>
  19. <value>604800</value>
  20. </property>
  21. </configuration>
  22. ----

  1. 编辑hadoop-env.sh 文件:
  2. vim hadoop-env.sh
  3. ---
  4. export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
  5. export HADOOP_PID_DIR=/opt/bigdata/hadoop/data/tmp
  6. export HADOOP_SECURE_DN_PID_DIR=/opt/bigdata/hadoop/data/tmp
  7. ----

  1. 编辑mapred-env.sh 文件:
  2. vim mapred-env.sh
  3. ----
  4. export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
  5. export HADOOP_MAPRED_PID_DIR=/opt/bigdata/hadoop/data/tmp
  6. ----
  1. 编辑yarn-env.sh 文件:
  2. vim yarn-env.sh
  3. ----
  4. export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
  5. -----

  1. 编辑works 文件
  2. vim works
  3. ---
  4. fat01.flyfish.com
  5. fat02.flyfish.com
  6. fat03.flyfish.com
  7. ---

  1. 同步所有节点
  2. cd /opt/
  3. tar zcvf bigdata.tar.gz bigdata
  4. scp bigdata.tar.gz root@192.168.11.195:/opt/
  5. scp bigdata.tar.gz root@192.168.11.197:/opt/
  6. 然后到每个节点上面去 解压这个 bigdata.tar.gz
  7. 删掉原有节点上面格式数据
  8. cd /opt/bigdata/hadoop/data
  9. rm -rf *

4.2 格式化数据节点

  1. fat01.flyfish.com 主机上执行:
  2. cd /opt/bigdata/hadoop/bin
  3. ./hdfs namenode format

  1. 启动之前先决定 启动用户是是是什么这边默认是root
  2. cd /opt/bigdata/hadoop/sbin
  3. 对于start-dfs.shstop-dfs.sh文件,添加下列参数:
  4. ----
  5. #!/usr/bin/env bash
  6. HDFS_DATANODE_USER=root
  7. HADOOP_SECURE_DN_USER=hdfs
  8. HDFS_NAMENODE_USER=root
  9. HDFS_SECONDARYNAMENODE_USER=root
  10. ----

  1. vim start-yarn.sh
  2. ---
  3. YARN_RESOURCEMANAGER_USER=root
  4. HADOOP_SECURE_DN_USER=yarn
  5. YARN_NODEMANAGER_USER=root
  6. ----

4.3 启动角色

  1. 启动hdfs
  2. fat01.flyfish.com 主机上执行:
  3. cd hadoop/sbin/
  4. ./start-dfs.sh

图片.png-92.9kB


  1. 打开 hdfs web
  2. http://192.168.11.192:50070

图片.png-77.9kB

  1. 启动yarn
  2. fat02.flyfish.com
  3. cd hadoop/sbin/
  4. start-yarn.sh
  5. 启动historyserver
  6. mapred --daemon start jobhistoryserver

图片.png-16.3kB

图片.png-18.3kB


  1. 打开yarn的界面:
  2. http://192.168.11.195:8088

图片.png-104.5kB

  1. 打开jobhistoryserver 的页面
  2. http://192.168.11.195:19888

图片.png-62.6kB


  1. 启动角色对比

图片.png-8.5kB

  1. fat01.flyfish.com
  2. jps

图片.png-13.7kB


  1. fat02.flyfish.com
  2. jps

图片.png-15.2kB

  1. fat03.flyfish.com
  2. jps

图片.png-13.7kB

  1. 至此 Hadoop 分布式环境搭建完成

4.4 关于启动job测试

  1. cd /opt/bigdata/hadoop
  2. bin/hdfs dfs -mkdir /input
  3. bin/hdfs dfs -put word.txt /input
  4. bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar wordcount /input /output1

图片.png-80.5kB

图片.png-99.2kB

  1. hdfs dfs -ls /input
  2. hdfs dfs -cat /output1/part-r-00000

图片.png-34.8kB

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注