Hadoop的集群搭建
一:JDK装好
二:配置了免密登陆和主机名映射
三:同步时间和关闭防火墙
四:然后开始搭建hadoop集群
NAT 方式联网
配置 h ssh 免密登陆
#生成 ssh 免登陆密钥
ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成 id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免密登陆的目标机器上
ssh-copy-id node-02
配置 IP 、主机名 映射
vi /etc/hosts
192.168.33.101 node-1
192.168.33.102 node-2
192.168.33.103 node-3
#关闭防火墙
service iptables stop
#查看防火墙开机启动状态
chkconfig iptables --list
#关闭防火墙开机启动
chkconfig iptables off
#网络同步时间
ntpdate cn.pool.ntp.org
设置主机名
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node-1
这个是我们编译过的hadoop, 如果没有编译过的需要先编译hadoop(耗时50分钟)
然后开始我们的正式搭建hadoop的集群
1 上传我们的安装包,在主机上上传 cd /export/server
上传完毕后解压我们的安装包 tar -zxvf 包名
2 hadoop的目录结构如下
bin:Hadoop 最基本的管理脚本和使用脚本的目录,
etc:Hadoop 配置文件所在的目录,包括core-site,xml、hdfs-site.xml、
mapred-site.xml 等从 Hadoop1.0 继承而来的配置文件和yarn-site.xml 等
Hadoop2.0 新增的配置文件。
lib:该目录包含了 Hadoop 对外提供的编程动态库和静态库,与 include 目
录中的头文件结合使用。
libexec:各个服务对用的 shell 配置文件所在的目录,可用于配置日志输
出、启动参数(比如 JVM 参数)等基本信息。
sbin:Hadoop 管理脚本所在的目录,主要包含 HDFS 和 YARN 中各类服务的
启动/关闭脚本。
share:Hadoop 各个模块编译后的 jar 包所在的目录
3 配置文件的修改 ,,只需要在直接点上修改之后 然后分发给其他机器
第一个:hadoop-env.sh
cd /export/server/hadoop-2.7.4/etc/hadoop
vi hadoop-env.sh
export JAVA_HOME=/export/server/jdk1.8.0_65
这里在配置一下java的原因是不管系统配置了没保证这里能加载到.
第二个:core-site.xml
<value>hdfs://node-1:9000</value> 如果是别的文件系统的话 需要配置对应的schema.
tfs://
file://
gfs://
第三个:hdfs-site.xml
第四个: mapred-site.xml
mv mapred-site.xml.templatemapred-site.xml 修改一下配置文件的名字
vi mapred-site.xml
这个配置的就是MapReduce运行时交给yarn去计算
第五个:yarn-site.xml
集群规划:
结合软件中各个组件的特性(比如有的占内存,有的需要大量磁盘)以及集群的硬件设施
合理的把集群各个组件规划(把自己的思想体现在机器角色部署上)到合理的机器上,是各个组件不会产生硬件的抢夺..
规划跟最终的实际匹配,需要配置文件来约束你的规划
NameNode 和SecondaryNameNode 需要大量的内存
DataNode需要大量的磁盘.所以应该放.
node-01 NameNode DataNode ResourceManager NodeManager
node-02 DataNode NodeManagerSecondaryNameNode
node-03 DataNode NodeManager
集群的扩容只需要添加DataNode NodeManager(主要放数据和数据管理)
node-04 DataNode NodeManager
node-05 DataNode NodeManager
第六个:slaves文件,里面写上从节点所在的主机名字
vi slaves
node-1
node-2
node-3
将hadoop添加到环境变量
vim /etc/profile
添加以下的命令注意hadoop的位置
exportHADOOP_HOME=/export/server/hadoop-2.7.4
exportPATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
然后把我们的安装包和配置文件拷贝给其他的机器
scp -r /export/server/hadoop-2.7.4/root@node-2:/export/server/
scp -r /export/server/hadoop-2.7.4/root@node-3:/export/server/
scp -r /etc/profile root@node-3:/etc/
scp -r /etc/profile root@node-2:/etc/
然后是配置生效 source /etc/profile
配置已经全部完成..
格式化namenode(本质是对namenode进行初始化)
namenode格式化 (ps:因为namenode在node-1上,所以在这里格式化)
1、新集群初次启动需要格式化
2、格式化只能进行一次 后续不再格式化
3、格式化也就是初始化操作
因为没有格式化之前 hdfs在物理上还不存在 初始化一些hdfs运行所需要的初始目录 文件等
不同于传统意义上的格式化(可不是格式化硬盘 U盘的那个格式化)
4、格式化在hdfs主角色namenode 所在的机器上进行
在/export/server/hadoop-2.7.4/etc/hadoop的目录下 格式化
格式化的命令如下:
hdfs namenode –format
hadoop集群启动
第一种:脚本一键启动(ssh免密了吗? slaves文件配置了吗)
hdfs:start-dfs.sh stop-dfs.sh
yarn:start-yarn.sh stop-yarn.sh
start-all.sh stop-all.sh
第二种:
hdfs hadoop-daemon.sh
yarn yarn-daemon.sh
一键启动hdfs .
此时已经启动了我们hdfs的集群
然后是我们的yarn集群
然后查看我们的hdfs集群和yarn集群
我们的hdfs集群和yarn集群配置成功
验证是否启动成功
Hdfs的测试 在浏览器输入 node-1:50070 (需要在win上配置hosts,50070是默认端口)
Yarn的测试 在浏览器输入 node-1:8088