(1)Hadoop环境配置
①安装1个虚拟机,命名为vm1,作为NameNode使用,然后克隆生成另外3个虚拟机,命名分别为vm2,vm3,vm4,作为DataNode使用;
②修改每台虚拟机的ip地址,分别为191.168.122.101,191.168.122.102,191.168.122.103,191.168.122.104;
如在vm1中修改主机地址,命令如下:
配置如下:
重启网络服务:
③在每个结点上新建一个名为hadoop的用户,并设置密码;
④关闭每个结点的防火墙;
⑤配置ssh,实现结点之间用户的免密登录;
如在vm1中,生成密钥:
实现到vm2的免密登录:
实现到vm3的免密登录:
实现到vm4的免密登录:
在其他虚拟机中也执行相同的操作生成密钥,并实现到各虚拟机中的免密登录。
⑥安装配置JDK;
在4台虚拟机中新建目录/usr/java,将下载的jdk安装包解压到该目录下:
进入/etc/profile中,在文件末尾添加以下代码:
保存Java环境变量后,在命令行键入以下命令,使环境变量立即生效:
通过which命令测试jdk安装是否成功:
显示如上信息,说明jdk配置成功。
⑦将hadoop-2.4.1.tar.gz放置在vm1的/home/hadoop目录中,并对其进行解压;
⑧配置hadoop环境变量;
进入/etc/profile中,在文件末尾添加以下代码:
保存Java环境变量后,在命令行键入以下命令,使环境变量立即生效:
⑨修改Hadoop配置文件;
使用vim打开hadoop-env.sh文件,找到Java环境变量设置位置,将其改为jdk的安装位置:
使用vim打开core-site.xml文件,在<configuration></configuration>之间添加以下代码:
使用vim打开hdfs-site.xml文件,在<configuration></configuration>之间添加以下代码:
由于没有mapred-site.xml文件,需要将mapred-site.xml.template文件复制一份并命名为mapred-site.xml:
使用vim打开mapred-site.xml文件,在<configuration></configuration>之间添加以下代码:
创建master文件,写入NameNode结点的主机名,这里为vm1,保存并退出:
使用vim打开slaves文件, 写入DataNode结点的主机名,这里为vm2、vm3、vm4,保存并退出:
⑩进入/etc/hosts文件中,添加hosts映射:
○11将配置好的Hadoop文件复制到其他结点并格式化;
格式化成功可以看到如下信息:
○12进入/home/hadoop/hadoop-2.4.1/sbin,执行start-all.sh脚本,启动Hadoop;
在NameNode(192.168.122.101)上输入jps命令查看启动进程情况:
在其他3个DataNode结点上输入jps命令查看启动进程情况:
至此,Hadoop已配置成功。
停止Hadoop:
(2)运行测试程序WordCount
①在hadoop用户当前目录下新建文件夹WordCount,在其中建立两个测试文件file1.txt,file2.txt:
file1.txt内容:
file2.txt内容:
②开启hdfs;
②在Hadoop文件系统HDFS中新建文件夹“input”,并查看其中的内容。
③将WordCount文件夹中file1.txt、file2.txt文件上传到刚刚创建的“input”文件夹;
④运行Hadoop的示例程序WordCount;
⑤查看输出结果的文件目录信息和WordCount的结果;