千家信息网

CentOS7-Hadoop安装

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,环境:CentOS7 64位 3台centos7-1 192.168.190.130 mastercentos7-2 192.168.190.129 slave1centos7-3 192.168.1
千家信息网最后更新 2025年02月01日CentOS7-Hadoop安装

环境:CentOS7 64位 3台
centos7-1 192.168.190.130 master
centos7-2 192.168.190.129 slave1
centos7-3 192.168.190.131 slave2

hadoop 下载地址:http://mirrors.hust.edu.cn/apache/hadoop/common/ 选则3.1.0版本

1.安装三台虚拟机(centos7),安装jdk,实现节点间免密码登陆。

 #安装虚拟机不做说明,可查看相关文章资料。 #安装jdk,配置JAVA_HOME环境变量,不做说明,自行百度。 #三个虚拟机都需要修改hostname,修改/etc/hosts #vim /etc/hostname              //分别写成master,slave1,slave2,修改后需要重新启动reboot #vim /etc/hosts #192.168.190.130 master #192.168.190.129 slave1 #192.168.190.131 slave2 #给三台机器设置面密码ssh登陆 #ssh-keygen  -t   rsa             //生成密钥,三台机器都需要执行相同的命令


#authorized_keys
#touch /root/.ssh/authorized_keys //master节点上
#cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
#把slave1、slave2上的id_rsa.pub都拷贝到master节点上,直接追加到authorized_keys
#scp -r /root/.ssh/id_rsa.pub root@masterIP:/root/.ssh/slave1.id_rsa.pub //slave1
#scp -r /root/.ssh/id_rsa.pub root@masterIP:/root/.ssh/slave2.id_rsa.pub //slave2
#cat /root/.ssh/slave1.id_rsa.pub >> /root/.ssh/authorized_keys //master
#cat /root/.ssh/slave2.id_rsa.pub >> /root/.ssh/authorized_keys //master
#authorized_keys内容如下:

#通过scp命令将master的authorized_keys拷贝到slave1\slave2的/root/.ssh/下
#scp -r /root/.ssh/authorized_keys root@Slave1IP:/root/.ssh/
#scp -r /root/.ssh/authorized_keys root@Slave2IP:/root/.ssh/

 #ssh 目标域名                 //master、slave1、slave2,第一次需要确认一下输入yes,后面就不用了 到此免密码登陆已经完成。    

2.载hadoop,解压tar.gz文件

        #cd /usr        #mkdir hadoop        #cd hadoop        #wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-3.1.0.tar.gz        #tar  -zxvf hadoop-3.1.0.tar.gz         解压后,出现hadoop-3.1.0工作目录,既可以使用。         #cd /usr/hadoop/hadoop-3.1.0         #mkdir tmp         #./bin/hadoop -version   //检验是否可以使用

2.设置环境变量,全局(/etc/profile)

    #vim /etc/profile    设置HADOOP_HOME,并加到PATH路径下    HADOOP_HOME=/usr/hadoop/hadoop-3.1.0    PATH=$PATH:$HADOOP_HOME/bin    #source /etc/profile

3.配置hadoop

    #hadoop主要的文件,路径hadoop-3.1.0/etc/hadoop/下    hadoop-env.sh             //    core-site.xml                //     hdfs-site.xml                //    mapred-site.xml          //    yarn-site.xml               //    workers                      // 只要配置namenode节点,用于发现slave节点    a.hadoop-env.sh配置    export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.171-0.b13.el7_3.x86_64    b.core-site.xml配置                      fs.default.name                  hdfs://master:9000          HDFS的URI,文件系统://namenode标识:端口号                                             hadoop.tmp.dir                 /usr/hadoop/tmp                  namenode上本地的hadoop临时文件夹                  c.配置hdfs-site.xml                           dfs.replication              1               副本个数,配置默认是3,应小于datanode机器数量                    d.配置mapred-site.xml                            mapreduce.framework.nameyarn                   e.配置yarn-site.xml                                               yarn.nodemanager.aux-services                           mapreduce_shuffle                                                      yarn.nodemanager.aux-services                         mapreduce_shuffle                    f.配置workers(slaves)文件,这里特别注意一下版本不同可能没有slaves文件,删除localhost,一行一个,填写ip地址也可以(只在namenode节点配置)    slave1       slave2

4.将/usr/hadoop复制到其他服务器:
#scp -r /usr/hadoop root@目标ip:/usr/hadoop

5.格式化namenode:
#CD /usr/hadoop/hadoop-3.1.0

./bin/hdfs namenode -format

成功的话,会看到 "successfully formatted" 和 "Exitting with status 0" 的提示,若为 "Exitting with status 1" 则是出错;备注:只需格式化namenode,datanode不需要格式化(若格式化了,可将/usr/hadoop/tmp目录下文件都删除),所以先将安装文件夹复制到其他服务器,再格式化

6.启动hadoop
#cd /usr/hadoop/hadoop-3.1.0
#sbin/start-all.sh

8.检查启动结果
#jps

总结:a.访问http://192.168.190.130:9000时发现,端口拒绝访问    关闭防护墙,依然没有用,查看端口占用情况(netstat -npl | grep 9000)发现没有被占用,后来看到hadoop namenode -format消息发现定位到了127.0.0.1,无法远程访问,通过修改hosts文件可以解决这个问题:    #cd /etc/hosts               //三台虚拟机都要修改    #vim /etc/hosts             //将下面的写在文件最前面    #192.168.190.130 master    #192.168.190.129 slave1    #192.168.190.131 slave2    重新格式化namenode节点:    #cd /usr/hadoop/hadoop-3.1.0/bin    #./hadoop namenode -formatb.发现经过a后,可以访问9000端口,但是如下图:


但是访问8088端口可以进入,如下:

发现只有一个节点启动了,所以现在的问题是:namenode启动起来了,但是slave1,slave2两个datanode没有启动起来,那么这个集群启动就失败了,分别在两台datanode节点查看jps,发现确实没有启动,继续找问题。
查看别人的安装过程,发现有个叫做slaves的文件,作用于namenode节点,用于发现slave节点,在配置文件etc/hadoop中我找了半天没有找到,我最后自己创建slaves文件,依然没有用,然后看这路径里的workers文件发现了些什么,于是就打开一看果然就是他,然后重新操作就可以了。
3.1.0版本的slaves文件换成了workers文件,需要特别注意。

c.启动时可以直接把所有都启动,命令如下:
#cd /usr/hadoop/hadoop-3.1.0
#sbin/start-all.sh
d.#sbin/start-dfs.sh执行脚本报错,如下:

ERROR: Attempting to launch hdfs namenode as root

ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting launch.
Starting datanodes
ERROR: Attempting to launch hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting launch.
Starting secondary namenodes [localhost.localdomain]
ERROR: Attempting to launch hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting launch.
解决方法:
在start-dfs.sh 、stop-dfs.sh加如下配置
HDFS_DATANODE_USER=root
 HADOOP_SECURE_DN_USER=hdfs
 HDFS_NAMENODE_USER=root
 HDFS_SECONDARYNAMENODE_USER=root
添加后可能还是会报如下警告:
WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER.
解决办法:替换上述的解决方法
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

d.#sbin/start-yarn.sh执行脚本报错,如下:Starting resourcemanager

ERROR: Attempting to launch yarn resourcemanager as root
ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting launch.
解决办法:start-yarn.sh、stop-yarn.sh添加如下配置
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

本文是查看了网络博客与官方文档,结合自己操作所记录的所有过程,如果有不对或者错误,请留言指正,如有侵权,请联系本人删除。参考博客:https://www.linuxidc.com/Linux/2018-02/150812.htm
文件 配置 节点 格式 端口 三台 命令 密码 机器 版本 环境 路径 问题 登陆 办法 博客 变量 地址 拷贝 文件夹 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 山西智慧景区软件开发 个人云服务器如何选择装数据库 如何复制sql列中数据库 判断数据库是否存在漏洞 e-tek串口服务器 网络安全钓鱼网站实验 修复数据库提示不允许席更新 深圳百瑞互联网科技 怎样 余姚安卓软件开发工程 教育软件开发费用是多少 嘉定区网络技术品牌 网络安全教育普及赛 深圳阿拉丹网络技术有限公司 网络安全手抄报简单漂亮一等奖 服务器网络堵塞 数据库技术的发展进程 软件开发有30个员工 网络安全法对自然人罚款 我的世界服务器电脑版怎么下 知安科技网络安全公司 重庆移动服务器托管哪个便宜 功率笔记软件开发 二值化神经网络技术 二维码如何再访问数据库 软件开发后有瓶颈吗 路南区媒体网络技术诚信合作 上饶企业服务器价格多少 电信金融网络安全审查 宁波江北区华为高密度服务器 网络安全意识漫游记网站一观看
0