| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 基于Ubuntu虚拟机的Spark简单集群搭建(一) -> 正文阅读 |
|
[大数据]基于Ubuntu虚拟机的Spark简单集群搭建(一) |
基本介绍作为一个Big Data领域的小白,最近自己尝试搭建了一个简易的spark集群。因此打算写篇博客记录一下整个过程。但是担心把所有部分放在一篇文章中可能导致文章过长,因此打算写成两篇。在这篇文章中,我会详细地介绍spark集群搭建的第一部分,hadoop集群的搭建。 0.环境介绍虽说是一个集群,但是我总共只使用了两台ubuntu虚拟机,其中一个作为主节点,另一个作为从节点。如果你想尝试使用更多的机器来搭建集群,也同样可以参考我的搭建过程,因为本质上差别不大。OK,下面我们正式进入hadoop集群的搭建过程。 1.通信确认因为我们要搭建集群,那么首先就要确保集群中的机器可以进行正常通信,可以使用ping命令来测试是否能够与集群中的其他机器建立通信,以我的两台虚拟机为例(IP分别为192.168.56.9 & 192.168.56.11)?
如果产生以下结果,表示可以进行通信。 ? 2.修改主机名为了更加方便确认集群中的各台机器(尤其是你的集群内机器数量很多时), 最好修改一下各台机器的主机名hostname。比如将主节点命名为master,将从节点命名为slave。 具体可以通过如下方式修改
比如我的原始主机名叫做virtualbox-frank,将其修改为master。保存退出,重启机器,就会发现主机名已经成功修改。 同理对于从节点机器,将其修改为slave。 在下文的描述中,我会直接使用master来代表主节点,slave来代表从节点。 3.添加集群机器信息?接下来需要在集群中的每台机器上都配置相同的机器信息。通过打开 /etc/hosts 文件
添加(或修改)如下配置。
即集群中每台机器的ip以及hostname,因为我只有一台master和一个slave,因此配置如上。如果你有多台工作机器,你需要将所有机器的信息都写上(slave1,slave2,slave3,...)。? 4.设置ssh免密登录我们需要让每台机器都能实现ssh的免密登录。通过如下命令进行确认。
执行上述命令,如果不需要输入密码即可登录,则测试通过。不然的话就需要使用ssh-keygen命令来生成公私钥对,并将公钥存入~/.ssh/authorized_keys文件中。如果对ssh生成公私钥对的具体方法不清楚的朋友,可以阅读我的这篇博客。 5.Master主机免密登录Slave集群本质上就是实现从本地(Master)通过ssh免密登录所有远程机器(Slave)。命令如下 首先在master机器上,输入如下指令,将master的id_rsa.pub传递给slave机器。(假设上述生成公私钥对时使用的加密方式为rsa)?
然后切换到slave机器,输入如下指令,即将刚刚传到到根目录下的master主机的公钥信息添加到slave机器的authorized_keys文件中。
然后就可以在master机器上远程免密登录slave机器了。 如果你的多台机器的用户名相同,比如我的话,两台虚拟机的用户名都是frank,那么你在测试远程登录的时候,可以不写用户名,即直接使用如下命令即可成功登录。
不然的话你就需要加上用户名。或者你也可以在master的~/.ssh下添加一个config文件,然后写入如下内容。
然后再执行上述命令,同样也可以完成在不输入slave用户名情况下,快速连接slave机器。 6.JDK安装因为hadoop是基于java编写的,我们在安装hadoop之前,还需要先首先安装JDK。在ubuntu下,使用以下命令在master和slave上分别安装jdk。
打开.bashrc文件并添加如下语句。
最后让环境变量生效。
7.安装Hadoop接下来我们需要在集群的机器上安装hadoop。这里需要注意的是,因为我们需要对安装的hadoop进行集群的配置,为了避免不必要的重复,我们选择现在master机器上完成hadoop的安装以及配置,再将配置好的hadoop传送给slave节点即可。 这里,我选择使用的是hadoop2.7.3的版本。这里是下载地址。下载完成后将其解压到/usr/local目录下。
然后进入该目录,修改文件夹的名字。
修改文件权限。
进行环境变量的配置,打开~/.bashrc文件,添加下面内容。
最后让环境变量生效。
8.hadoop文件配置因为我们需要搭建的hadoop集群模式,因此需要对应地修改配置文件。具体的路径是 /hadoop/etc/hadoop/ 包含的文件如下 ?首先我们需要修改的就是slaves文件,将所有的slave节点的主机名添加到该文件中,一行一个,我的话,就很简单,因为只有一个slave节点。
接下来修改core-site.xml文件,以下是我的配置。? 然后是hdfs-site.xml文件,以下是我的配置。 这里注意一下,dfs.replication 一般设为 3,但因为我只有一个 Slave 节点,所以 dfs.replication 的值还是设为1。 然后还需要修改mapred-site.xml文件。但是这个文件本身是没有的,需要先复制mapred-site.xml.template,然后将其重命名后打开,添加以下配置。 最后需要修改的是yarn-site.xml? 到此为止,我们就完成了集群的基本配置。接下来我们就可以将完成配置的hadoop拷贝到slave节点上了。命令如下
?如果你在运行集群模式前还运行了其他模式到hadoop,记得在压缩前将临时文件和日志清空。
然后回到我们的根目录下,将压缩包传送到各个slave节点,因为我只有一个slave,因此执行如下。
然后进入到我们的slave机器上,就会发现打包好的hadoop已经存在于我们的根目录下了。我们同样将其解压到/usr/local下
9.测试hadoop集群接下来,我们来启动hadoop集群,执行如下命令。
启动后我们使用jps命令来分别查看一下master和slave节点的情况。 首先是master节点。 然后是slave节点。 如图所示表示启动成功,任何一个node的缺失都意味着你的hadoop存在问题,你可以通过查看日志/hadoop/logs/来查看具体的错误原因。 最后我们关闭hadoop。
?p.s.如果存在启动后datanode或者namenode缺失的情况,一种方法是先关闭进程,然后删除tmp文件夹(即core-site.xml中定义的临时文件存放路径),然后重新进行上面的格式化,最后再次启动。 ok,以上就是如何基于ubuntu构建简单hadoop集群的流程,下一篇文章我会介绍如何基于构建的hadoop集群来构建spark集群,感谢大家的阅读。 参考: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 | -2025/3/4 3:29:50- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |