最近因为要搭Hadoop集群,确实花了好大的心血在里面,因为我的Linux也是前两天速成的,好多东西都还是边查资料边搭。但我最终确实成功了,留了一点点小问题在里面。(当Hadoop集群start-all之后resourcemanager无论我怎么按照网上的方法调试都不出现)
现在就来回顾一下我的第一次Hadoop集群之旅。
参考:
如何构建虚拟机Hadoop集群,搭建3台ubuntu虚拟机集群_北冥有渔的博客-CSDN博客如何构建虚拟机Hadoop集群,搭建3台ubuntu虚拟机集群克隆集群机器通过虚拟机搭建Hadoop集群,发现使用的VMware workstation 15 player版本没有克隆功能,于是找到了手动克隆方法:参考:https://blog.csdn.net/weixin_44763047/article/details/111772941搭建集群一台Ubuntu主机系统作Master(yjh-ubuntu),一台Ubuntu主机系统命名为slave01,一台Ubuntu主机系统命名为slahttps://blog.csdn.net/weixin_44763047/article/details/115222913我跟着上面这个步骤一步一步做,但是出现了很多问题,自己一步一步去解决,我把会发生的情况和会有的坑都放在我的文章里了,以及我还有的疑问。
一.准备虚拟机
首先你要创建三台一模一样的Ubuntu虚拟机
网络类型最好先选用NAT模式,等ssh调通了再进行其他操作,静态ip之类。
可以参考从0到1教你用VMware15.X安装Centos7.X_MRYZJ的博客-CSDN博客1、软件准备VMware15.X:https://www.jb51.net/softs/638376.htmlCentos7.X:http://ftp.ksu.edu.tw/FTP/Linux/CentOS/7/isos/x86_64/或官网:https://www.centos.org/download/2、硬件要求1)、CPUCPU只要不是老旧到会让你的硬件系统宕机的都能够支持...https://blog.csdn.net/MRYZJ/article/details/100935851
当然先创建一台,再利用克隆的功能克隆出另外两台是更明智的选择,但是VMware workstation
15.x版本及以上已经没有克隆功能了,以下是手动克隆的传送门:
VMware Workstation 15 player 下克隆虚拟机_北冥有渔的博客-CSDN博客_vmwareplayer怎么克隆虚拟机VMware Workstation 15 player 下克隆虚拟机ubuntu通过虚拟机搭建Hadoop集群,首先要克隆集群机器。如果使用的是VMware workstation 15 player版本则没有克隆功能,需要我们手动克隆,下面是克隆方法:一、找到ubuntu文件的根目录,复制粘贴,然后重命名为ubuntu1、ubuntu2二、进入ubuntu1文件夹,把所有文件名含有ubuntu的文件重命名为ubuntu1更改前更改后三、修改3个配置文件ubuntu.vmxf,ubhttps://blog.csdn.net/weixin_44763047/article/details/111772941
二.搭建集群
1.修改hostname
现在有三台虚拟机,改hostname:将其中一台改作Master,一台改作slave1,一台改作slave2。让其三者处于同一局域网中。
vim /etc/hostname
记得修改完按esc,然后冒号+wq(保存),冒号+q(不保存)
2.记录三台虚拟机的IP地址
由Master节点举例
输入 ipconfig(以下是下载ipconfig的方法)
Linux 安装ifconfig命令_sword_happy的博客-CSDN博客_linux安装ifconfigLinux 安装ifconfig命令安装linux系统的时候选择mini安装,这种情况下输入ifconfig命令是无效的,需要进行手动安装;当然Linux自带yum命令,保证可以连接网络,输入命令:yum install net-tools...https://blog.csdn.net/sword_happy/article/details/98045341?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164592923416780269848639%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164592923416780269848639&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-98045341.pc_search_result_cache&utm_term=ifconfig%E4%B8%8B%E8%BD%BD+linux&spm=1018.2226.3001.4187
最终可以得到
Master 192.168.74.140
slave1 192.168.74.133
slave2 192.168.74.139
接下来修改节点IP映射
sudo vim /etc/hosts
还是以Master节点为例(三台都要改)
:wq保存
三台虚拟机全部重启后生效
3.ping通三台虚拟机
利用刚刚记录下来的ip地址,三台虚拟机互相ping通。
ping IP地址
能够ping通的结果是如图:
当三台都互相ping通就成功。
4.安装和配置hadoop
这一步给你们一个传送门把
Hadoop安装与配置详细教程_王佳斌-CSDN博客_hadoop安装【确保服务器集群安装和配置已经完成!】前言请根据读者的自身情况,进行相应随机应变。我的三台CentOS7服务器:主机:master(192.168.56.110)从机:slave0(192.168.56.111)从机:slave1(192.168.56.112)每一个节点的安装与配置是相同的,在实际工作中,通常在master节点上完成安装和配置后,然后将安装目录复制到其他节点就可以,...https://blog.csdn.net/weixin_44198965/article/details/89603788?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164601575316780271530136%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164601575316780271530136&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-89603788.pc_search_result_cache&utm_term=hadoop%E5%AE%89%E8%A3%85&spm=1018.2226.3001.4187
5.ssh免密登录
因为Ubuntu这个系统他并没有自带ssh服务,需要自己安装。(三台都要)
sudo apt-get install openssh-server #安装服务,一路回车
sudo /etc/init.d/ssh restart #启动服务
sudo ufw disable #关闭防火墙
有时候用apt 或者apt-get 时会碰上以下情况(没碰到可以不看加红部分)
参考文章:
解决E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)_cxy好好先生的博客-CSDN博客如果在使用apt或者apt-get时碰到以下情况:这就是因为锁定的文件会阻止 Linux 系统中某些文件或者数据的访问,这个概念也存在于Windows 或者其他的操作系统中。一旦你运行了 apt-get 或者 apt 命令,锁定文件将会创建于 /var/lib/apt/lists/、/var/lib/dpkg/、/var/cache/apt/archives/ 中。这有助于运行中的 apt-get 或者 apt 进程能够避免被其它需要使用相同文件的用户或者系统进程所打断。当...https://blog.csdn.net/weixin_52105111/article/details/123161383关闭完防火墙,接下来就是查看一下是否开通ssh服务。
ps -e | grep ssh
只要出现了两个进程说明你成功了。
已经全部搭建完毕,但是还是先发出来,没啥时间写博客,还得先继续学习,明天有空补上
接下来:在master节点生成SSH公钥,公钥储存在 /home/hadoop/.ssh 中
cd ~/.ssh # 如果没有该目录,先执行一次ssh localhost
rm ./id_rsa* # 删除之前生成的公匙(如果有)
ssh-keygen -t rsa # 一直按回车就可以
让master 节点可以无密码 SSH 本机,在 master 节点上执行
cat ./id_rsa.pub >> ./authorized_keys
完成后可执行 ssh master验证一下(需要输入 yes,成功后执行 exit 返回原来的终端)
ssh djh1
接着在 master 节点将上公匙传输到 slave01节点,过程中需要输入 slave01 节点的密码,传输100%以后就是传过去了:
scp ~/.ssh/id_rsa.pub djh2@slave01:/home/djh2
接着在 slave01节点上,把公钥加入授权
mkdir ~/.ssh # 如果不存在该文件夹需先创建,若已存在则忽略
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub # 用完就可以删掉了
slave02 也重复上面的步骤
你就可以免密码ssh两个节点了
6. 配置分布式集群环境
需要修改 /usr/local/hadoop/hadoop-2.10.1/etc/hadoop 中的5个配置文件。
slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml
slaves
core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directions.</description>
</property>
</configuration>
hdfs-site.xml
mapred-site.xml
yarn-site.xml
配置好以后,将master 节点上的 /usr/local/hadoop/hadoop-2.10.1/etc/hadoop 文件夹复制到剩余节点上。
在 master 节点执行:
cd /usr/local #去到/usr/local
sudo rm -r ./hadoop/tmp # 删除 Hadoop 临时文件
cd hadoop/hadoop-2.7.2
sudo rm -r ./logs # 删除日志文件
sudo tar -zcf ~/hadoop.Master.tar.gz ./hadoop # 先压缩再复制
cd ~ #跳转到有压缩包的路径下
scp ./hadoop..Master.tar.gz slave01:/home/djh2/hadoop
#发送到slave01节点,其他salve节点也要执行
在剩余 salve 节点上执行(以slave01为例):
7.启动hadoop
首次启动 Hadoop 需要将 master 节点格式化:
在hdfs namenode -format # 首次运行需要执行初始化,之后不需要
start-all.sh
mr-jobhistory-daemon.sh start historyserver
通过命令 jps 可以查看各个节点的启动进程
jps
master 有 NameNode、ResourceManager、SecondrryNameNode、JobHistoryServe
以上进程缺少任意一个都表示有错。(我就是在这一步出现了错误,ResourceManager进程缺少)不知如何解决。
希望大家发现错误能给我纠正,共同学习共同进步,谁会ResourceManager进程的开启的话可以在评论区告诉我,或者私信我,实在是搞不出来。
再次说明参考:文章来源:https://www.toymoban.com/news/detail-405566.html
如何构建虚拟机Hadoop集群,搭建3台ubuntu虚拟机集群_北冥有渔的博客-CSDN博客如何构建虚拟机Hadoop集群,搭建3台ubuntu虚拟机集群克隆集群机器通过虚拟机搭建Hadoop集群,发现使用的VMware workstation 15 player版本没有克隆功能,于是找到了手动克隆方法:参考:https://blog.csdn.net/weixin_44763047/article/details/111772941搭建集群一台Ubuntu主机系统作Master(yjh-ubuntu),一台Ubuntu主机系统命名为slave01,一台Ubuntu主机系统命名为slahttps://blog.csdn.net/weixin_44763047/article/details/115222913文章来源地址https://www.toymoban.com/news/detail-405566.html
到了这里,关于三台Ubuntu虚拟机搭建 Hadoop集群 (第一次搭)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!