一、系统+用户
1.Ubuntu16
①主节点主机名:master 用户名:master
②从节点主机名:slave1、slave2 用户名:slave1、slave2
(主机名在/etc/hostname中修改;ubuntu无法直接修改用户名,修改用户名会有坑!)
(如果从节点为主节点的克隆机,则需要更改从节点的mac地址,请谨慎!)
二、工具准备
1.jdk1.7.0_71
2.hadoop-2.6.5
三、安装jdk(以下操作如不做特别说明则都在主节点中进行操作)
1.解压jdk到/opt/中
2.配置~/.bashrc(用户变量,仅当前用户可用)或/etc/profile(系统变量,所有用户可用)
四、安装ssh并配置免密登录(此步骤需要在从节点进行一样的操作)
1.检查防火墙,如果防火墙未关闭则关闭防火墙
①sudo ufw status ②sudo ufw disable
2.配置主机地址映射
新增/etc/hosts中主机ip和主机名的映射关系主从节点的映射都要写上
(如果hosts文件中有127.0.1.1 master的映射则需要删除这条映射,否则从节点将无法使用hdfs的各指令)
重启系统
3.安装ssh服务
sudo apt-get install openssh-server
4.重启ssh服务以初始化目录
sudo /etc/init.d/ssh restart
5.安装ntp时间服务
sudo apt-get instal ntp
6.配置免密登录
①ssh-kegen -t rsa -P '' (单引号中没有空格)生成密钥对
②ssh-copy-id -i ~/.ssh/id_rsa.pub master@master
ssh-copy-id -i ~/.ssh/id_rsa.pub slave1@slave1
ssh-copy-id -i ~/.ssh/id_rsa.pub slave2@slave2
将公钥id_rsa.pub 追加到自己的~/.ssh/authorized_keys 文件中,并复制到其它两台机器上
③ 验证免密登录:在master 主机验证免密码登录集群所有机器
五、解压Hadoop修改并修改配置文件
1.解压Hadoop到/opt中并修改文件名为hadoop
2.修改配置文件
①/opt/hadoop/etc/hadoop/hadoop-env.sh 中配置jdk路径
②/opt/hadoop/etc/hadoop/core-site.xml 的配置
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/opt/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
③/opt/hadoop/etc/hadoop/hdfs-site.xml 的配置
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/hadoop/tmp/dfs/data</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>master:50090</value>
</property>
</configuration>
④/opt/hadoop/etc/hadoop/mapred-site.xml 的配置(此文件需要从mapred-site.xml.xxxxxx中更名而来)
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
⑤/opt/hadoop/etc/hadoop/yarn-site.xml 的配置
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
⑥修改hadoop文件夹的所属用户:sudo chown -R master:master /opt/hadoop
六、通过scp -r 把整个hadoop文件夹发送到从节点,同时修改文件夹所属用户
七、修改~/.bashr或/etc/profile并发送到从节点中并source此文件
八、仅在主节点配置/opt/hadoop/etc/hadoop/slaves文件,把其中的localhost删除并添加从节点的【用户名】@【主机名】;如果所有主机的用户名都一致也可只添加主机名
九、在主节点格式化集群
hadoop/bin目录下 ./hdfs namenode -foemat
十、启动集群
./start-all.sh
十一、jps验证进程,并在各主机尝试hdfs指令,如无异常可配置环境变量在全局使用hdfs指令
①主节点进程:
SecondaryNameNode
NameNode
ResourceManager
②从节点进程
NodeManager
DataNode
**web管理集群:【主节点IP】: 50070