Hadoop集群环境搭建之伪分布式搭建流程

  1. 关防火墙

1.首先关闭window防火墙
service iptables status 查看Linux 防火墙状态
service iptables stop 关闭Linux防火墙
chkconfig iptables off 永久关闭

  1. 设置静态Ip地址

vi /etc/sysconfig/network-scripts/ifcfg-eth0
ping ip 连接 window ip地址

  1. 修改HostName

hostname hadoop (临时)
vi /etc/sysconfig/network (永久)
修改以后 重启网卡 reboot   注: 在虚拟机中重启

  1. IP与HostName 绑定

设置network文件hosts 映射文件
配置映射 : vim /etc/hosts
ip 名字 别名 如:127.0.0.1 hadoop

  1. 安装jdk hadoop

1.先通过SSH Secure Shell Client 上传tar.gz压缩包到 Downloads
2.cd ~ 到根目录
3.ls 查看tar压缩包是否存在
4.cd Downloads/
5.tar -zxvf jdk压缩包
6.vim /etc/profile 显示编译配置文件
7.export JAVA_HOME=/root/Downloads/jdk1.7.0_79 export PATH=$PATH:$JAVA_HOME/bin export HADOOP_HOME=/root/Downloads/hadoop-2.6.5 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
8.source /etc/profile 启动配置文件
9.查看是否配置成功 java | hadoop 输出数据则代表配置成功

  1. 配置** ssh

1.cd /bin 转到bin配置文件下
2.ssh-****** -t rsa 生成** 回车键
3.cd ~ 回到超级用户家目录
4.ls -la 显示文件及隐藏文件
5.cd .ssh 到.ssh根目录下
6.ls 显示文件内容
7.当**是空的话 ssh文件是空的
8.cat 查看内容钥匙 id_rsa 私有化锁 id_rsa.pub 公有钥匙
9.cd ~ 回到家目录
10.ssh-copy-id ip地址 (如果在搭建全局集群的时候,写映射 主机别名就可以了)复制钥匙
11.ifconfig 查看网卡
12.ssh [email protected]地址 另一台机器的ip 进入到其他虚拟机
13.改配置文件 映射 vim /etc/hosts
之后进入 i 输入ip地址 别名 保存退出

  1. 修改配置文件($HADOOP_HOME压缩包/etc/hadoop/目录下)

1.cd ~
2. ls
3.找到存储包目录 如Downloads
4.cd Downloads/
5.ls
6.cd hadoop-2.6.5 (hadoop解压以后包)
7.ls
8.cd etc
9.ls
10.cd hadoop
11.ls
修改以下配置文件
hadoop-env.sh
core-site.xml
hdfs-site.xml
Mapred-site.xml
yarn-site.xml

  1. 配置文件 hadoop-env.sh
export JAVA_HOME=/root/Downloads/jdk1.7.0_79
 export HADOOP_HOME=/root/Downloads/hadoop-2.6.5

Hadoop集群环境搭建之伪分布式搭建流程
9. 配置文件 core-site.xml (namenode 服务的)

<configuration>	
		<property>		 — — 指定NameNode主机名与端口号
			<name>fs.defaulFS</name>
			<value>hdfs://hadoop:8020</value>
		</property>
		<property>
			<name>hadoop.tmp.dir</name>
			<value>/hadoop/tmpdir</value>
		</property>
	</configuration>

Hadoop集群环境搭建之伪分布式搭建流程
namenode 的主机名和端口号 : 主机名是自己的 比如 : 9000
hadoop 集群格式化之后形成的
(name 是标准的,value路径 :最好不要写在/root下 ,这个是fsimage和edits 生成文件的路径)

  1. 配置文件 hdfs-site.xml --设置HDFS的副本数 (默认的是3)
<property>		 — — 设置HDFS的副本数
        	<name>dfs.replication</name>
        	<value>1</value>
    </property>

Hadoop集群环境搭建之伪分布式搭建流程

  1. 配置文件 yarn-site.xml (服务于yarn) mr 运行在yarn上
<property>
        	<name>yarn.nodemanager.aux-services</name>
        	<value>mapreduce_shuffle</value>
    </property>

Hadoop集群环境搭建之伪分布式搭建流程
Hdfs:分布式的 nodemanager (namenode) resourceManager(datenode)
一主多从的关系

  1. 配置文件 mapred-site.xml mr---->yarn
  <property>	 	        		
	<name>mapreduce.framework.name</name>
        	<value>yarn</value>
    </property>

Hadoop集群环境搭建之伪分布式搭建流程

  1. 集群进行格式化 format
启动HDFS :

格式化 NameNode(只需运行一次)
$ bin/hdfs namenode -format
启动 NameNode
$ sbin/hadoop-daemon.sh start namenode
启动 DataNode
$ sbin/hadoop-daemon.sh start datanode
HDFS 监控WEB页面
http://master:50070/
启动 SecondaryNameNode
$ sbin/hadoop-daemon.sh start secondarynamenode
SecondaryNameNode 监控WEB页面
http://master:50090/

启动YARN:

启动 ResourceManager
$ sbin/yarn-daemon.sh start resourcemanager
启动 NodeManager
$ sbin/yarn-daemon.sh start nodemanager
查看启动守护进程
$ jps
查看日志
yarn-hadoop-resourcemanager-hadoop-yarn.dragon.org.log
yarn-hadoop-nodemanager-hadoop-yarn.dragon.org.log
登陆监控WEB页面
http://master:8088/
http://master:8042/

  1. 启动集群

start-dfs.sh

  1. 常见问题

1.Jps 看不到东西
2.Web访问 50070和8088看不到
3.运行yarn jar ----- 报错
4.Linux文件目录系统和Hadoop目录系统不熟悉

  1. 解决方法

1.Jps看不到 需要查:hadoop目录下的各个配置文件是否有问题(尤其注意env.sh的java目录),主机环境问题(主机名称文件和映射文件),java是否有问题,
如果是集群考虑是否是网络问题
2.查看jps各个组件服务是否都起来了,虚拟机本地先试下,没有问题的话,可能是网络问题。
3.可能是mapred-site.xml和yarn-site.xml 配置有问题,具体需要查看logs日志

  1. 建议-经验

1.经常使用ping命令 检查通讯
2.脑中有对那些文件做的那些配置有概念,这样才能快速找到问题(这个需要时间的累积)
3.想不到问题的时候翻日志
4.还找不到只能仔细的对所有配过的文件配置做逐字的审核

日志文件

启动日志文件目录 $HADOOP_HOME/logs
分析日志文件的格式 【log】和【out】
.log:通过log4j记录的,记录大部分应用程序的日志信息
.out:记录标准输出和标准错误日志,少量记录
日志文件的命名规则
【框架名称-用户名-进程名-主机名-日志格式后缀】
Hadoop集群环境搭建之伪分布式搭建流程

Hadoop启动方式 共三种

1.无脑启动 --不常用
Start-all.sh/Stop-all.sh

2.安装大模块启动 —常用
Start-dfs.sh
Start-yarn.sh

3.安装小模块一个一个启动 --原始方法
hadoop-daemon.sh start namenode
hadoop-daemons.sh start datanode
hadoop-daemon.sh start secondarynamenode

yarn-daemon.sh start resourcemanager
yarn-daemons.sh start nodemanager
mr-jobhistory-daemon.sh start historyserver

总结:

start-all.sh ----start-dfs.sh and start-yarn.sh
start-dfs.shhadoop-daemons.sh 5个
start-yarn.shyarn-daemons.sh 2个
hadoop-daemons.sh --hadoop-env.sh
hadoop-env.sh 设置大量的环境变量 给hadoop使用

Hadoop启动流程
1.读取hadoop-env.sh
2.读取core-default.xml、hdfs-default.xml 、mapred-default.xml 、yarn-default.xml  四个默认文件
3.读取core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves 五个用户自定义文件
4.依次启动hadoop服务(运行sbin下的start-dfs.sh和start-yarn.sh脚本)