环境:
CentOS6.5, Hadoop1.1.2, jdk1.6
三台Linux虚拟机:
192.168.190.100:
hostname:vm1
规划:master节点
192.168.190.101
hostname:vm2
规划:slave节点1
192.168.190.102
hostname:vm3
规划:slave节点2
一、配置hosts文件
#所有节点都修改/etc/hosts,使彼此之间都能把主机名解析为ip
1. 执行命令 vi /etc/hosts
2. 增加以下内容:
192.168.190.100 vm1
192.168.190.101 vm2
192.168.190.102 vm3
二、关闭防火墙
#关闭所有节点上的防火墙服务
1. service iptables stop #关闭服务
2. chkconfig iptables off #关闭开机启动项
三、建立hadoop运行账号
#在所有节点上都建立运行hadoop的专用账户hadoop
1. 执行命令 useradd -d /usr/hadoop -m hadoop #创建hadoop用户
2. 执行命令 passwd hadoop #修改hadoop用户密码
四、配置ssh免密码接入
#在所有节点上都需要配置ssh免密码接入
A、ssh配置
1. 用hadoop账号登陆 #必须以hadoop账号登陆
2. 执行命令 ssh-keygen -t rsa
3. 执行命令 cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
B、分发ssh公钥
1. 合并各个节点上的~/.ssh/authorized_keys文件 #复制粘贴到一个文件authorized_keys
2. 拷贝合并后的authorized_keys文件到各个节点的~/.ssh目录下
五、JDK安装配置
#在所有节点上安装相同版本的JDK
1. 从windows上传jdk-6u24-linux-i586.bin文件到CentOS的/usr/hadoop/local目录下
2. 执行命令 chmod u+x jdk-6u24-linux-i586.bin #授予该文件执行权限
3. 执行命令 ./jdk-6u24-linux-i586.bin #解压缩.bin文件
4. 执行命令 mv jdk-6u24-linux-i586 jdk #重命名
5. 设置JDK环境变量
vi /etc/profile
增加以下两句:
export JAVA_HOME=/usr/hadoop/local/jdk
export PATH=.:$JAVA_HOME/bin:$PATH
执行命令 source /etc/profile
六、安装hadoop
#在NameNode节点上安装
1. 从windows上传hadoop-1.1.2.tar.gz文件到CentOS的/usr/hadoop/local目录下
2. 执行命令 tar -zxvf hadoop-1.1.2.tar.gz #解压缩
3. 执行命令 mv hadoop-1.1.2 hadoop #重命名
4. 设置Hadoop环境变量
vi /etc/profile
增加以下两句:
export HADOOP_HOME=/usr/hadoop/local/hadoop
export PATH=.:$HADOOP_HOME/bin:$PATH
执行命令 source /etc/profile
七、配置hadoop
#在namenode上配置hadoop
1. 修改hadoop/conf/hadoop-env.sh文件
增加以下内容:
export JAVA_HOME=/usr/hadoop/local/jdk
2. 修改hadoop/conf/core-site.xml文件
增加以下内容:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://vm1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/local/hadoop/tmp</value>
</property>
</configuration>
3. 修改hadoop/conf/hdfs-site.xml文件
增加以下内容:
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
4. 修改hadoop/conf/mapred-site.xml文件
增加以下内容:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>vm1:9001</value>
</property>
</configuration>
5. 修改hadoop/conf/masters
增加以下内容:
vm1
6. 修改hadoop/conf/slaves
增加以下内容:
vm2
vm3
八、向各节点复制hadoop
#将NameNode节点上配置好的hadoop目录复制到其余各个节点
1. 执行命令 scp -r /usr/hadoop/local/hadoop vm2:/usr/hadoop/local #复制hadoop到vm2节点
2. 执行命令 scp -r /usr/hadoop/local/hadoop vm3:/usr/hadoop/local #复制hadoop到vm3节点
九、格式化namenode
#在NameNode节点上执行hadoop格式化
1. 执行命令 hadoop namenode -format
十、hadoop启动与停止
#在NameNode节点上操作即可,其余节点自动启动
启动hadoop:
执行命令 start-all.sh
停止hadoop:
执行命令 stop-all.sh
十一、查看hadoop启动进程
#可通过以下两种方式查看:
1. 执行命令 jps #查看java进程, Master节点启动进程NameNode, SecondaryNameNode, JobTracker; Slave节点启动进程 DataNode, TaskTracker
2. 通过浏览器查看
http://vm1:50070 #NameNode监控页面
http://vm1:50030 #JobTracker监控页面
CentOS6.5, Hadoop1.1.2, jdk1.6
三台Linux虚拟机:
192.168.190.100:
hostname:vm1
规划:master节点
192.168.190.101
hostname:vm2
规划:slave节点1
192.168.190.102
hostname:vm3
规划:slave节点2
一、配置hosts文件
#所有节点都修改/etc/hosts,使彼此之间都能把主机名解析为ip
1. 执行命令 vi /etc/hosts
2. 增加以下内容:
192.168.190.100 vm1
192.168.190.101 vm2
192.168.190.102 vm3
二、关闭防火墙
#关闭所有节点上的防火墙服务
1. service iptables stop #关闭服务
2. chkconfig iptables off #关闭开机启动项
三、建立hadoop运行账号
#在所有节点上都建立运行hadoop的专用账户hadoop
1. 执行命令 useradd -d /usr/hadoop -m hadoop #创建hadoop用户
2. 执行命令 passwd hadoop #修改hadoop用户密码
四、配置ssh免密码接入
#在所有节点上都需要配置ssh免密码接入
A、ssh配置
1. 用hadoop账号登陆 #必须以hadoop账号登陆
2. 执行命令 ssh-keygen -t rsa
3. 执行命令 cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
B、分发ssh公钥
1. 合并各个节点上的~/.ssh/authorized_keys文件 #复制粘贴到一个文件authorized_keys
2. 拷贝合并后的authorized_keys文件到各个节点的~/.ssh目录下
五、JDK安装配置
#在所有节点上安装相同版本的JDK
1. 从windows上传jdk-6u24-linux-i586.bin文件到CentOS的/usr/hadoop/local目录下
2. 执行命令 chmod u+x jdk-6u24-linux-i586.bin #授予该文件执行权限
3. 执行命令 ./jdk-6u24-linux-i586.bin #解压缩.bin文件
4. 执行命令 mv jdk-6u24-linux-i586 jdk #重命名
5. 设置JDK环境变量
vi /etc/profile
增加以下两句:
export JAVA_HOME=/usr/hadoop/local/jdk
export PATH=.:$JAVA_HOME/bin:$PATH
执行命令 source /etc/profile
六、安装hadoop
#在NameNode节点上安装
1. 从windows上传hadoop-1.1.2.tar.gz文件到CentOS的/usr/hadoop/local目录下
2. 执行命令 tar -zxvf hadoop-1.1.2.tar.gz #解压缩
3. 执行命令 mv hadoop-1.1.2 hadoop #重命名
4. 设置Hadoop环境变量
vi /etc/profile
增加以下两句:
export HADOOP_HOME=/usr/hadoop/local/hadoop
export PATH=.:$HADOOP_HOME/bin:$PATH
执行命令 source /etc/profile
七、配置hadoop
#在namenode上配置hadoop
1. 修改hadoop/conf/hadoop-env.sh文件
增加以下内容:
export JAVA_HOME=/usr/hadoop/local/jdk
2. 修改hadoop/conf/core-site.xml文件
增加以下内容:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://vm1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/local/hadoop/tmp</value>
</property>
</configuration>
3. 修改hadoop/conf/hdfs-site.xml文件
增加以下内容:
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
4. 修改hadoop/conf/mapred-site.xml文件
增加以下内容:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>vm1:9001</value>
</property>
</configuration>
5. 修改hadoop/conf/masters
增加以下内容:
vm1
6. 修改hadoop/conf/slaves
增加以下内容:
vm2
vm3
八、向各节点复制hadoop
#将NameNode节点上配置好的hadoop目录复制到其余各个节点
1. 执行命令 scp -r /usr/hadoop/local/hadoop vm2:/usr/hadoop/local #复制hadoop到vm2节点
2. 执行命令 scp -r /usr/hadoop/local/hadoop vm3:/usr/hadoop/local #复制hadoop到vm3节点
九、格式化namenode
#在NameNode节点上执行hadoop格式化
1. 执行命令 hadoop namenode -format
十、hadoop启动与停止
#在NameNode节点上操作即可,其余节点自动启动
启动hadoop:
执行命令 start-all.sh
停止hadoop:
执行命令 stop-all.sh
十一、查看hadoop启动进程
#可通过以下两种方式查看:
1. 执行命令 jps #查看java进程, Master节点启动进程NameNode, SecondaryNameNode, JobTracker; Slave节点启动进程 DataNode, TaskTracker
2. 通过浏览器查看
http://vm1:50070 #NameNode监控页面
http://vm1:50030 #JobTracker监控页面