• 大数据-hadoop环境安装(集群)


    本伪分布式是在vmware上建立的

    1、安装概述

    安装流程:

    节点结构:

     2、准备环境

    操作系统:centos7

    master:192.168.73.31

    slave1:192.168.73.32

    slave2:192.168.73.33

    JDK版本:java-1.8.0-openjdk-devel.x86_64

    hadoop版本:hadoop-3.3.1.tar.gz

    3、配置机器名称和IP

    修改主机名称和IP地址信息,分别将3台虚拟机主机名称修改为master、slave1、slave2

     IP地址信息如下:

    分别将master机器对应的IP修改为:192.168.73.31

    将slave1机器对应的IP修改为:192.168.73.32

    将slave2机器对应的IP修改为:192.168.73.33

    所有配置修改好,需要将虚拟机重启,才有效果,执行reboot命令

     操作命令如下:

    1. hostname #查看机器名称
    2. vim /etc/hostname #修改机器名称的配置文件
    3. vim /etc/sysconfig/network-scripts/ifcfg-ens33 #修改机器IP地址信息
    4. #IP地址信息如下:
    5. TYPE=Ethernet
    6. PROXY_METHOD=none
    7. BROWSER_ONLY=no
    8. BOOTPROTO=static
    9. DEFROUTE=yes
    10. IPV4_FAILURE_FATAL=no
    11. IPV6INIT=yes
    12. IPV6_AUTOCONF=yes
    13. IPV6_DEFROUTE=yes
    14. IPV6_FAILURE_FATAL=no
    15. IPV6_ADDR_GEN_MODE=stable-privacy
    16. NAME=ens33
    17. UUID=2beef6cf-0c31-4730-86fe-674429167de8
    18. DEVICE=ens33
    19. ONBOOT=yes
    20. IPADDR=192.168.73.31
    21. GATEWAY=192.168.73.2
    22. NETMASK=255.255.255.0
    23. DNS1=192.168.73.2

    修改3台机器上的/etc/hosts配置文件,添加如下信息

    1. 192.168.73.31 master
    2. 192.168.73.32 slave1
    3. 192.168.73.33 slave2

     配置好之后,3台机器相互ping,如果互通,则配置正常 ping + 机器名称 

     4、设置免密登录

    1.在master上生成公钥

    首先生成 Master 节点的公匙,在 Master 节点的终端中执行(因为改过主机名,所以还需要删掉原有的再重新生成一次)

    1. cd ~/.ssh # 如果没有该目录,先执行一次ssh localhost
    2. rm ./id_rsa* # 删除之前生成的公匙(如果有)
    3. ssh-keygen -t rsa # 一直按回车就可以、
    4. cat ./id_rsa.pub >> ./authorized_keys #让 Master 节点需能无密码 SSH 本机

    完成后可执行 ssh Master 验证一下(可能需要输入 yes,成功后执行 exit 返回原来的终端)。接着在 Master 节点将上公匙传输到s1子节点:
    模板:scp ~/.ssh/id_rsa.pub 用户名@子节点名字:/home/hadoop/

     在子节点上,去创建hadoop目录,然后再主节点上执行传输公钥的命令

    1. #子节点上执行
    2. cd /home
    3. mkdir hadoop
    4. #在主节点上执行
    5. scp ~/.ssh/id_rsa.pub root@slave1:/home/hadoop/
    6. scp ~/.ssh/id_rsa.pub root@slave2:/home/hadoop/

    2 在子节点上操作

    分别在子节点执行下面的命令,将 ssh 公匙加入授权:

    1. mkdir ~/.ssh # 如果不存在该文件夹需先创建,若已存在则忽略
    2. cat /home/hadoop/id_rsa.pub >> ~/.ssh/authorized_keys
    3. rm ~/id_rsa.pub # 用完就可以删掉了

    5、检验主节点是否可以免密登录子节点

    在主节点上执行:ssh 子节点名字
    exit //登出
    ssh s1
    不输入密码登录就代表成功。

     6、安装和配置JDK环境变量

    安装jdk,配置jdk环境变量

    1. which java
    2. ls -lrt /usr/bin/java
    3. ls -lrt /etc/alternatives/java

    1. #安装jdk
    2. yum install java-1.8.0-openjdk-devel.x86_64
    3. #配置Java环境变量
    4. vim /etc/profile
    5. #在profile文件里添加如下内容
    6. export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre
    7. export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib
    8. export PATH=$PATH:$JAVA_HOME/bin
    9. #使其生效
    10. source /etc/profile

    7、安装Hadoop

    1. 在master上切换到/usr/local目录,下载并解压hadoop 3.3.1.tar.gz(是已经编译好的)
    2. wget https://mirrors.cnnic.cn/apache/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
    3. tar -xzvf hadoop-3.3.1.tar.gz

    主节点与节点都要安装和修改配置,操作和配置文件的内容都是一致的

    1.配置hadoop-env.sh
    去到刚才解压的文件夹里,进入到/etc/hadoop下,编辑hadoop-env.sh文件最下面,写入并保存:

    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre

    2.编辑core-site.xml文件
    注意:三台机器上的core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml的配置内容要完全一致,地址全部都是master,不因分机而改变host名
    节点内加入配置

    1. <configuration>
    2. <property>
    3. <name>hadoop.tmp.dirname>
    4. <value>/root/hadoop/tmpvalue>
    5. <description>Abase for other temporary directories.description>
    6. property>
    7. <property>
    8. <name>fs.default.namename>
    9. <value>hdfs://master:9000value>
    10. property>
    11. configuration>

    3.配置hdfs-site.xml
    内加入配置

    1. <property>
    2. <name>dfs.name.dirname>
    3. <value>/root/hadoop/dfs/namevalue>
    4. <description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.description>
    5. property>
    6. <property>
    7. <name>dfs.data.dirname>
    8. <value>/root/hadoop/dfs/datavalue>
    9. <description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.description>
    10. property>
    11. <property>
    12. <name>dfs.replicationname>
    13. <value>2value>
    14. property>
    15. <property>
    16. <name>dfs.permissionsname>
    17. <value>truevalue>
    18. <description>need not permissionsdescription>
    19. property>
    20. <property>
    21. <name>dfs.namenode.http-addressname>
    22. <value>master:9870value>
    23. property>

    4.配置mapred-site.xml
    节点内加入配置

    1. <property>
    2. <name>mapred.job.trackername>
    3. <value>master:49001value>
    4. property>
    5. <property>
    6. <name>mapred.local.dirname>
    7. <value>/root/hadoop/varvalue>
    8. property>
    9. <property>
    10. <name>mapreduce.framework.namename>
    11. <value>yarnvalue>
    12. property>

    5.配置yarn-site.xml
    节点内加入配置

    1. <property>
    2. <name>yarn.resourcemanager.hostnamename>
    3. <value>mastervalue>
    4. property>
    5. <property>
    6. <description>The address of the applications manager interface in the RM.description>
    7. <name>yarn.resourcemanager.addressname>
    8. <value>${yarn.resourcemanager.hostname}:8032value>
    9. property>
    10. <property>
    11. <description>The address of the scheduler interface.description>
    12. <name>yarn.resourcemanager.scheduler.addressname>
    13. <value>${yarn.resourcemanager.hostname}:8030value>
    14. property>
    15. <property>
    16. <description>The http address of the RM web application.description>
    17. <name>yarn.resourcemanager.webapp.addressname>
    18. <value>${yarn.resourcemanager.hostname}:8088value>
    19. property>
    20. <property>
    21. <description>The https adddress of the RM web application.description>
    22. <name>yarn.resourcemanager.webapp.https.addressname>
    23. <value>${yarn.resourcemanager.hostname}:8090value>
    24. property>
    25. <property>
    26. <name>yarn.resourcemanager.resource-tracker.addressname>
    27. <value>${yarn.resourcemanager.hostname}:8031value>
    28. property>
    29. <property>
    30. <description>The address of the RM admin interface.description>
    31. <name>yarn.resourcemanager.admin.addressname>
    32. <value>${yarn.resourcemanager.hostname}:8033value>
    33. property>
    34. <property>
    35. <name>yarn.nodemanager.aux-servicesname>
    36. <value>mapreduce_shufflevalue>
    37. property>
    38. <property>
    39. <name>yarn.scheduler.maximum-allocation-mbname>
    40. <value>2048value>
    41. <discription>每个节点可用内存,单位MB,默认8182MBdiscription>
    42. property>
    43. <property>
    44. <name>yarn.nodemanager.vmem-pmem-rationame>
    45. <value>2.1value>
    46. property>
    47. <property>
    48. <name>yarn.nodemanager.resource.memory-mbname>
    49. <value>2048value>
    50. property>
    51. <property>
    52. <name>yarn.nodemanager.vmem-check-enabledname>
    53. <value>falsevalue>
    54. property>

    6.修改workers
    在master节点的workers文件内把localhost删除(与这些配置文件在同一个目录下),加入

    1. slave1
    2. slave2

    保存
    在slave1节点的workers文件内把localhost删除,加入

    1. master
    2. slave2

    保存
    在slave2节点的workers文件内把localhost删除,加入

    1. master
    2. slave1

    7.在/root下新增如下目录

    1. mkdir /root/hadoop
    2. mkdir /root/hadoop/tmp
    3. mkdir /root/hadoop/var
    4. mkdir /root/hadoop/dfs
    5. mkdir /root/hadoop/dfs/name
    6. mkdir /root/hadoop/dfs/data

    八、初始化

    也即格式化,在master节点进入到/usr/local/hadoop-3.3.1/bin目录然后执行

    ./hadoop namenode -format

    九、启动hadoop

    切换到目录/usr/local/hadoop-3.2.1/sbin
    在start-dfs.sh 、stop-dfs.sh两个文件开头位置添加如下配置

    1. HDFS_DATANODE_USER=root
    2. HADOOP_SECURE_DN_USER=root
    3. HDFS_NAMENODE_USER=root
    4. HDFS_SECONDARYNAMENODE_USER=root

    在start-yarn.sh 、stop-yarn.sh两个文件开头位置添加如下配置

    1. YARN_RESOURCEMANAGER_USER=root
    2. HADOOP_SECURE_DN_USER=root
    3. YARN_NODEMANAGER_USER=root

    或者在/etc/profile文件下添加

    1. export HDFS_NAMENODE_USER=root
    2. export HDFS_DATANODE_USER=root
    3. export HDFS_SECONDARYNAMENODE_USER=root
    4. export YARN_RESOURCEMANAGER_USER=root
    5. export YARN_NODEMANAGER_USER=root

    在/usr/local/hadoop-3.2.1/sbin下,执行

    ./start-all.sh
    

    使用浏览器访问192.168.73.31:9870(主节点服务器),可以进入到overview界面

     访问resourcemanager http://192.168.73.31:8088/cluster

     注意:如果不能访问,请检查防火墙是否关闭或者端口是否开发

  • 相关阅读:
    另眼看数据中台
    MFC:程序的托盘显示
    python数据分析——聚类
    【精华】Python常用函数方法(Number、String、List、Tuple、Set、Dictionary)
    Eclipse的常用快捷键
    STM32连接WIFI-ESP8266实战—STA模式运用
    绘图(二)五子棋小游戏
    [量化投资-学习笔记002]Python+TDengine从零开始搭建量化分析平台-MA均线的多种实现方式
    【NLP】【TextCNN】 文本分类
    使用X2Keyarch迁移CentOS至浪潮信息KeyarchOS体验
  • 原文地址:https://blog.csdn.net/weixin_42109071/article/details/127785333