linux系统(本篇使用的是CentOS v6.5)
Hadoop安装包(本篇使用的是hadoop v2.6.0)
需要无密码登录的SSH环境(安装ssh及sshd,具体配置步骤在后面介绍)
配置hosts文件,将主机名和对应IP地址映射。如图中Master、Slave1和Slave2是我们要搭建分布式环境的机器。Master为主机,Slavex为从机。
配置SSH的无密码登录:可新建专用用户hadoop进行操作,cd命令进入所属目录下,输入以下指令(已安装ssh)ssh-keygen -t rsa -P ''cat .ssh/id_rsa.pub >>.ssh/authorized_keys解释一下,第一条生成ssh密码的命令,-t 参数表示生成算法,有rsa和dsa两种;-P表示使用的密码,这里使用“”空字符串表示无密码。第二条命令将生成的密钥写入authorized_keys文件。这时输入 ssh localhost,弹出写入提示后回车,便可无密码登录本机。同理,将authorized_keys文件 通过 scp命令拷贝到其它主机相同目录下,则可无密码登录其它机器。
安装hadoop:安装方式很简单,下载安装包到所属目录下,使用tar -zxvf 安装包名进行解压,解压完毕可通过mv 命令重命名文件夹,安装至此完成。解压后的目录内容如图所示。
hadoop配置过程:要实现分布式环境,配置过程是最为重要的,这里要涉及到的配置文件有7个:~/hadoop/etc/hadoop/hadoop-env.sh~/hadoop/etc/hadoop/yarn-env.sh~/hadoop/etc/hadoop/slaves~/hadoop/etc/hadoop/core-site.xml~/hadoop/etc/hadoop/hdfs-site.xml~/hadoop/etc/hadoop/mapred-site.xml~/hadoop/etc/hadoop/yarn-site.xml之后会分别介绍各个配置的的作用和配置关键
配置文件1:hadoop-env.sh该文件是hadoop运行基本环境的配置,需要修改的为java虚拟机的位置。故在该文件中修改JAVA_HOME值为本机安装位置(如,export JAVA_HOME=/usr/lib/jvm/java-1.7.0)
配置文件2:yarn-env.sh该文件是yarn框架运行环境的配置,同样需要修改java虚拟机的位置。在该文件中修改JAVA_HOME值为本机安装位置(如,export JAVA_HOME=/usr/lib/jvm/java-1.7.0)
配置文件3:slaves 该文件里面保存所有slave节点的信息,以本篇为例写入以下内容(hosts里从机的主机名):Slave1Slave2
配置文件4:core-site.xml
配置文件5:hdfs-site.xml
配置文件6:mapred-site.xml
配置文件7:yarn-site.xml
将配置好的hadoop复制到其他节点scp –r ~/hadoop hadoop@Slave1:~/scp –r ~/hadoop hadoop@Slave2:~/
格式化namenode:./bin/hdfs namenode -format若出现如图所示提示,则格式化成功
启动hdfs: ./sbin/start-dfs.sh此时在Master上面运行的进程有:namenode secondarynamenodeSlave1和Slave2上面运行的进程有:datanode启动yarn: ./sbin/start-yarn.sh此时在Master上面运行的进程有:namenode secondarynamenode resourcemanagerSlave1和Slave2上面运行的进程有:datanode nodemanager
检查启动结果查看集群状态:./bin/hdfs dfsadmin –report查看文件块组成: ./bin/hdfsfsck / -files -blocks查看HDFS: http://192.168.101.248:50070(主机IP)查看RM: http:// 192.168.101.248:8088(主机IP)正确情况如图显示
根目录为不存在的文件夹时,需自行创建。
启动过程使用端口较多,若无其它原因,需关闭防火墙以正常启动。
重新格式化namenode时,需先删除各节点的data文件