这里搭建hadoop集群,使用了三台电脑,分别是:
1 | 主机名分别是:master,salve1,salve2 |
配置hosts各个主机
修改hosts文件:
1 | 127.0.0.1 localhost |
免密登录
安装ssh服务,这里使用的centos环境,需要安装:
1 | #安装ssh服务端 |
使用命令:ssh-keygen
生成本机密钥和公钥,这些文件在{USER_HOME}/.ssh目录下,进入该目录,执行命令:
1 | #authorized_keys文件若没有,首先创建一个 |
将authorize_keys文件分发到其他主机上,并追加到对应的authorized_keys文件中。即可实现在master主机上,免密登录其他主机。
1 | ssh slave1 //免密登录 |
安装jdk
下载jdk安装包:jdk-XXX.tar.gz,解压安装
1 | tar zxvf jdk-XXX.tar.gz -C /opt |
安装hadoop
下载hadoop安装包:hadoop-2.7.1.XXX.tar.gz,解压进行安装:
1 | tar zxvf hadoop-2.7.1.XXX.tar.gz -C /opt |
进入hadoop安装目录,修改etc/hadoop目录下的各个配置文件:
修改core-site.xml文件:
1 | <configuration> |
修改hdfs-site.xml文件:
1 | <configuration> |
修改mapred-site.xml文件:
1 | <configuration> |
修改yarn-site.xml文件:
1 | <configuration> |
修改slaves文件,用于指定slave节点:
1 | slave1 |
修改hadoop-env.sh文件:
1 | #将export JAVA_HOME行修改成如下: |
修改/etc/profile文件:
1 | export HADOOP_HOME=/opt/hadoop-2.7.1 |
到此,hadoop已经配置成功了,通过scp命令将hadoop解压包分发到各个节点上:
1 | scp /opt/hadoop-2.7.1 slave1@salve1:/opt |
到此,hadoop集群搭建完毕,开始进行hdfs文件系统的格式化操作:
1 | hadoop namenode -format |
当出现如下日志信息时,表示格式化hdfs成功:
1 | ... |
测试hadoop集群
在hdfs上新建一个文件夹/input,并上传测试文件word.txt:
1 | hdfs dfs -mkdir /input |
使用hadoop自带的wordcount类来统计word.txt中的字数:
1 | hadoop jar /opt/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.XX.jar worcount /input/* /out |