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
fs.defaultFS
hdfs://你的IP:9000 //配置NameNode节点主机信息
hadoop.tmp.dir
你的Hadoop环境存储位置 //设置Hadoop临时数据存储目录
配置hdfs-site.xml,文件同样在Hadoop根目录下的ect/hadoop/目录中
vi hdfs-site.xml
dfs.replication
2 //配置数据副本数
dfs.namenode.secondary.http-address
你的IP:50090 //配置secondary节点主机信息
配置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目录下生产日志文件,不同节点的日志,会存放在对应服务器上,可以根据日志,调整配置。
还没有评论,来说两句吧...