完全分布式的hadoop集群搭建-hadoop2.7.3
2017-03-21 10:45
477 查看
搭建hadoop完全分布式集群:要求安装JDK。
环境:
VM搭建的三个虚拟机,均采用centos-6.8-64.iso
机器IP与名称对应关系如下:
192.168.152.192 master
192.168.152.193 slave1
192.168.152.194 slave2
JDK请自行安装,SSH无密码互相访问可以参考我的文章SSH免密码互相访问,谢谢。
版本:hadoop-2.7.3
1. 配置三台机器的hosts
在master机器上编辑/etc/hosts:
[root@master]#
vim /etc/hosts
删掉localhost所在行,追加以下内容:
192.168.152.192 master
192.168.152.193 slave1
192.168.152.194 slave2
退出保存 !wq
[root@master]#
scp /etc/hosts slave1:/etc #替换slave1的hosts文件
[root@master]#
scp /etc/hosts slave2:/etc #替换slave2的hosts文件
2. 解压hadoop-2.7.3.tar.gz
[root@master]#
mkdir /home/hadoop
[root@master]#
tar zxvf hadoop-2.7.3.tar.gz -C /home/hadoop
会出现一个hadoop-2.7.3文件夹,进入该文件夹
[root@master]#
cd hadoop-2.7.3
创建必要目录
[root@master]#
mkdir tmp
[root@master]#
mkdir logs
[root@master]#
mkdir hdfs
[root@master]#
mkdir hdfs/data
[root@master]#
mkdir hdfs/name
3. 修改配置文件里的JAVA_HOME
3.1 hadoop-env.sh
[root@master]#
vim etc/hadoop/hadoop-env.sh
找到 export JAVA_HOME=${} 行,修改如下:
export JAVA_HOME=/usr/lib/java/jdk1.7.0_79
3.2 yarn-env.sh
[root@master]#
vim etc/hadoop/yarn-env.sh
找到 export JAVA_HOME=${} 行,修改如下:
export JAVA_HOME=/usr/lib/java/jdk1.7.0_79
4. 修改slaves
[root@master]#
vim etc/hadoop/slaves
删除localhost
添加以下几行
slave1
slave2
5. 修改core-site.xml
[root@master]#
vim ect/hadoop/core-site.xml
找到<configuration></configuration>标签对,添加以下内容:
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/hadoop-2.7.3/tmp</value>
</property>
6. 修改hdfs-site.xml
[root@master]#
vim etc/hadoop/hdfs-site.xml
找到<configuration></configuration>标签对,添加以下内容:
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/hadoop-2.7.3/hdfs/data</value>
<final>true</final>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/hadoop-2.7.3/hdfs/name</value>
<final>true</final>
</property>
7. 修改mapred-site.xml
注意./etc/hadoop目录下没有mapred-site.xml,只有mapred-site.xml.template,所以需要复制一份:
[root@master]#
cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
[root@master]#
vim etc/hadoop/mapred-site.xml
找到<configuration></configuration>标签对,添加以下内容:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
8. 修改yarn-site.xml
[root@master]#
vim etc/hadoop/yarn-site.xml
找到<configuration></configuration>标签对,添加以下内容:
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
9. 在slave1和slave2上分别创建hadoop目录
[root@slave1]# mkdir /home/hadoop
[root@slave2]#mkdir /home/hadoop
10. 回到master,远程复制修改好的hadoop-2.7.3文件夹到slave1和slave2上:
[root@master]#
scp -r /home/hadoop/hadoop-2.7.3 slave1:/home/hadoop
[root@master]#
scp -r /home/hadoop/hadoop-2.7.3 slave2:/home/hadoop
11. 配置hadoop环境变量
[root@master]#
vim /etc/profile
追加如下内容:
# set hadoop environment
HADOOP_HOME=/home/hadoop/hadoop-2.7.3
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
HADOOP_LOG_DIR=/home/hadoop/hadoop-2.7.3/logs
YARN_LOG_DIR=$HADOOP_LOG_DIR
export HADOOP_HOME PATH HADOOP_LOG_DIR YARN_LOG_DIR
退出保存 :wq
[root@master]#
source /etc/profile
把/etc/profile文件的末尾6行关于hadoop环境变量内容复制到slave1和slave2上:
[root@master]#
tail -6 /etc/profile >> /home/tmp
[root@master]#
scp /home/tmp slave1:/home
[root@master]#
scp /home/tmp slave2:/home
[root@master]# rm -rf /home/tmp
登陆到slave1,把/home/tmp内容追加到/etc/profile里
[root@slave1]# cat /home/tmp >> /etc/profile
[root@slave1]# source /etc/profile
[root@slave1]#
rm -rf /home/tmp
登陆到slave2,把/home/tmp内容追加到/etc/profile里
[root@slave2]# cat /home/tmp >> /etc/profile
[root@slave2]# source /etc/profile
[root@slave2]#
rm -rf /home/tmp
12. 在master上执行格式化
格式化之前最好关闭所有机器的防火墙:service iptables stop
[root@master]# cd bin
[root@master]# ./hdfs namenode -format
13. 启动hadoop
[root@master]#cd ../sbin
[root@master]# ./start-all.sh
14. 验证hadoop启动情况
14.1 在浏览器里输入http://192.168.145.133:50070
14.2 在master机器里输入jps命令有如下进程则表示成功
[root@master]#jps
2309 NameNode
2444 SecondaryNameNode
1892 ResourceManager
2235 jps
14.3 在slave机器里输入jps命令有如下进程则表示成功
[root@slave1]#jps
13324 DataNode
13892 NodeManager
13235 jps
环境:
VM搭建的三个虚拟机,均采用centos-6.8-64.iso
机器IP与名称对应关系如下:
192.168.152.192 master
192.168.152.193 slave1
192.168.152.194 slave2
JDK请自行安装,SSH无密码互相访问可以参考我的文章SSH免密码互相访问,谢谢。
版本:hadoop-2.7.3
1. 配置三台机器的hosts
在master机器上编辑/etc/hosts:
[root@master]#
vim /etc/hosts
删掉localhost所在行,追加以下内容:
192.168.152.192 master
192.168.152.193 slave1
192.168.152.194 slave2
退出保存 !wq
[root@master]#
scp /etc/hosts slave1:/etc #替换slave1的hosts文件
[root@master]#
scp /etc/hosts slave2:/etc #替换slave2的hosts文件
2. 解压hadoop-2.7.3.tar.gz
[root@master]#
mkdir /home/hadoop
[root@master]#
tar zxvf hadoop-2.7.3.tar.gz -C /home/hadoop
会出现一个hadoop-2.7.3文件夹,进入该文件夹
[root@master]#
cd hadoop-2.7.3
创建必要目录
[root@master]#
mkdir tmp
[root@master]#
mkdir logs
[root@master]#
mkdir hdfs
[root@master]#
mkdir hdfs/data
[root@master]#
mkdir hdfs/name
3. 修改配置文件里的JAVA_HOME
3.1 hadoop-env.sh
[root@master]#
vim etc/hadoop/hadoop-env.sh
找到 export JAVA_HOME=${} 行,修改如下:
export JAVA_HOME=/usr/lib/java/jdk1.7.0_79
3.2 yarn-env.sh
[root@master]#
vim etc/hadoop/yarn-env.sh
找到 export JAVA_HOME=${} 行,修改如下:
export JAVA_HOME=/usr/lib/java/jdk1.7.0_79
4. 修改slaves
[root@master]#
vim etc/hadoop/slaves
删除localhost
添加以下几行
slave1
slave2
5. 修改core-site.xml
[root@master]#
vim ect/hadoop/core-site.xml
找到<configuration></configuration>标签对,添加以下内容:
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/hadoop-2.7.3/tmp</value>
</property>
6. 修改hdfs-site.xml
[root@master]#
vim etc/hadoop/hdfs-site.xml
找到<configuration></configuration>标签对,添加以下内容:
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/hadoop-2.7.3/hdfs/data</value>
<final>true</final>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/hadoop-2.7.3/hdfs/name</value>
<final>true</final>
</property>
7. 修改mapred-site.xml
注意./etc/hadoop目录下没有mapred-site.xml,只有mapred-site.xml.template,所以需要复制一份:
[root@master]#
cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
[root@master]#
vim etc/hadoop/mapred-site.xml
找到<configuration></configuration>标签对,添加以下内容:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
8. 修改yarn-site.xml
[root@master]#
vim etc/hadoop/yarn-site.xml
找到<configuration></configuration>标签对,添加以下内容:
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
9. 在slave1和slave2上分别创建hadoop目录
[root@slave1]# mkdir /home/hadoop
[root@slave2]#mkdir /home/hadoop
10. 回到master,远程复制修改好的hadoop-2.7.3文件夹到slave1和slave2上:
[root@master]#
scp -r /home/hadoop/hadoop-2.7.3 slave1:/home/hadoop
[root@master]#
scp -r /home/hadoop/hadoop-2.7.3 slave2:/home/hadoop
11. 配置hadoop环境变量
[root@master]#
vim /etc/profile
追加如下内容:
# set hadoop environment
HADOOP_HOME=/home/hadoop/hadoop-2.7.3
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
HADOOP_LOG_DIR=/home/hadoop/hadoop-2.7.3/logs
YARN_LOG_DIR=$HADOOP_LOG_DIR
export HADOOP_HOME PATH HADOOP_LOG_DIR YARN_LOG_DIR
退出保存 :wq
[root@master]#
source /etc/profile
把/etc/profile文件的末尾6行关于hadoop环境变量内容复制到slave1和slave2上:
[root@master]#
tail -6 /etc/profile >> /home/tmp
[root@master]#
scp /home/tmp slave1:/home
[root@master]#
scp /home/tmp slave2:/home
[root@master]# rm -rf /home/tmp
登陆到slave1,把/home/tmp内容追加到/etc/profile里
[root@slave1]# cat /home/tmp >> /etc/profile
[root@slave1]# source /etc/profile
[root@slave1]#
rm -rf /home/tmp
登陆到slave2,把/home/tmp内容追加到/etc/profile里
[root@slave2]# cat /home/tmp >> /etc/profile
[root@slave2]# source /etc/profile
[root@slave2]#
rm -rf /home/tmp
12. 在master上执行格式化
格式化之前最好关闭所有机器的防火墙:service iptables stop
[root@master]# cd bin
[root@master]# ./hdfs namenode -format
13. 启动hadoop
[root@master]#cd ../sbin
[root@master]# ./start-all.sh
14. 验证hadoop启动情况
14.1 在浏览器里输入http://192.168.145.133:50070
14.2 在master机器里输入jps命令有如下进程则表示成功
[root@master]#jps
2309 NameNode
2444 SecondaryNameNode
1892 ResourceManager
2235 jps
14.3 在slave机器里输入jps命令有如下进程则表示成功
[root@slave1]#jps
13324 DataNode
13892 NodeManager
13235 jps
相关文章推荐
- Hadoop2.7.3+Spark2.1.0完全分布式集群搭建过程
- Hadoop2.7.3完全分布式集群搭建和测试
- Hadoop 2.7.3 完全分布式集群系统搭建
- Hadoop2.7.3完全分布式集群搭建和测试
- 『实践』hadoop2.7.3+Centos6.8+VirtualBox5.1.18搭建hadoop完全分布式集群
- hadoop2.7.3完全分布式集群搭建
- Hadoop2.7.3完全分布式集群搭建和测试
- hadoop2.7.3完全分布式集群搭建
- Hadoop2.7.3完全分布式集群搭建和测试
- Hadoop2.7.3完全分布式集群搭建和测试
- Hadoop2.7.3完全分布式集群搭建和测试
- spark2.1.0完全分布式集群搭建-hadoop2.7.3
- Hadoop2.7.3+Spark2.1.0完全分布式集群搭建过程
- Hadoop2.7.3+Spark2.1.0完全分布式集群搭建过程
- Hadoop2.7.3完全分布式集群搭建
- VM12+CentOS6.5+hadoop2.7.3 搭建hadoop完全分布式集群
- 在VM虚拟机上搭建Hadoop2.7.3+Spark2.1.0完全分布式集群
- Hadoop2.7.3+Spark2.1.0完全分布式集群搭建过程
- Hadoop2.7.3+Spark2.1.0完全分布式集群搭建过程
- hadoop初学入门之二:完全分布式集群搭建