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

一、环境资源

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

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

二、服务器准备

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

三、检查四台服务器时间

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

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

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

  • 打开配置文件
vi /etc/sysconfig/network   //打开network文件
  • 增加配置,别名可以根据需要设置,此处仅为示例 

  • 分别增加IP别名映射
vi /etc/hosts   //打开hosts文件
  • 增加映射配置 ,IP和别名之间的映射,要和network中的别名相对应

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

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

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

systemctl stop firewalld.service   //停止firewall  
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

  • 刷新环境变量:输入命令,之间刷新
source /etc/profile
  • 输入 jps 命令,如果出现jdk进程信息,说明JDK环境配置成功

九、NameNode(192.168.1.6)安装配置Hadoop

  • 将Hadoop安装文件上传到服务器上
  • 将Hadoop安装文件解压,并记录下Hadoop的根目录
tar -zxvf 文件名 解压目录  //解压到当前目录时,可以省略解压目录
  • 配置Hadoop环境变量,在/etc/profile末尾加上对应的配置信息
vi /etc/profile

  • 配置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

  • 配置core-site.xml,文件同样在Hadoop根目录下的ect/hadoop/目录中,需要在文件中,加入如下配置
vi core-site.xml
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://你的IP:9000</value>  //配置NameNode节点主机信息
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>你的Hadoop环境存储位置</value>   //设置Hadoop临时数据存储目录
    </property>

  • 配置hdfs-site.xml,文件同样在Hadoop根目录下的ect/hadoop/目录中
vi hdfs-site.xml
    <property>
        <name>dfs.replication</name>
        <value>2</value>  //配置数据副本数
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>你的IP:50090</value>  //配置secondary节点主机信息
    </property>

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

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

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

十一、格式化启动集群 

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值