Hadoop-2.5.1 分布式部署,Centos7
2015-12-04 14:54
639 查看
由于现在需要实际的Hadoop分布式环境以及我当初的一篇伪分布的环境搭建文章不够细致,所以在这里从新写一篇
环境准备:
Centos7
部署节点:
192.168.192.11 master
192.168.192.12 slave1
192.168.192.13 slave2
以下配置内容,大部分在master节点主机上
一、Centos7 环境配置
1、修改主机名
注:查看主机名
2.查看当前用户名并且赋予管理员权限
在
下添加一行
二、设置虚拟机相互联通
这里我就不细说了,大家可以上网找下相关内容,我这里是使用NAT模式。我只说几点我遇到的注意事项
1.设置Vmnet8网卡必须在本机的IP段中,比如
主机为 192.168.14.17
则网卡必须为:192.168.xxx.xxx
2.虚拟机虚拟网络设置时,既要保持与网卡IP段一致,也要注意,子网IP最后一个数字只能为0,比如,192.168.192.0
(这点可能还需要再验证下,但是我出现问题的时候,确实是这样解决的)
三、Hadoop环境搭建
1.安装JDK
1)查看是否有自带JDK
2) 如果有查看JDK信息并卸载自带JDK
javapackages-tools-3.4.1-6.el7_0.noarch
python-javapackages-3.4.1-6.el7_0.noarch
java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
tzdata-java-2015a-1.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
3)安装自带JDK
编辑 /etc/profile
添加如下内容:
生效配置
验证是否安装成功:
2、配置SSH免登录(请在三台虚拟机上分别操作)
1)关闭防火墙
2)生存密钥
3)导入公钥到认证文件中
4)更改.ssh文件夹以及认证文件权限
5)将公钥发送到其它机器上(默认其它机器以执行上述步骤)
master:
slave1:
slave2:
6)拷贝公钥到认证文件中
master:
slave1:
slave2:
至此,三台机器间可以实现免密码登录
3、安装Hadoop-2.5.1
1)解压文件
2)创建相关文件夹,注意所有节点都应该建立相关文件夹
3)修改相关配置文件
配置文件1:hadoop-env.sh
修改JAVA_HOME值 为 /home/hadoop/java/jdk1.7.0_75
配置文件2:yarn-env.sh
修改JAVA_HOME值 为 /home/hadoop/java/jdk1.7.0_75
配置文件3:slaves (这个文件里面保存所有slave节点),默认该文件中存在localhost节点,可去除可不去除
写入:
配置文件4:core-site.xml
配置文件5:hdfs-site.xml
配置文件6:mapred-site.xml
配置文件7:yarn-site.xml
4) 将master的hadoop文件复制到另两个节点中
5)分别修改 /etc/profile
6)格式化 namenode
7)启动hadoop
各节点jps信息
各节点jps信息
8)可以访问http://master:8088 查看应用程序内容
至此,Hadoop-2.5.1 分布式部署完成
参考文章链接:
http://www.aboutyun.com/thread-7684-1-1.html
环境准备:
Centos7
部署节点:
192.168.192.11 master
192.168.192.12 slave1
192.168.192.13 slave2
以下配置内容,大部分在master节点主机上
一、Centos7 环境配置
1、修改主机名
$hostnamectl set-hostname master
注:查看主机名
$hostnamectl
2.查看当前用户名并且赋予管理员权限
$whoami $su root $chmod -v u+w /etc/sudoers
在
root ALL=(ALL) ALL
下添加一行
Hadoop ALL=(ALL) ALL //这一行是添加的
$chmod -v u-w /etc/sudoers
二、设置虚拟机相互联通
这里我就不细说了,大家可以上网找下相关内容,我这里是使用NAT模式。我只说几点我遇到的注意事项
1.设置Vmnet8网卡必须在本机的IP段中,比如
主机为 192.168.14.17
则网卡必须为:192.168.xxx.xxx
2.虚拟机虚拟网络设置时,既要保持与网卡IP段一致,也要注意,子网IP最后一个数字只能为0,比如,192.168.192.0
(这点可能还需要再验证下,但是我出现问题的时候,确实是这样解决的)
三、Hadoop环境搭建
1.安装JDK
1)查看是否有自带JDK
$java -version
2) 如果有查看JDK信息并卸载自带JDK
javapackages-tools-3.4.1-6.el7_0.noarch
python-javapackages-3.4.1-6.el7_0.noarch
java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
tzdata-java-2015a-1.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
$sudo yum -y remove java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64 $sudo yum -y remove java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
3)安装自带JDK
$tar -zxvf jdk-7u75-linux-x64.gz
编辑 /etc/profile
$sudo vi /etc/profile
添加如下内容:
export JAVA_HOME=/home/hadoop/java/jdk1.7.0_75 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin
生效配置
$source /etc/profile
验证是否安装成功:
$java -version java version "1.7.0_75" Java(TM) SE Runtime Environment (build 1.7.0_75-b13) Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)
2、配置SSH免登录(请在三台虚拟机上分别操作)
1)关闭防火墙
2)生存密钥
$ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
3)导入公钥到认证文件中
$cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
4)更改.ssh文件夹以及认证文件权限
$chmod 700 .ssh/ $chmod 600 .ssh/authorized_keys
5)将公钥发送到其它机器上(默认其它机器以执行上述步骤)
master:
$scp authorized_keys hadoop@slave1:~/.ssh/authorized_keys_from_master $scp authorized_keys hadoop@slave2:~/.ssh/authorized_keys_from_master
slave1:
$scp authorized_keys hadoop@master:~/.ssh/authorized_keys_from_slave1 $scp authorized_keys hadoop@slave2:~/.ssh/authorized_keys_from_slave1
slave2:
$scp authorized_keys hadoop@master:~/.ssh/authorized_keys_from_slave2 $scp authorized_keys hadoop@slave1:~/.ssh/authorized_keys_from_slave2
6)拷贝公钥到认证文件中
master:
$cat authorized_keys_from_slave1 >> authorized_keys $cat authorized_keys_from_slave2 >> authorized_keys
slave1:
$cat authorized_keys_from_master >> authorized_keys $cat authorized_keys_from_slave2 >> authorized_keys
slave2:
$cat authorized_keys_from_slave1 >> authorized_keys $cat authorized_keys_from_master >> authorized_keys
至此,三台机器间可以实现免密码登录
3、安装Hadoop-2.5.1
1)解压文件
$tar -zxvf hadoop-2.5.1.tar.gz
2)创建相关文件夹,注意所有节点都应该建立相关文件夹
$mkdir dfs/ $Mkdir dfs/name $Mkdir dfs/data $Mkdir tmp/
3)修改相关配置文件
配置文件1:hadoop-env.sh
修改JAVA_HOME值 为 /home/hadoop/java/jdk1.7.0_75
配置文件2:yarn-env.sh
修改JAVA_HOME值 为 /home/hadoop/java/jdk1.7.0_75
配置文件3:slaves (这个文件里面保存所有slave节点),默认该文件中存在localhost节点,可去除可不去除
写入:
master(localhost改为master) slave1 slave2
配置文件4:core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:8020</name> </property> <property> <name>io.file.buffer.size</name> <value>131072</name> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/home/hadoop/tmp</name> </property> <property> <name>hadoop.proxyuser.master.hosts</name> <value>*</name> </property> <property> <name>hadoop.proxyuser.master.groups</name> <value>*</name> </property> </configuration>
配置文件5:hdfs-site.xml
<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>master:9001</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/hadoop/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/hadoop/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> </configuration>
配置文件6:mapred-site.xml
<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.jobhistroy.webapp.address</name> <value>master:19888</value> </property> </configuration>
配置文件7:yarn-site.xml
<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.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> </configuration>
4) 将master的hadoop文件复制到另两个节点中
$scp -r /home/hadoop/hadoop-2.5.1 hadoop@slave1:~/ $scp -r /home/hadoop/hadoop-2.5.1 hadoop@slave2:~/
5)分别修改 /etc/profile
$sudo vi /etc/profile export HADOOP_HOME=/home/hadoop/hadoop-2.5.1 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
6)格式化 namenode
$hadoop namenode -format
7)启动hadoop
$cd /home/hadoop/hadoop-2.5.1/sbin $./start-dfs.sh
各节点jps信息
Master: 3630 DataNode (因为在slaves 文件中也配置了 localhost 所以这里出现了) 3968 Jps 3514 NameNode 3838 SecondaryNameNode Slave1 和 Slave2: 3253 DataNode 3332 Jps
$./start-yarn.sh
各节点jps信息
Master: 3630 DataNode 4130 NodeManager 4018 ResourceManager 3514 NameNode 4272 Jps 3838 SecondaryNameNode Slave1 和 slave2: 3511 Jps 3253 DataNode 3399 NodeManager
8)可以访问http://master:8088 查看应用程序内容
至此,Hadoop-2.5.1 分布式部署完成
参考文章链接:
http://www.aboutyun.com/thread-7684-1-1.html
相关文章推荐
- 详解HDFS Short Circuit Local Reads
- Centos6 编译安装Python
- Hadoop_2.1.0 MapReduce序列图
- 使用Hadoop搭建现代电信企业架构
- 硬盘安装CentOS 6.2以及添加GRUB启动菜单
- CentOS 6.2实战部署Nginx+MySQL+PHP
- 分布式版本管理git入门指南使用资料汇总及文章推荐
- 单机版搭建Hadoop环境图文教程详解
- CentOS 7系统配置上的变化解析
- CentOS下DB2数据库安装过程详解
- CentOS 6.3下编译安装Ruby 2.0笔记
- C#分布式事务的超时处理实例分析
- Erlang分布式节点中的注册进程使用实例
- 在Centos 5.5 上编译安装mysql 5.5.9
- hadoop常见错误以及处理方法详解
- CentOS 6.5源码安装Erlang教程
- 在CenOS系统下安装和配置Redis数据库的教程
- centos 5.6 升级php到5.3的方法