通过前面的学习,我们知道了什么是大数据、分布式以及Hadoop。下面,我们就来亲自动手搭建一个Hadoop系统。
集群规划
我们计划搭建一个拥有3个节点的Hadoop分布式集群,具体规划如下:
其中NameNode、SecondryNameNode和DataNode是HDFS集群中的进程,ResourceManager和NodeManager是YARN集群的进程。NameNode与ResourceManager是主节点,而DataNode与NodeManager是从节点。
准备工作
首先,我们得准备3台Linux主机,这里是使用VMwareWorkStation创建了3台CentOS6.7的虚拟机,对于虚拟机及Linux不懂的同学请自行问度娘,这里不再科普。接下来,我们要做的事情还有很多:
1)配置普通用户sudoer权限(这里创建的普通用户叫做hadoop)
a)在root账号下使用命令:vim /etc/sudoers
b)找到 root ALL=(ALL) ALL 这一行
c)然后在它下面添加一行:hadoop ALL=(ALL) ALL,保存退出
2)修改主机名
a)在root账号下用命令:vi /etc/sysconfig/network,如果Hadoop用户配置了sudo权限,也可以在 hadoop 登录情况下使用命令: sudo vi /etc/sysconfig/network
b)修改好新名字(hadoop1、hadoop2、hadoop3)后保存退出
3)配置静态 IP(注意规划好3个节点各自的ip地址)
a)查看网络信息:ifconfig
b)编辑eth0网卡信息:sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
4)配置主机映射
修改配置文件:sudo vi /etc/hosts,3台都要修改
5)关闭防火墙
6)同步服务器时间(分布式集群节点间时间相差太大的话会导致服务进程起不来)
7)配置ssh免密登录
注意,首次访问任然会要求输入账号和密码。
8)安装JDK(Hadoop是用Java语言写的,需要Java运行环境,3台虚拟机都要安装)
自此,准备工作就完成了。
集群搭建
1)获取安装包并解压到指定目录:下载传送门
2)解压到指定目录
tar -zxvf hadoop-2.7.5.tar.gz -C ~/apps/
注意:-C 的意思是指定解压路径,目标路径不存在则需要先创建:mkdir ~/apps
3)修改配置文件
hadoop的配置文件位于$HADOOP_HOME/etc/hadoop/文件夹中,需要修改的配置共有6个:
hadoop-env.sh
vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
# The java implementation to use.# 找到这一行,改为自己的jdk路径
export JAVA_HOME=/usr/local/jdk1.8.0_181
core-site.xml
vim $HADOOP_HOME/etc/hadoop/core-site.xml
在中加入以下代码
hdfs-site.xml
vim $HADOOP_HOME/etc/hadoop/hdfs-site.xml
在中加入以下代码
mapred-site.xml
复制mapred-site.xml.template文件,并命名为mapred-site.xml
cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template mapred-site.xml
vim $HADOOP_HOME/etc/hadoop/mapred-site.xml
在中加入以下代码
yarn-site.xml
vim $HADOOP_HOME/etc/hadoop/yarn-site.xml
在中加入以下代码
slaves,指定从节点有哪些
vim $HADOOP_HOME/etc/hadoop/slaves
hadoop1
hadoop2
hadoop3
4)配置环境变量
a)vim ~/.bashrc,在最后面加入以下语句:
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
b)source ~/.bashrc
5)将安装包和环境变量文件分发至另外2个节点,如
scp –r ~/apps hadoop2:~/
scp ~/.bashrc hadoop2:~/
别忘了, source 一下环境变量文件
6)初始化HDFS系统
在 HDFS 主节点上执行命令 hdfs namenode –format 进行初始化
7)启动集群
8)验证集群是否安装成功
a)使用 jps 指令查看进程:查看规划的守护进程是否成功启动
b)WebUI
http://192.168.25.101:50070/
http://192.168.25.103:8088/
c)上传一个文件到HDFS:hadoop fs -put xxx /(前面 xxx 代表要上传的文件在本地的路径,/ 表示上传到 hdfs 的路径)
d)执行一个MapReduce任务,运行hadoop自带求PI demo程序并观察执行过程:
hadoop jar ~/apps/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar pi 5 5
好了,至此,相信大家已经成功搭建了分布式的hadoop集群,我们下期再会!
注意:本文最早由东方瑞通高级讲师朱明虎老师发表于讲师原创专区,转载请注明出处!
下一篇:大数据在游戏行业中的应用