一、服务器准备
1、操作系统 :
centos 6.5
2、ip规划 :
192.168.3.100 master
192.168.3.101 hadoop1
192.168.3.102 hadoop2
3、修改主机名
[root@master ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=master
4、关闭防火墙并且 设置开机不开启防火墙
[root@master ~]# service iptables stop
iptables: Flushing firewall rules: [ OK ]
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Unloading modules: [ OK ]
[root@master ~]# chkconfig iptables off
[root@master ~]#
5、创建hadoop用户
创建组
[root@master opt]# groupadd hadoop
创建用户
[root@master opt]# useradd -g hadoop hadoop
密码设置
[root@master opt]# passwd hadoop
设置hadoop用户具有root权限
vim/etc/sudoers.d 添加 hadoop ALL=(ALL) ALL
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
6、目录规划
[root@master opt]# mkdri /opt/module/ /opt/software/
修改文件属性
[root@master opt]# chown hadoop /opt/module/ /opt/software/
7、安装jdk
自行百度
8、无密码登陆配置
1)三台机器都有
[root@master software]# ssh-keygen -t rsa
之后需要按三次回车键 。执行完之后,在/root/.ssh里面生成id_rsa、id_rsa.pub、known_hosts 三上文件
创建authorized_keys文件
[root@master .ssh]# touch authorized_keys
cat id_rsa.pub >>authorized_keys
2) master 操作
scp authorized_keys root@hadoop1:/root/.ssh/
scp authorized_keys root@hadoop2:/root/.ssh/
二、hadoop部署
1、在官司网下载 hadoop-2.7.2.tar.gz 文件并且 上传到software目录上。
2、解压文件hadoop-2.7.2.tar.gz
[root@master software]# tar -zxvf jdk-8u131-linux-x64.tar.gz
移动文件
[root@master software]# mv hadoop-2.7.2 /opt/
集群规范
| Master | Hadoop1 | Hadoop2 |
HDFS
| NameNode DataNode |
DataNode | SecondaryNameNode DataNode |
YARN |
NodeManager | ResourceManager NodeManager |
NodeManager |
3、配置文件修改
(1)core-site.xml
<!-- 指定HDFS中NameNode的地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop102:9000</value> </property> <!-- 指定hadoop运行时产生文件的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop-2.7.2/data/tmp</value> </property> |
(2)Hdfs
hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.7.0_79 |
hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop3:50090</value> </property> </configuration> |
slaves
master hadoop1 hadoop2 |
(3)yarn
yarn-env.sh
export JAVA_HOME=/opt/module/jdk1.7.0_79 |
yarn-site.xml
<configuration> <!-- Site specific YARN configuration properties --> <!-- reducer获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
<!-- 指定YARN的ResourceManager的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop2</value> </property> </configuration> |
(4)mapreduce
mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.7.0_79 |
mapred-site.xml
<configuration> <!-- 指定mr运行在yarn上 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> |
4、用scp命令把/opt/hadoop-2.7.2 拷到其他服务器
5、测试
1)格式化
bin/hdfs namenode -format
2)启动hdfs
sbin/start-dfs.sh
3)进程测试
jps命令
有datanode namenode进程则表示部署成功
3)启动yarn
在hadoop1起动
sbin/start-yarn.sh
jps命令
有ResourceManger 进程