| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 西北工业大学软件学院大数据技术实验(二) -> 正文阅读 |
|
[大数据]西北工业大学软件学院大数据技术实验(二) |
安装分布式的Hadoop集群的环境准备工作:在安装分布式的Hadoop集群之前需要我们准备好若干台能够连接到网络的虚拟机,采用ifconfig命令可以查看该虚拟机的IP,最好通过apt命令安装vim编辑器方便修改配置文件。 1.安装JDK找到对应的JDK的安装包,我安装的是JDK1.8_162版本的,如果大家需要的话,我会整理我用到的软件上传到网盘分享给大家。
之后采用vim编辑器 ,编辑该用户的环境变量文件,添加JDK目录到环境变量中(注意需要在每台虚拟机上都配置JAVA环境)
之后可以使用如下命令查看是否安装成功,若出现了Java的版本号则成功安装,否则的话检查前些步骤哪里有问题。
2.配置 ssh无密码登录本机和访问集群的机器首先为了便于区分集群中的机器,需要修改其在shell环境中显示的主机名,在各台虚拟机中都执行如下的命令,在master主机中添加master,在slave01节点添加slave01.......,然后重启虚拟机即可看见终端发生变化。
修改集群中虚拟机的/etc/hosts文件,将主机名与IP对应。添加如下的配置:
?检查是否可以登陆到本机,执行ssh localhost命令,若登陆失败的话需要安装openssh-server服务并且生成ssh密钥(若登陆成功的话跳过此步骤)
在保证了集群中的主机都可以连接到本地的localhost后,还需要让master主机免密登录到slave节点 ,执行如下命令将master主机生成的密钥传送给每台slave主机。
成功执行以上命令后,可以到每台的slave节点上执行 ls ~命令可以查看到master主机传输的id_rsa.pub文件,随后需要将master主机的密钥添加到各自的节点上 ,在每台slave机器上执行如下命令即可:
在这里提醒一下,一定要保证master节点和slave节点的登录的用户名一致,不一致的话会导致后续产生一些问题。这样就可以在master主机实现了免密登录到各台slave节点,执行如下命令即可登录到其他节点:
3.安装Hadoop2.7.1我实验环境使用的Hadoop的版本比较低,是2015年发布的2.7.1版本的Hadoop。我想Hadoop2.X版本的安装以及配置的步骤相差不大,大家有兴趣的话可以安装一下较新版本的Hadoop,这里我就不再尝试了。我们依旧选择将Hadoop安装在/usr/local/目录下,如果获取了Hadoop的安装包的话就执行如下的命令在master节点上进行解压缩(无需在slave节点上做操作)。
随后编辑~/.bashrc文件,添加如下内容:
随后执行source ~/.bashrc使环境变量生效。 4.Hadoop集群配置Hadoop的配置文件都在/usr/local/hadoop/etc/hadoop目录下面,我们需要先修改slaves,添加如下内容:
修改core-site.xml文件,最终内容如下所示:
修改hdfs-site.xml文件,最终内容如下所示,其中3代表着是在hdfs上面有多少份数据的备份:
?修改mapred-site.xml(复制mapred-site.xml.template,再修改文件名),最终内容如下所示:
修改yarn-site.xml文件,最终内容如下图所示:
注:以上的配置文件只在master端进行配置,之后我们会复制到各个slave节点。如果在此之前跑过伪分布式的模式或者是local模式的话,在切换到集群模式之前,需要删除临时文件和日志文件
完成后需要将位于~/目录下面的hadoop.master.tar.gz文件复制到所有的slave节点上,并进行解压操作,执行如下命令:
在slave节点上执行如下命令:
至此我们需要搭建的Hadoop的分布式集群就搭建完毕了,接下来我们进行测试 ,在master端执行如下命令:
在输出一些列的INFO之后,若未出现error,则证明成功启动了Hadoop集群。大多数会出现JAVA_HOME is not set 的字样,这时不要惊慌,先停止了Hadoop集群,使用vim编辑器打开位于/usr/local/hadoop/etc/hadoop/hadoop-env.sh文件,找到JAVA_HOME=${JAVA-HOME}修改为自己的java安装路径即可(每个节点上都需要此操作),如下图所示: ?这样保存以后再重新启动Hadoop集群就能够成功启动了。 这时我们可以运行jps命令来分别观察master端和slave端的正在运行的进程,正常情况下如下图: 若出现了resourcemanager和nodemanager不存在的情况,建议关闭hadoop集群再重新启动一次看一下。 若出现了datanode经常性掉线的问题的话,建议看一下其他的博客,好像还挺常见的,大概率是多次格式化namenode节点导致的clusterID不一致导致的,可以查看master和slave节点位于hadoop安装目录下的tmp/dfs/下的name或者data文件夹下面的VERSSION文件,里面有clusterID,修改为一致就可以。但是我没有遇到过以上的问题,嘻嘻0.0。 再次强调一下,除了第一次格式化namenode之后不要随便进行namenode进行格式化操作,如果需要对namenode进行格式化时应该先停止Hadoop集群,并且删除Hadoop安装目录下的tmp和logs文件夹(在所有节点上都进行此步骤),再进行格式化。 5.Hadoop的一些常用的命令1.启动关闭Hadoop集群
2.查看HDFS文件的使用情况,正常的话会出现如下图的信息:
如果以上所有信息都是0的话,就是HDFS异常了,查看日志文件来定位错误信息,具体问题具体分析。我之前是因为节点的用户名不一致导致了datanode连接不到master主机而导致的HDFS初始化失败,惨重的教训。 3.上传到HDFS中文件,以及读取位于HDFS中的文件
4.附上学习大数据学习的一个好用的网站,是厦门大学林子雨老师团队做的一些学习资料。大家可以上去学习一下,拓展一下自己的知识。好用的网站 写在本节最后的话,因为作者也是初学大数据不久的菜鸟,有很多东西也是靠自己不断地百度,查看博客得来的,也有部分问题未能得到妥善的解决,只是分享一下作者面临的诸多问题以及分享一下解决的经验。所以有同学在实验过程中遇到了不一样的问题时,欢迎各位在本文下面评论区留言,大家也可以互相讨论学习一下,我也会积极回复大家的问题的。祝愿大家在赵老师带的大数据原理与技术的课程中学到很多对自己有帮助的知识。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 5:26:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |