HDFS集群搭建
一 虚拟网络配置
1.编辑虚拟网络设置,选择NAT模式
2.点击NAT设置,查看网络信息(后面设置ip会用到)
3.查看主机ip地址
ifconfig
4.修改网络配置文件,将BOOTPROTO值修改为”static”
Vim /etc/sysconfig/network-scripts/ifcfg-…(第一个文件)
二 更改主机名称
修改主机名vim /etc/hostname,注意3个虚拟机都改一下,并且改完都要重启reboot
三 建立主机名和ip的映射
vim /etc/hosts
查看各台机器是否能互相ping通
Xshell 勾选 工具选项 第一个发送键输入到其他回话
Ping 192.168.220.1
Ping 192.168.220.20
Ping 192.168.220.21
Ping 192.168.220.22
四 配置ssh免密码登录
在root用户下输入ssh-keygen -t rsa 一路回车(三次)
上图中的cd~/.sh是查看是否有钥匙了,可以不写。
//ssh -copy -id 0.0.0.0 给本机配置免密,不用写也行。
Scp -r .ssh /服务器名称或者ip地址:$PWD
检查是否免密登录(第一次登录会有提示)
五 关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state查看防火墙状态
六 安装JDk hadoop
1)解压 tar -zxvf JDK…
tar -zxvf Hadoop…
2)配置环境变量
vim /etc/profile
#在文件最后添加
export JAVA_HOME=JDK的路径 用pwd获取,然后复制粘贴
export HADOOP_HOME=HADOOP的路径
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
3)配置hadoop (配置路径、usr/local/etc/hadoop-2.7.3/etc/hadoop/)
第一个配置文件名:hadoop-env.sh
vim hadoop-env.sh
#第27行
export JAVA_HOME=JDK的路径
第二个配置文件名:vim core-site.xml
<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master11(master是哪台机器):9000(指端口)</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>hadoop路径/tmp</value>
</property>
第三个配置文件:vim hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>2</value> (2指的是只有一个datanode,具体看自己搭几台机器)
</property>
<property>
<!-- 安全权限关闭 -->
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
第四个配置文件:vim mapred-site.xml.template
cp mapred-site.xml.template mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
第五个配置文件: vim yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>weekend-1206-01</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
4)将配置好的hadoop文件发送到其他节点上
scp -r (hadoop路径) slave1:$ PWD
5)格式化Namenode
进入bin目录, hadoop namenode -format 出现success即可如下图
6)让配置文件立刻生效 进入bin目录 source /etc/profile
七. 启动集群
修改hadoop安装目录中/etc/hadoop/slaves(把需要启动datanode进程的节点列入)
1)格式化Namenode
进入bin目录, hadoop namenode -format
2) 启动所有节点 方式一sbin /start-all.sh
3) 在master上用脚本:start-dfs.sh 来自动启动整个集群
使用 Jps查看进程
如果要停止,则用脚本:stop-dfs.sh
注意:如果从节点没有DataNode,可以把主节点的hadoop发送到节点;