• Hadoop环境快速搭建(伪分布式和完全分布式步骤版)


    目录

    一、初始准备:

    二、环境搭建:

    1.修改第二台和第三台主机的IP和主机名

    2.用Xftp传入JDK和hadoop安装包,并安装

    Ⅰ、先删除centos7上自带的openJDK:

    Ⅱ、安装JDK并配置JAVA环境

    Ⅲ、安装Hadoop并配置环境

    Ⅳ、host文件配置,免密登入

    Ⅴ、文件传输以及剩余两台机子的环境配置

    Ⅵ、hadoop集群启动和HDFS,YARN集群的UI信息状态查询

    三、完全分布式Hadoop框架


    一、初始准备:

    1.linux虚拟机一台,克隆两台后修改hostname和ip地址再按下列步骤操作(或者创建三个虚拟机,在初始安装界面设置好ip地址和hostname,笔者这里采用第一种)。

    2.linux联网,采用NAT模式,可以ping通。(不会安装和连不上网的自寻搜索)

    3. ——》资源下载地址

    二、环境搭建:

    IP地址              主机名

    192.168.1.111 bigdata111    #第一台主机
    192.168.1.112 bigdata112   #第二台主机
    192.168.1.113 bigdata113   #第三台主机

    1.修改第二台和第三台主机的IP和主机名

    创建好第一台bigdata111主机后,克隆出两个主机,然后都开启连接上网络并打开第二台主机的终端。

    1. su root
    2. hostname  查看主机名
    3. vim /etc/hostname  修改主机名
    4. ip addr/ifconfig  查看主机IP
    5. cd /etc/sysconfig/network-scripts
    6. vi ifcfg-ens33 修改网络配置文件:
    7. 将BOOTPROTO=dhcp改为static
    8. ONBOOT=NO改为yes
    9. IPADDR=192.168.1.112
    10. NETMASK=255.255.255.0
    11. GATEWAY=192.168.80.2  #到编辑里面打开虚拟网络编辑器然后找到NAT模式点击NAT设置就可以看到网关,这个需要和虚拟机的网关保持一致
    12. DNS1=8.8.8.8
    13. systemctl restart network
    14. ip addr或者ifconfig  查看是否修改成功
    15. 同理在bigdata113主机上进行主机名和IP地址的修改

    改IP地址后,Xshell连不上的原因是虚拟机的子网和改的IP不在同一频道上

    2.用Xftp传入JDK和hadoop安装包,并安装

    Ⅰ、先删除centos7上自带的openJDK:

    1. 方法一:
    2. rpm -qa | grep java 查询java软件
    3. sudo rpm -e 软件包  卸载不要的JDK
    4. which java 查看JDK路径
    5. rm -rf JDK路径  手动删除,最后把profile配置信息删除
    6. 方法二:
    7. yum list installed | grep java  查看linux上自带的JDK
    8. yum -y remove java-1.8.0-openjdk*   删除所有自带的JDK
    9. yum -y remove tzdata-java.noarch

    Ⅱ、安装JDK并配置JAVA环境

    1. mkdir -p /export/data
    2. mkdir -p /export/servers
    3. mkdir -p /export/software
    4. Xftp把上面的两个安装包传入到/export/software文件夹中
    5. tar -zxvf /export/software/jdk-8u181-linux-x64.tar.gz -C /export/servers/
    6. cd /export/servers
    7. mv jdk1.8.0_181 jdk 
    8. vi /etc/profile
    9. #tip:在配置文件末尾追加
    10. export JAVA_HOME=/export/servers/jdk
    11. export PATH=$PATH:$JAVA_HOME/bin
    12. export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    13. source /etc/profile
    14. java -version

    Ⅲ、安装Hadoop并配置环境

    1. tar -zxvf /export/software/hadoop-2.7.2.tar.gz -C /export/servers/
    2. vi /etc/profile (shift+G快速到文件末尾)
    3. #tip:在文件末尾追加
    4. export HADOOP_HOME=/export/servers/hadoop-2.7.2
    5. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    6. source /etc/profile
    7. hadoop version
    1. cd /export/servers/hadoop-2.7.2/etc/hadoop/
    2. vi hadoop-env.sh
    3. #tip:找到相应位置,添加这段话
    4. export JAVA_HOME=/export/servers/jdk
    5. vi core-site.xml
    6. #tip:下图中乱码部分为注释代码,可以删掉,不影响
    7.    
    8.    
    9.         fs.defaultFS
    10.        
    11.         hdfs://bigdata111:9000
    12.    
    13.    
    14.    
    15.         hadoop.tmp.dir
    16.         /export/servers/hadoop-2.7.2/tmp
    17.    
    18. vi hdfs-site.xml
    19.    
    20.    
    21.         dfs.replication
    22.         3
    23.    
    24.    
    25.    
    26.         dfs.namenode.secondary.http-address
    27.         bigdata112:50090
    28.    
    29. cp mapred-site.xml.template mapred-site.xml
    30. vi mapred-site.xml
    31.    
    32.    
    33.         mapreduce.framework.name
    34.         yarn
    35.    
    36. vi yarn-site.xml
    37.    
    38.    
    39.         yarn.resourcemanager.hostname
    40.         bigdata111
    41.    
    42.    
    43.         yarn.nodemanager.aux-services
    44.         mapreduce_shuffle
    45.    
    46. #tip:将文件中的localhost删除,添加主节点和子节点的主机名称
    47. #tip:如主节点bigdata111,bigdata1112和bigdata113
    48. vi slaves
    49. bigdata111
    50. bigdata112
    51. bigdata113

    Ⅳ、host文件配置,免密登入

    1. 配置host文件,每个主机都要
    2. vi /etc/hosts
    3. 192.168.1.111 bigdata111
    4. 192.168.1.112 bigdata112
    5. 192.168.1.113 bigdata113
    6. scp /etc/hosts bigdata112:/etc/hosts
    7. scp /etc/hosts bigdata113:/etc/hosts
    8. 在windows下打开C:\Windows\System32\drivers\etc\host,在桌面创建一个host文件不带后缀,然后把原本windows下的host文件复制到桌面的hosts文件里在最后加上上面/etc/hosts写入的,最后覆盖时候会提示文件重复,管理员权限继续覆盖即可。
    9. 免密登入(这个过程每次主机都要完整执行一次,共三次)
    10. ssh-keygen -t rsa
    11. cd /root
    12. ll -a
    13. cd .ssh/
    14. ssh-copy-id bigdata111
    15. ssh-copy-id bigdata112
    16. ssh-copy-id bigdata113
    17. ssh bigdata112/ssh bigdata111 看看是否能互通

    Ⅴ、文件传输以及剩余两台机子的环境配置

    1. 在bigdata111上传输两个安装包给112和113
    2. scp /export/software/jdk-8u181-linux-x64.tar.gz bigdata112:/export/software/
    3. scp /export/software/jdk-8u181-linux-x64.tar.gz bigdata113:/export/software/
    4. scp /export/software/hadoop-2.7.2.tar.gz bigdata112:/export/software/
    5. scp /export/software/hadoop-2.7.2.tar.gz bigdata113:/export/software/
    6. 分别在112和113上安装两个包
    7. tar -zxvf /export/software/jdk-8u181-linux-x64.tar.gz -C /export/servers/
    8. tar -zxvf /export/software/hadoop-2.7.2.tar.gz -C /export/servers/
    9. 传输111的环境变量文件给112和113
    10. scp /etc/profile bigdata112:/etc/profile
    11. scp /etc/profile bigdata113:/etc/profile
    12. scp -r /export/ bigdata112:/
    13. scp -r /export/ bigdata113:/
    14. #tip:返回bigdata112和bigdata113节点执行下面命令,使环境变量生效
    15. source /etc/profile
    16. 然后在112和113上java -version和hadoop version查看是否安装成功

    Ⅵ、hadoop集群启动和HDFS,YARN集群的UI信息状态查询

    1. hdfs namenode -format
    2. start-dfs.sh
    3. start-yarn.sh
    4. jps(只能查java编写的进程)
    5. systemctl stop firewalld.service    #关闭防火墙
    6. systemctl disable firewalld.service  #关闭防火墙开机启动
    7. 通过UI界面查看Hadoop运行状态,在Windows系统下,访问http://bigdata111:50070,查看HDFS集群状态,在Windows系统下,访问http://bigdata111:8088,查看Yarn集群状态

    在JPS中找到DataNode的PID,然后kill -9 PID(DataNode),因为集群的心跳机制,10分钟后可以看到HDFS上面出现一个Dead Nodes 死亡节点,即可达到验证。至此就安装完了伪分布式的hadoop框架。

    三、完全分布式Hadoop框架

    节点分配如图所示:

    服务bigdata111bigdata112bigdata113
    NameNode
    Secondary NameNode
    DataNode
    ResourceManager
    NodeManager
    JobHistoryServer

    按上述伪分布式配置成功后,只需要对几个配置文件进行修改就行,然后在bigdata111上分配文件给bigdata112和113.

    1. cd /export/servers/hadoop-2.7.2/etc/hadoop/
    2. vi core-site.xml
    3. #tip:下图中乱码部分为注释代码,可以删掉,不影响
    4. <configuration>
    5. <!--用于设置Hadoop的文件系统,由URI指定-->
    6. <property>
    7. <name>fs.defaultFS</name>
    8. <!--用于指定namenode地址在bigdata111机器上-->
    9. <value>hdfs://bigdata111:9000</value>
    10. </property>
    11. <!--配置Hadoop的临时目录,默认/tem/hadoop-${user.name}-->
    12. <property>
    13. <name>hadoop.tmp.dir</name>
    14. <value>/export/servers/hadoop-2.7.2/tmp</value>
    15. </property>
    16. </configuration>
    17. vi hdfs-site.xml
    18. <configuration>
    19. <!--指定HDFS的数量-->
    20. <property>
    21. <name>dfs.replication</name>
    22. <value>3</value>
    23. </property>
    24. <!--secondary namenode 所在主机的IP和端口-->
    25. <property>
    26. <name>dfs.namenode.secondary.http-address</name>
    27. <value>bigdata112:50090</value>
    28. </property>
    29. <property>
    30. <name>dfs.namenode.http-address</name>
    31. <value>bigdata111:50070</value>
    32. </property>
    33. <property>
    34. <name>dfs.permissions.enabled</name>
    35. <value>false</value>
    36. </property>
    37. </configuration>
    38. vi mapred-site.xml
    39. <configuration>
    40. <!--指定MapReduce运行时的框架,这里指定在YARN上,默认在local-->
    41. <property>
    42. <name>mapreduce.framework.name</name>
    43. <value>yarn</value>
    44. </property>
    45. <property>
    46. <name>mapreduce.jobhistory.address</name>
    47. <value>bigdata113:10020</value>
    48. </property>
    49. <property>
    50. <name>mapreduce.jobhistory.webapp.address</name>
    51. <value>bigdata113:19888</value>
    52. </property>
    53. </configuration>
    54. vi yarn-site.xml
    55. <configuration>
    56. <!--指定YARN集群的管理者(ResourceManager)的地址-->
    57. <property>
    58. <name>yarn.resourcemanager.hostname</name>
    59. <value>bigdata113</value>
    60. </property>
    61. <property>
    62. <name>yarn.nodemanager.aux-services</name>
    63. <value>mapreduce_shuffle</value>
    64. </property>
    65. <property>
    66. <name>yarn.nodemanager.resource.memory-mb</name>
    67. <value>2048</value>
    68. </property>
    69. <property>
    70. <name>yarn.log-aggregation-enable</name>
    71. <value>true</value>
    72. </property>
    73. <property>
    74. <name>yarn.log-aggregation.retain-seconds</name>
    75. <value>604800</value>
    76. </property>
    77. </configuration>
    78. scp -r /export/ bigdata112:/
    79. scp -r /export/ bigdata113:/

    出现的问题:hdfs namenode -format后start-all.sh,然后通过jps发现没有出现DataNode,这是因为前面的伪分布式安装的时候与现在的环境出现了矛盾,或者是namenode 需要在运行以后尽量避免格式化,否则datanode就找不到相应的cluster ID。

    解决办法:cd /export/servers/hadoop-2.7.2/tmp/dfs/后,ls查看发现有data文件,然后rm -rf data删除该文件,再hdfs namenode -format和start-all.sh即可解决,注意三台机子的data文件都要删除一遍!

    访问网页端:由于这里把ResourceManager分配给了bigdata113,所以访问的网页是:

    bigdata111:50070和bigdta113:8088

     

  • 相关阅读:
    mac常见问题(五) Mac 无法开机
    Mysql中的JDBC编程
    Mysql数据库 1. SQL基础语法和操作
    UML 类图几种关系(依赖、关联、泛化、实现、聚合、组合)及其对应代码
    【Android笔记49】Android中几种常见的数据适配器的使用(ArrayAdapter、BaseAdapter、SimpleAdapter)
    移动通信网络规划:勘测输出
    【面试题】面试官:说说你对js中的 防抖 和 节流 的理解
    dynamic_cast的使用
    Leetcode P84 Java使用栈解决此问题
    卷积神经网络kernel/filter/stride
  • 原文地址:https://blog.csdn.net/weixin_56115549/article/details/126611995