大数据·搭建Hadoop环境

更换JDK信息:(*) 切换环境变量:1)alternatives --install /usr/bin/java java /trainingk1.8.0_171 300
2)alternatives --config java

一、Hadoop安装前的准备工作

1、安装centOS操作系统(参考发的大数据工具中的Linux文件夹下的安装文档)

2、使用下发的大数据工具中的SSH_SFTP工具进入系统中,新建两个目录
	 mkdir /tools       ---->用于存放软件包
	 mkdir /training    ---->用于安装软件

3、安装JDK
	(*) 上传jdk-8u171-linux-x64.tar.gz到tools目录下,然后执行下面的命令进行解压安装
			 tar -zvxf jdk-8u171-linux-x64.tar.gz  -C /tarining/
	(*) 配置环境变量:
			 vi ~/.bash_profile
			 在.bash_profile文件中添加如下信息:
				 export JAVA_HOME=/training/jdk1.8.0_171
				 export JRE_HOME=$JAVA_HOME/jre
				 export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
				 export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin;
	(*) 让环境变量生效
			 source ~/.bash_profile
	(*) 验证jdk是否安装成功
			 java -version
	 
3、关闭防火墙(CentOS7下)
	systemctl stop firewalld.service
	systemctl disable firewalld.service
		
4、配置主机名(如何已经设置,此步骤可以不用设置)
	hostnamectl --static set-hostname niit
	说明:--static 参数代表永久生效 niit表达你希望设置的主机名

二、安装hadoop:

	(1)上传hadoop-2.7.3.tar.gz到tools目录下,然后执行下面的命令进行解压安装
			tar -zvxf hadoop-2.7.3.tar.gz -C /training/
	
	(2)配置环境变量:
			vi ~/.bash_profile
			添加如下信息:
			export HADOOP_HOME=/training/hadoop-2.7.3
			export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
			
	(3)让环境变量生效:
			source ~/.bash_profile
			
	(4)验证是否生效:
			执行:hdfs 或者hadopo 有相关信息出现即可

三、hadoop的三种安装方式

0、首页配置主机名与IP地址的映射关系
	vi /etc/hosts
	在文件的末尾添加类似于
	192.168.91.128 niit这样的格式ip和主机名称选择自己的即可
	
1、本地模式 (特点:没有HDFS,只能进行MapReduce计算,而且只操作Linux上的文件)
	(1)此模式下只需要配置hadoop-env.sh文件即可,修改该文件:
			vi /training/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
	(2)在hadoop-env.sh 文件中找到JAVA_HOME,并进行如下修改
			export JAVA_HOME=/training/jdk1.8.0_171
	(3)运行MapReduce程序进行测试:
		
		 测试前需要创建测试目录和测试文件:
			mkdir ~/input
			vi ~/input/test.txt
			输入如下内容:
			I love Guiyang
			I love Guizhou
			Guiyang is the capital of Guizhou
			保存退出
			进入到:cd /training/hadoop-2.7.3/share/hadoop/mapreduce/目录下
			执行:~/output 不需要事先存在,存在会报错
			hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount ~/input/test.txt ~/output
		 查看结果:
			
			cat ~/output/part-r-0000
			
			MapReduce程序的执行结果会默认按照英文单词的字典顺序进行了排序
	
2、伪分布模式 (特点:具备HDFS全部功能)
	(0)新建一个tmp目录:mkdir /training/hadoop-2.7.3/tmp
	(1)配置免密码登录:
		 执行如下命令:
			(*)ssh-keygen -t rsa
			(*)cd ~/.ssh/
			(*)ssh-copy-id -i id_rsa.pub root@niit04
	(2)进入到/training/hadoop-2.7.3/etc/hadoop目录下
		 cd /training/hadoop-2.7.3/etc/hadoop
		 需要对五个文件进行配置:
		 (*)hadoop-env.sh
		 (*)hdfs-site.xml
		 (*)core-site.xml
		 (*)mapper-site.xml
		 (*)yarn-site.xml
	(3)对(2)中的五个文件进行配置,配置步骤如下:
		 (*)hadoop-env.sh的配置参考本地模式中的(1)(2)两个步骤
		 (*)配置hdfs-site.xml文件:
			vi /training/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
			在hdfs-site.xml文件的<configuration></configuration>之间添加如下信息:
				<property>
				   <name>dfs.replication</name>
				   <value>1</value>
				</property>
				<property>
				   <name>dfs.permissions</name>
				   <value>false</value>
				</property>
		
		(*)配置core-site.xml文件:
			vi /training/hadoop-2.7.3/etc/hadoop/core-site.xml
			在core-site.xml文件的<configuration></configuration>之间添加如下信息:
				<property>
					<name>fs.defaultFS</name>
					<value>hdfs://niit04:9000</value>
				</property>			
				<property>
					<name>hadoop.tmp.dir</name>
					<value>/training/hadoop-2.7.3/tmp</value>
				</property>

		(*)配置mapper-site.xml文件(这个文件事先是不存在的,需要复制一份)
			(1)cp /training/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template /training/hadoop-2.7.3/etc/hadoop/mapred-site.xml
			(2)vi /training/hadoop-2.7.3/etc/hadoop/mapred-site.xml
			(3)在mapper-site.xml文件的<configuration></configuration>之间添加如下信息:
					<property>
						<name>mapreduce.framework.name</name>
						<value>yarn</value>
					</property>
	    (*)配置yarn-site.xml文件:
			vi /training/hadoop-2.7.3/etc/hadoop/yarn-site.xml
			在yarn-site.xml文件的<configuration></configuration>之间添加如下信息:
				<property>
				   <name>yarn.resourcemanager.hostname</name>
				   <value>niit</value>
				</property>
				<property>
				   <name>yarn.nodemanager.aux-services</name>
				   <value>mapreduce_shuffle</value>
				</property>	
	
	(4)格式化:HDFS(NameNode)
			hdfs namenode -format
			成功日志:
				common.Storage: Storage directory /training/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.
	
	(5)启动hadoop环境
			start-all.sh
	(6)验证:
			(1)web界面进行验证
					HDFS:http://niit04:50070
					Yarn:http://niit04:8088
			(2)执行jps命令,看看是否会有如下进程:
					NameNode
					DataNode
					SecondaryNameNode
					ReourceManager
					NodeManager
    (7)如果需要停止,则执行如下操作:
			stop-all.sh
	(8)伪分布模式安装配置已完成

3、全分布模式(需要3台主机,niit01,niit02,niit03,其中niit01是主节点,其他是从节点)
	一、准备工作
		1、所有主机安装jdk
		2、所有主机都需要关闭防火墙
		3、所有主机都需要配置主机名映射关系  vi /etc/hosts
		4、配置免密码登录(配置两两之间的免密码登录)
			所有的机器都需要产生一对密钥:公钥和私钥
			ssh-keygen -t rsa
			所有主机需要执行
			ssh-copy-id -i .ssh/id_rsa.pub root@niit01
			ssh-copy-id -i .ssh/id_rsa.pub root@niit02
			ssh-copy-id -i .ssh/id_rsa.pub root@niit03
			
		5、保证每台机器的时间是一样的
			如果不一样的话,我们在执行MapReduce程序的时候可能会存在问题
			解决方案:
				1)搭建一个时间同步的服务器,网上很多教程可以使用
				2)使用putty工具,可以简单实现这个功能:
					date -s 2018-07-30 后面必须敲一个回车
					
	二、在主节点上进行安装配置(niit01)
		(*)上传hadoop安装包,解决配置环境变量
			  tar -zvxf /tools/hadoop-2.7.3.tar.gz -C /training/
			  同时设置:niit01 niit02 niit03
				 HADOOP_HOME=/training/hadoop-2.7.3
				 export HADOOP_HOME
				 PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
				 epxort PATH
				 
		(*)mkdir /training/hadoop-2.7.3/tmp
		
		(*)修改配置文件
			 vi /training/hadoop-2.7.3/etc/hadoop/hadoop-env.sh  设置JDK的路径-参考伪分布模式
			 vi /training/hadoop-2.7.3/etc/hadoop/hdfs-site.xml  参考伪分布环境
			 添加如下信息:
				<property>
				   <name>dfs.replication</name>
				   <value>2</value>
				</property>
				<property>
				   <name>dfs.permissions</name>
				   <value>false</value>
				</property>
				
			 vi /training/hadoop-2.7.3/etc/hadoop/core-site.xml
			 添加如下信息:
				<property>
					<name>fs.defaultFS</name>
					<value>hdfs://niit01:9000</value>
				</property>			
				<property>
					<name>hadoop.tmp.dir</name>
					<value>/training/hadoop-2.7.3/tmp</value>
				</property>
				
			 vi /training/hadoop-2.7.3/etc/hadoop/mapper-site.xml
				添加如下信息:
				<property>
					<name>mapreduce.framework.name</name>
					<value>yarn</value>
				</property>
				
			 vi /training/hadoop-2.7.3/etc/hadoop/yarn-site.xml:
					添加如下信息:
					<!--Yarn的主节点RM的位置-->
					<property>
					   <name>yarn.resourcemanager.hostname</name>
					   <value>niit01</value>
					</property>

					<!--MapReduce运行方式:shuffle洗牌-->
					<property>
					   <name>yarn.nodemanager.aux-services</name>
					   <value>mapreduce_shuffle</value>
					</property>	
			vi /training/hadoop-2.7.3/etc/hadoop/slaves:
				添加如下信息:
				niit02
				niit03
		(*)格式化nameNode
				hdfs namenode -format
				日志:
				common.Storage: Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted.
		(*)将niit01上的hadoop环境复制到niit02 niit03
				scp -r hadoop-2.7.3/ root@niit02:/training/
				scp -r hadoop-2.7.3/ root@niit03:/training/
		(*)在主节点(niit01)上启动hdfs
			start-all.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值