2、hadoop集群搭建准备

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_41685388/article/details/102639751

1、Hadoop版本选择

* apache hadoop: 2008年,初学者入门,简单易入手
* cloudera hadoop: 2009年,企业中使用 CDH,性能强
* hortonworks hadoop: 2011年,文档全面
* hortonworks 和 cloudera 2018年国庆合并

这里我们就先选用apache 官方版本2.X

  • 1、apache 官方版本:  http://hadoop.apache.org/
  •   大版本:0.20.2    

  •                 1.X    

  •                 2.X  2.5.2 2.6.5 2.7.3

  •                 3.X 

  • 2、商业发型版本:  
  • 提供完善的管理系统,修复 bug 可能会领先于官方版本  

  • Cloudera 公司的 CDH:5.7.X 

2、hadoop集群搭建准备

2.1.了解hdfs组成(分布式的文件系统)

  • 1.NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),
  • 以及每个文件的块列表和块所在的DataNode等。
  • 2.DataNode(dn):在本地文件系统存储文件块数据,即是存放具体的block的,校验文件。
  • 3.Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。

2.2.了解yarn组成(运算资源调度系统)

  • 1.ResourceManager(rm):处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度;----整个集群的资源调度
  • 2.NodeManager(nm):单个节点上的资源管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令;-----单个节点的资源调度
  • 3.ApplicationMaster:数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错;
  • 4.Container:对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息。

2.3.了解mapreduce组成(Map 和 Reduce 分布式运算编程框架)

  • MapReduce将计算过程分为两个阶段:Map和Reduce
  • 1.Map阶段并行处理输入数据

  • 2.Reduce阶段对Map结果进行汇总

2.4.hadoop集群搭建准备

在此之前需要对linux系统有一定的了解:https://blog.csdn.net/weixin_41685388/article/category/9409639

主从架构的集群,一主多从。

准备至少3个节点(也就是3台虚拟机):hadoop01,hadoop02,hadoop03,......

  • 1、修改ip地址,静态ip地址

1)查看ip地址:ifconfig

2)vi /etc/udev/rules.d/70-persistent-net.rules #修改网卡 , 三台机一样的NAME="eth0"

3)vi /etc/sysconfig/network-scripts/ifcfg-eth0    ##修改网卡配置文件

修改ip地址如:IPADDR=192.168.2.101(102)(103)     保存并退出

详细参考链接:https://blog.csdn.net/weixin_41685388/article/details/102492319

如图:注意:接下来的操作基本上都是三台机一起操作

  • 2、修改主机名

vim /etc/sysconfig/network   #如修改为HOSTNAME=hadoop01(hadoop02)(hadoop03)

  • 3、配置主机映射

Linux:vim /etc/hosts    3台机都在末尾添加

192.168.2.101 hadoop01

192.168.2.102 hadoop02

192.168.2.103 hadoop03

windows:在C:\Windows\System32\drivers\etc\hosts文件末尾添加

192.168.2.101 hadoop01

192.168.2.102 hadoop02

192.168.2.103 hadoop03

  • 4、检查关闭防火墙

chkconfig --list iptables #检查防火墙(关闭开机自启状态:chkconfig iptables off

  • 5、检查关闭selinux(linux的安全管理策略)

vim /etc/selinux/config

修改:

#SELINUX=enforcing

SELINUX=disabled

  • 6、修改系统启动级别

vi /etc/inittab   ##修改系统启动级别,将id:5:initdefault改为id:3:initdefault,保持并退出

  • 7、同步时间(必须)

方法一:​​直接修改时间:date -s "2019-10-19 20:18:58"

方法二:同步网络时间:ntpdate 时间服务器的地址  如:ntpdate ntp1.aliyun.com

查看时间:date "+%Y-%m-%d %H:%M:%S"

  • 8、jdk的安装

java -varsion   #查看是否安装

echo $PATH  #查看环境变量是否为全局变量(全局变量前面有export)

  • vim /etc/profile  #全局配置(所有用户都可以使用),在末尾添加或修改环境配置,加入下面两行代码:

  • export JAVA_HOME=/opt/jdk1.8.0_144

  • export PATH=${JAVA_HOME}/bin:${PATH}

安装jdk的教程:https://blog.csdn.net/weixin_41685388/article/details/102522730

  • 9、保证3台机有同名的普通用户,并配置相互的ssh免密使用

cat /etc/passwd  #查看用户,其中普通用户uid-->500-60000

useradd  hadoop   #添加名为hadoop的普通用户

passwd  hadoop    #修改新增加用户的密码

vi /etc/sudoers    #先su root下给hadoop用户配置sudoer权限

  • 找到root    ALL=(ALL)       ALL 行,在下面添加一行

  • hadoop    ALL=(ALL)       ALL

用户管理操作教程:https://blog.csdn.net/weixin_41685388/article/details/102497006

su hadoop    #切换到hadoop用户下,然后配置ssh免密登陆

ssh-keygen   #生成密钥对,一直回车执行完即可

ssh-copy-id hadoop01  #将公钥发送给hadoop01

ssh-copy-id hadoop02  #将公钥发送给hadoop02

ssh-copy-id hadoop03  #将公钥发送给hadoop03

注意:再次强调是3台机器同时操作

测试:ssh hadoop01   #登陆hadoop01    ssh hadoop02   #登陆hadoop02  ssh hadoop03  #登陆hadoop03

如果登陆成功,配置成功,退出登陆:exit 执行三次,回到自己的机器上面。

  • 10、重启  sudo reboot      

以上10部就完成了hadoop集群搭建的准备工作

  • 11、附加:配置CRT启动时同时连接到多台虚拟机

打开SecureCRT后,清楚原来的所有连接,然后新建New Folder,改名为hdfs

在hdfs文件夹下创建新的需要连接的机器,记得勾选记住密码

这样以后直接点击快捷方式打开,就一次性全部链接啦!

猜你喜欢

转载自blog.csdn.net/weixin_41685388/article/details/102639751
今日推荐