centos6 hadoop2.7.3分布式搭建
一、hadoop下载
apache所有的project都有自己的域名,可以通过apache官网下的project list去找,也可以直接定位project.apache.org,比如hadoop直接输入网址hadoop.apache.org就可以了
二、环境准备,三台集群机器(centos)
Master 192.168.0.101
Slave1 192.168.0.102
Slave2 192.168.0.103
centos网络设置
首先是虚拟机网络设置,使用net模式,可以保证连上外网
然后是centos的网络设置,注意网卡地址和一些网络单词
最后,修改主机名(防止免密码验证混肴)
vi /etc/sysconfig/netword 和 vi /etc/hosts
修改主机名
三、配置JDK
首先查看服务器是否存在已安装JDK,java -version,看到已装,请将openJDK卸载,安装自己的JDK
vi /etc/profile
export JAVA_HOME=${JAVA_HOME} ${JAVA_HOME} 是你配置jdk的地址,bin的上一层
export PATH=$JAVA_HOME/bin:path
四、克隆服务器
在服务器右键管理,进行克隆
克隆后,修改主机网卡
vi /etc/udev/rules.d/70-presistent-net.rules
将原来的PCI device下面name=“eth0”的网卡删除,将eth1修改为eth0,并记下ATTR(address)
vi /etc/sysconfig/network-script/ifcfg-eth0
修改ip和HWADDR(就是你记住的ATRR)
五、解压hadoop,配置环境变量(以下操作,都在主机)
vi /etc/profile
export HADOOP_HOME=${HADOOP_HOME} 同样这里是你hadoop的解压地址
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH
六、最关键一步,配置hadoop环境(官方文档:http://hadoop.apache.org/docs/r2.7.3/)
${HADOOP_HOME}/etc/hadoop/hadoop-env.sh export JAVA_HOME=${JAVA_HOME} 这里配置JDK位置
${HADOOP_HOME}/etc/hadoop/hdfs-site.xml
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>Master:9001</value>
<descript>配置主节点名和端口号</descript>
</property> <property> <name>dfs.namenode.name.dir</name> <value>/usr/local/hadoop-2.7.3/name</value>
<descript>配置从节点名和端口号</descript> </property> <property> <name>dfs.replication</name> <value>2</value>
<descript>配置副本数</descript> </property> <property> <name>dfs.datanode.data.dir</name> <value>/usr/local/hadoop-2.7.3/data</value>
<descript>配置datanode的数据存储目录</descript> </property>
${HADOOP_HOME}/etc/hadoop/core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
<descript>这里的值指的是默认的HDFS地址</descript>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
<descript>缓冲区大小:io.file.buffer.size默认是4KB</descript>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-2.7.3/tmp</value>
</property>
${HADOOP_HOME}/etc/hadoop/yarn-site.xml <property> <name>yarn.resourcemanager.address</name> <value>master:8032</value>
<descript>resourcemanager的地址</descript> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value>
<descript>调度器的端口</descript> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8031</value>
<descript>resource-tracker端口</descript> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>master:8033</value>
<descript>resourcemanager管理器端</descript> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>master:8088</value>
<descript>ResourceManager 的 Web 端口,监控 job 的资源调度</descript> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
${HADOOP_HOME}/etc/hadoop/mapred-site.xml
#hadoop对map-reduce运行框架一共提供了3种实现,在mapred-site.xml中通过"mapreduce.framework.name"这个属性来设置为"classic"、"yarn"或者"local" <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>master:10200</value>
<descript>MapReduce JobHistory Server地址</descript> </property> <property> <name>mapreduce..jobhistory.webapp.address</name> <value>hadoop1:19888</value>
<descript>MapReduce JobHistory Server Web UI地址</descript> </property>
${HADOOP_HOME}/etc/hadoop/slave slave1 slave2
这是个人配置,建议还是自己去官网查看配置,可能会对你配置更进一步
七、免密码登录
ssh-keygen -t rsa 四个回车 ssh-copy-id master 对主机免密码 ssh-copy-id slave1 ssh-copy-id slave2 复制hadoop到从机相应地址 scp -r ${HADOOP} slave1:/${HADOOP} scp -r ${HADOOP} slave2:/${HADOOP}
八、hadoop启动操作(在master执行)
hdfs namenode -format
start-all.sh
使用jps查看各服务器进程
Master:ResourceManager、jps、NameNode、SecondaryNameNode
Slave:jps、DataNode、NodeManager
九、访问
如果是照着步骤一步一步来的话,应该是可以到这最后一步了,
首先在虚拟机外的宿主机的hosts文件中加入Master地址
master:8088、master:50070 进行访问