标签:
安装Hadoop教程
目录
二十一、 将Master上的Hadoop目录拷贝到各个Slave机器上
一、Vmware网络模式介绍
参考:http://blog.csdn.net/collection4u/article/details/14127671
二、NAT模式配置
NAT是网络地址转换,是在宿主机和虚拟机之间增加一个地址转换服务,负责外部和虚拟机之间的通讯转接和IP转换。
我们部署Hadoop集群,这里选择NAT模式,各个虚拟机通过NAT使用宿主机的IP来访问外网。
我们的要求是集群中的各个虚拟机有固定的IP、可以访问外网,所以进行如下设置:
1、 Vmware安装后,默认的NAT设置如下:
2、 默认的设置是启动DHCP服务的,NAT会自动给虚拟机分配IP,但是我们需要将各个机器的IP固定下来,所以要取消这个默认设置。
3、 为机器设置一个子网网段,默认是192.168.136网段,我们这里设置为100网段,将来各个虚拟机Ip就为 192.168.100.*。
4、 点击NAT设置按钮,打开对话框,可以修改网关地址和DNS地址。这里我们为NAT指定DNS地址。
5、 网关地址为当前网段里的.2地址,好像是固定的,我们不做修改,先记住网关地址就好了,后面会用到。
第二步、安装Linux操作系统
三、Vmware上安装Linux系统
1、 文件菜单à新建虚拟机
2、 选择经典类型安装,下一步。
3、 安装来源选择下载好的Linux安装iso光盘映像文件,下一步。
4、 安装后指定添加一个操作系统user,这里创建一个全名为hadoop、用户名为hadoop的用户。
5、 命名虚拟机,给虚拟机起个名字,将来显示在Vmware左侧。并选择Linux系统保存在宿主机的哪个目录下,应该一个虚拟机保存在一个目录下,不能多个虚拟机使用一个目录。
6、 指定磁盘容量,是指定分给Linux虚拟机多大的硬盘,默认20G就可以,下一步。
7、 点击自定义硬件,可以查看、修改虚拟机的硬件配置,这里我们不做修改。
8、 点击完成后,就开始安装Linux系统。
9、 安装完成后,Linux系统有两个用户:root和hadoop。
因为Vmware的NAT设置中关闭了DHCP自动分配IP功能,所以Linux还没有IP,需要我们设置网络各个参数。
1、 用root进入Xwindow,右击右上角的网络连接图标,选择修改连接。
2、 网络连接里列出了当前Linux里所有的网卡,这里只有一个网卡System eth0,点击编辑。
3、 配置IP、子网掩码、网关(和NAT设置的一样)、DNS等参数,因为NAT里设置网段为100.*,所以这台机器可以设置为192.168.100.10网关和NAT一致,为192.168.100.2
4、 用ping来检查是否可以连接外网,如下图,已经连接成功。
1、 临时修改hostname
[root@localhost Desktop]# hostname master
这种修改方式,系统重启后就会失效。
2、 永久修改hostname
想永久修改,应该修改配置文件 /etc/sysconfig/network。
命令:[root@centos ~] vim /etc/sysconfig/network
打开文件后,
NETWORKING=yes #使用网络
HOSTNAME=master #设置主机名
命令:[root@centos ~] vim /etc/hosts
添加hosts: 192.168.100.10 master
1、 查看是否已经安装了java JDK。
[root@master Desktop]# java –version
注意:Hadoop机器上的JDK,最好是Oracle的Java JDK,不然会有一些问题,比如可能没有JPS命令。
如果安装了其他版本的JDK,卸载掉。
2、 安装java JDK
(1) 去下载Oracle版本Java JDK:jdk-8u91-linux-x64.rpm
(2) 安装JAVA JDK
[root@master Desktop]# rpm –ivh jdk-8u91-linux-x64.rpm
3、 安装后再次执行 java –version,可以看见已经安装完成,JDK安装在/usr/java/jdk1.8.0_91目录下。
设置JDK的环境变量 JAVA_HOME。需要修改配置文件/etc/profile,追加
export JAVA_HOME="/usr/java/jdk1.8.0_91"
export PATH=$JAVA_HOME/bin:$PATH
修改完毕后,执行 source /etc/profile
第四步、单机Hadoop部署过程
九、Hadoop所用的用户设置
1、 给hadoop用户sudo权限
[root@master ~]# vim /etc/sudoers
设置权限:
root ALL=(ALL) ALL
hadoop ALL=(root) NOPASSWD:ALL
2、 创建存放hadoop文件的目录
[root@master ~]$ sudo mkdir /usr/hadoop
3、 将hadoop文件夹的所有者指定为hadoop用户
[root@master ~]# chown -R hadoop:hadoop /usr/hadoop
1、 复制hadoop-2.5.0.tar.gz到/usr/hadoop目录下。
2、 解压hadoop-2.5.0.tar.gz
[root@master ~]# cd /usr/hadoop
[root@master hadoop]# tar -zxvf hadoop-2.5.0.tar.gz
1、 配置Hadoop环境变量
[root@master hadoop]# vim /etc/profile
追加配置:
export HADOOP_HOME="/usr/hadoop/hadoop-2.5.0"
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
执行:source /etc/profile 使得配置生效
2、 配置 ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh文件
[hadoop@master ~]$ sudo vim ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh
修改HADOOP_CONF_DIR参数为:
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
3、 配置core-site.xml
[hadoop@master ~]$ sudo vim ${HADOOP_HOME}/etc/hadoop/core-site.xml
(1) fs.default.name配置的是HDFS的地址。
(2) hadoop.tmp.dir配置的是Hadoop临时目录,比如HDFS的NameNode数据默认都存放这个目录下,查看*-default.xml等默认配置文件,就可以看到很多依赖${hadoop.tmp.dir}的配置。
创建临时目录:[hadoop@master ~]$ sudo mkdir ${HADOOP_HOME}/hadoop_tmp
1、 配置hdfs-site.xml
[hadoop@master ~]$ sudo vim ${HADOOP_HOME}/etc/hadoop/hdfs-site.xml
dfs.replication配置的是HDFS存储时的备份数量,只有一个节点,所以这里设置为1。
2、 格式化HDFS
[hadoop@master ~]$ hdfs namenode –format
格式化后,查看core-site.xml里hadoop.tmp.dir指定的目录下是否有了dfs目录,如果有,说明格式化成功。
注意:
(1) 格式化时,应该保证当前用户(hadoop)有对${HADOOP_HOME}目录读、写、行权限,最好是目录的所有者,如果不是,可以用命令修改所有者
[root@master /]# chown -R hadoop:hadoop ${HADOOP_HOME}
[root@master /]# chmod 755 -R ${HADOOP_HOME}
(2) 查看NameNode格式化后的目录
[hadoop@master ~]$ ll ${HADOOP_HOME}/hadoop_tmp/dfs/name/current
total 16
-rw-rw-r--. 1 hadoop hadoop 353 May 27 10:45 fsimage_0000000000000000000
-rw-rw-r--. 1 hadoop hadoop 62 May 27 10:45 fsimage_0000000000000000000.md5
-rw-rw-r--. 1 hadoop hadoop 2 May 27 10:45 seen_txid
-rw-rw-r--. 1 hadoop hadoop 206 May 27 10:45 VERSION
fsimage是NameNode元数据在内存满了后,持久化保存到的文件。
fsimage*.md5 是校验文件,用于校验fsimage的完整性。
seen_txid 是hadoop的版本
vession文件里保存:
l namespaceID:NameNode的唯一ID。
l clusterID:集群ID,NameNode和DataNode的集群ID应该一致,表明是一个集群。
#Fri May 27 17:46:48 PDT 2016 namespaceID=1733061610 clusterID=CID-d32df410-6498-4bcd-97a8-7cb7253b3789 cTime=0 storageType=NAME_NODE blockpoolID=BP-188107533-192.168.100.10-1464371112276 layoutVersion=-57 |
3、 启动NameNode
[hadoop@master ~]$ ${HADOOP_HOME}/sbin/hadoop-daemon.sh start namedatanode
4、 启动DataNode
[hadoop@master ~]$ ${HADOOP_HOME}/sbin/hadoop-daemon.sh start datanode
5、 启动SecondaryNameNode
[hadoop@master ~]$ ${HADOOP_HOME}/sbin/hadoop-daemon.sh start secondarynamenode
6、 JPS命令查看是否已经启动成功,有结果就是启动成功了。
[hadoop@master ~]$ jps
2800 DataNode
2932 Jps
2709 NameNode
2888 SecondaryNameNode
7、 Web页面查看HDFS
HDFS的Web页面端口号为50070,通过http://192.168.100.10:50070可以查看。
如果不能访问,看服务器的防火墙是否打开着,学习环境,可以直接把防火墙关闭。
关闭防火墙:
(1) 用root用户登录后,执行[root@master hadoop]# service iptables status 查看防火墙状态
(2) 用[root@master hadoop]# service iptables stop关闭防火墙,这个是临时关闭防火墙,如果要永久关闭防火墙用[root@master hadoop]# chkconfig iptables off关闭,这种需要重启才能生效。
1、 配置mapred-site.xml
默认没有mapred-site.xml文件,但是有个mapred-site.xml.template配置模板文件。复制模板生成mapred-site.xml。
[root@master hadoop]# cp ${HADOOP_HOME}/etc/hadoop/mapred-site.xml.template ${HADOOP_HOME}/etc/hadoop/mapred-site.xml
添加配置如下:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
指定mapreduce运行在yarn框架上。
2、 配置yarn-site.xml
添加配置如下:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
yarn.nodemanager.aux-services配置了yarn的默认混洗方式,选择为mapreduce的默认混洗算法。
3、 启动Resourcemanager
[hadoop@master ~]$ ${HADOOP_HOME}/sbin/yarn-daemon.sh start resourcemanager
4、 启动nodemanager
[hadoop@master ~]$ ${HADOOP_HOME}/sbin/yarn-daemon.sh start nodemanager
5、 查看是否启动成功
[hadoop@master ~]$ jps
2800 DataNode
7170 ResourceManager
2709 NameNode
2888 SecondaryNameNode
7528 Jps
7417 NodeManager
可以看到ResourceManager、NodeManager已经启动成功了。
6、 YARN的Web页面
YARN的Web客户端端口号是8088,通过http://192.168.100.10:8088/可以查看。
[hadoop@master ~]$ ${HADOOP_HOME}/sbin/hadoop-daemon.sh stop namenode
stopping namenode
[hadoop@master ~]$ ${HADOOP_HOME}/sbin/hadoop-daemon.sh stop datanode
stopping datanode
[hadoop@master ~]$ ${HADOOP_HOME}/sbin/yarn-daemon.sh stop resourcemanager
stopping resourcemanager
[hadoop@master ~]$ ${HADOOP_HOME}/sbin/yarn-daemon.sh stop nodemanager
stopping nodemanager
十八、其他机器配置网络、Hostname、host
十九、设置SSH无密码登录
二十、修改Master上的slave文件
二十一、将Master上的Hadoop目录拷贝到各个Slave机器上
参考:http://nickzp.blog.51cto.com/12728/1123735
标签:
原文地址:http://www.cnblogs.com/chybin/p/5604830.html