hadoop完全分布式搭建
1.关闭防火墙
service iptables status 查看防火墙状态
service iptables stop 关闭防火墙
service iptables start 开启防火墙
chkconfig iptables off 永久关闭防火墙
2.开启网络 (连接外网)
ping www.baidu.com 测试
vim /etc/sysconfig/network
3.修改主机名
vim /etc/sysconfig/network
5.配置ip与主机名之间的映射
vim /etc/hosts
例:192.168.118.101 hadoop101
192.168.118.102 hadoop102
192.168.118.103 hadoop103
6.创建新用户(用户名设为hadoop)
useradd 用户名(hadoop)
7.修改密码
passwd hadoop
8.在root用户下给hadoop用户设置权限
vim /etc/sudoers
9.切换至hadoop用户
su hadoop
10.在hadoop(~)用户下创建文件夹software
mkdir software
11.安装jdk
卸载原有jdk yum remove *openjdk*
从windows上传jdk压缩包到linux上
解压jdk压缩包
tar -zxvf jdk压缩包名
创建软链接
ln -s jdk解压后名 软连接名
12.配置环境变量
vim ~/.bash_profile
export java_home=jdk路径
export path=$path:$java_home/bin
13.将jdk分别传到另外两台虚拟机上
scp -r jdk路径 hadoop102:/home/hadoop/software
将环境变量文件发送至另外两台虚拟机
scp -r ~/.bash_profile hadoop102:/home/hadoop/.bash_profile
14.环境变量立即生效
source ~/.bash_profile
15.上传hadoop
解压 创建软链接 配置环境变量
export hadoop_home=路径
export path=$path:$hadoop_home/bin
export path=$path:$hadoop_home/sbin
16.配置文件
cd /home/hadoop/software/hadoop/etc/hadoop
vim core-site.xml
<configuration> <property> <!--指定hdfs的namenode节点的地址--> <name>fs.defaultfs</name> <value>hdfs://hadoop101:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/software/hadoop/data/tmp</value> </property> </configuration>
vim hdfs-site.xml
<property> <!--指定副本数为3--> <name>dfs.replication</name> <value>3</value> </property> <!--指定secondarynamenode节点--> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop103:50090</value> </property> </configuration>
vim yarn-site.xml
<configuration> <!-- site specific yarn configuration properties --> <property> <!--设置shuffle流程--> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <!--设置resourcemanager的是哪个节点--> <name>yarn.resourcemanager.hostname</name> <value>hadoop102</value> </property> </configuration>
vim mapred-site.xml
<configuration> <!--指定mr运行在yarn--> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
步骤二:修改java_home
vim hadoop-env.sh
vim mapred-env.sh
vim yarn-env.sh
17.分发
将hadoop101上的hadoop分发到 hadoop102 hadoop103机器
scp -r 路径 hadoop102:/home/hadoop/software/
创建软连接
ln -s hadoop-2.7.3/ hadoop
远程分发环境变量文件 ~/.bash_profile
scp ~/.bash_profile hadoop102:/home/hadoop/
立即生效: source ~/.bash_profile
18.格式化
第一次使用的时候一定要格式化
hadoop namenode –format
注意:如果再次格式化 需要将三台机器上的data logs全都删除
启动:单个启动namenode
hadoop-daemon.sh start namenode
在hadoop101 hadoop102 hadoop103 启动datanode
hadoop-daemon.sh start datanode
启动secondarynamenode
hadoop-daemon.sh start secondarynamenode
在hadoop102 启动resourcemanager
yarn-daemon.sh start resourcemanager
hadoop101 102 103 启动nodemanager
yarn-daemon.sh start nodemanager
19.ssh配置
群起完全分布式: ssh的无密登陆
解压创建软链接配置环境变量
export hadoop_home=路径
hadoop101 hadoop102 hadoop103 三台机器
生成公钥私钥对:
ssh-keygen -t rsa
ssh-keygen -t rsa
ssh-keygen -t rsa
三个回车
[hadoop@hadoop101 .ssh]$ ll
将公钥拷贝到其他机器:
ssh-copy-id hadoop101
ssh-copy-id hadoop102
ssh-copy-id hadoop103
hadoop 102 hadoop3 机器上执行相同操作…
authorized_keys |
授权列表 |
id_rsa |
私钥 |
id_rsa.pub |
公钥 |
known_hosts |
记录的是ssh访问的记录 |
配置slavaes文件
vim slaves