Linux下配置Hadoop 全分布式环境(基于SecondaryNode)

港控/mmm° 2023-02-23 09:29 68阅读 0赞

一、环境资源

JDK和Hadoop存在版本兼容问题,选择安装包的时候一定要考虑到两个软件的版本兼容,我这里选择的安装版本如下:

  • JDK1.8:https://pan.baidu.com/s/1Rm5ErmvKFjVmwx1uAF90vQ 提取码:kpre
  • Hadoop2.7:https://pan.baidu.com/s/1xynMsryyTDZBn\_ApgbuTSA 提取码:ir1l

二、服务器准备

本次环境配置共需要4台服务器,服务器之间相互可以Ping通,各个节点功能如下图:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5rb25nYnViaWFu_size_16_color_FFFFFF_t_70

三、检查四台服务器时间

要保证服务器之间的时间误差保持在几秒内,否则会造成某些角色进程不能正常启动

  1. date //查看服务器时间
  2. date -s "2020-07-07 06:00:00" //设置服务器时间

四、为各个服务器分别设置别名

  • 打开配置文件

    vi /etc/sysconfig/network //打开network文件

  • 增加配置,别名可以根据需要设置,此处仅为示例

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5rb25nYnViaWFu_size_16_color_FFFFFF_t_70 1

  • 分别增加IP别名映射

    vi /etc/hosts //打开hosts文件

  • 增加映射配置 ,IP和别名之间的映射,要和network中的别名相对应

20200707061014589.png

五、各个服务器分别禁用SELinux

  1. vi /etc/sysconfig/selinux //打开selinux文件
  • 将 SELINUX设置为disabled

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5rb25nYnViaWFu_size_16_color_FFFFFF_t_70 2

六、各个服务器分别关闭防火墙

  1. systemctl stop firewalld.service //停止firewall
  2. systemctl disable firewalld.service //禁止firewall开机启动

七、分发秘钥文件

将NameNode(192.168.1.6)点公钥分发给其他服务器,实现NameNode(192.168.1.6)到其他角色服务器的SSH免密登陆

  • 生产NameNode(192.168.1.6)节点的秘钥文件

    ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa //生成秘钥文件

  • 本地安装

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys //本地安装秘钥

  • 各个节点分别登陆一下本地,以生成本机的.ssh文件目录

    ssh localhost

  • 将NameNode(192.168.1.6)的公钥分别发送到192.168.1.7、192.168.1.8、192.168.1.9

    cd ~/.ssh/ //切换到公钥所在目录
    scp id_dsa.pub 192.168.1.7:pwd/node606.pub //将公钥发送到.7节点当前目录,并重命名公钥文件,以便区分是哪个服务器的公钥文件

  • 192.168.1.7、192.168.1.8、192.168.1.9分别安装接收到的公钥文件

    cat ~/.ssh/node606.pub >> ~/.ssh/authorized_keys //安装公钥文件

八、NameNode(192.168.1.6)安装JDK

  • 将Java安装文件上传到服务器上。
  • 将安装文件解压缩,并记录jdk解压文件根目录

    tar -zxvf 文件名 解压目录 //解压到当前目录时,可以省略解压目录

  • 配置JDK环境变量,打开配置文件,在文件末尾加入JDK配置,配置内容如截图所示

    vi /etc/profile

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5rb25nYnViaWFu_size_16_color_FFFFFF_t_70 3

  • 刷新环境变量:输入命令,之间刷新

    source /etc/profile

  • 输入 jps 命令,如果出现jdk进程信息,说明JDK环境配置成功

20200625201545109.png

九、NameNode(192.168.1.6)安装配置Hadoop

  • 将Hadoop安装文件上传到服务器上
  • 将Hadoop安装文件解压,并记录下Hadoop的根目录

    tar -zxvf 文件名 解压目录 //解压到当前目录时,可以省略解压目录

  • 配置Hadoop环境变量,在/etc/profile末尾加上对应的配置信息

    vi /etc/profile

20200625211857599.png

  • 配置Hadoop的Java环境变量:需要为Hadoop根目录下,ect/hadoop/下的hadoop-env.sh、mapred-env.sh、yarn-env.sh三个文件分别设置Java环境变量,将JAVA_HOME设置为我们安装的Java根目录

    vi hadoop-env.sh
    vi mapred-env.sh
    vi yarn-env.sh

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5rb25nYnViaWFu_size_16_color_FFFFFF_t_70 4

  • 配置core-site.xml,文件同样在Hadoop根目录下的ect/hadoop/目录中,需要在文件中,加入如下配置

    vi core-site.xml


    fs.defaultFS
    hdfs://你的IP:9000 //配置NameNode节点主机信息


    hadoop.tmp.dir
    你的Hadoop环境存储位置 //设置Hadoop临时数据存储目录

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5rb25nYnViaWFu_size_16_color_FFFFFF_t_70 5

  • 配置hdfs-site.xml,文件同样在Hadoop根目录下的ect/hadoop/目录中

    vi hdfs-site.xml


    dfs.replication
    2 //配置数据副本数


    dfs.namenode.secondary.http-address
    你的IP:50090 //配置secondary节点主机信息

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5rb25nYnViaWFu_size_16_color_FFFFFF_t_70 6

  • 配置slaves文件:将DataNode各节点IP写入文件中

    vi slaves

20200708053733433.png

十、将JDK和Hadoop、/etc/profile文件分发到其他服务器上

  1. scp -r /usr/java/jdk1.8.0_172 192.168.1.7:/usr/java/ //要保证发送、接收目录存在
  2. scp -r /usr/Hadoop/hadoop-2.7.3 192.168.1.7:/usr/Hadoop/ //要保证发送、接收目录存在
  3. scp /etc/profile 192.168.1.7:/etc/profile //发送环境变量文件
  4. source /etc/profile //刷新环境变量信息

十一、格式化启动集群

  • 格式化hdfs:每个Hadoop只需在第一次进行格式化,只需要在NameNode节点上格式化,以后直接启动即可,出现successfully表示格式化成功。

    hdfs namenode -format

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5rb25nYnViaWFu_size_16_color_FFFFFF_t_70 7

  • 启动集群:启动后,可以输入 jps 命令,查看Java进程(Hadoop进程都是Java进程),出现进程,代表启动成功。

    start-dfs.sh

20200708055825107.png

  • 访问Hadoop:访问地址是 你的NameNodeIP:50070,出现这个页面,代表整个配置完成,如果出错,Hadoop会在根目录的log目录下生产日志文件,不同节点的日志,会存放在对应服务器上,可以根据日志,调整配置。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5rb25nYnViaWFu_size_16_color_FFFFFF_t_70 8

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5rb25nYnViaWFu_size_16_color_FFFFFF_t_70 9

发表评论

表情:
评论列表 (有 0 条评论,68人围观)

还没有评论,来说两句吧...

相关阅读