原生 hadoop安装

日萌社

人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)


1.hadoop 安装包下载:http://archive.apache.org/dist/hadoop/core/
2.安装hadoop
	1.tar zxvf hadoop-2.8.3.tar.gz -C /root/
	  mv hadoop-2.8.3 hadoop
 
	2.hadoop-env.sh 
		1.cd /root/hadoop/etc/hadoop
		2.vim hadoop-env.sh
		3.hadoop-env.sh 修改如下
			文件中设置的是 Hadoop 运行时需要的环境变量。 
			JAVA_HOME是必须设置的,即使我们当前的系统中设置了 JAVA_HOME,它也是不认识的,因为 Hadoop 即使是在本机上执行,
			它也是把当前的执行环境当成远程服务器。 
			修改第25行:JAVA_HOME:export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera

	3.core-site.xml
		1.cd /root/hadoop/etc/hadoop
		2.vim core-site.xml 修改如下:
			<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的主节点(NameNode)的IP地址192.168.189.200 或 主机名node1-->
			<property>
				<name>fs.defaultFS</name>
				<value>hdfs://node1:9000</value>
			</property>
			<!-- 指定hadoop运行时产生文件的存储目录,默认/tmp/hadoop-${user.name} 这个目录非常重要,且不用自己创建,初始化的时候会自动创建 -->
			<property>
				<name>hadoop.tmp.dir</name>
				<value>/root/hadoopData</value>
			</property>
			<!--  开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 -->
			<property>
				<name>fs.trash.interval</name>
				<value>10080</value>
			</property>

	4.hdfs-site.xml 
		1.cd /root/hadoop/etc/hadoop
		2.vim hdfs-site.xml 修改如下:
			<!-- 指定HDFS副本的数量 默认的为3 -->
			<property> 
				<name>dfs.replication</name> 
				<value>2</value> 
			</property> 

			<!-- SecondaryNameNode(第二的NameNode)所在的第二台linux的IP地址192.168.189.201 或主机名node2 和 端口--> 
			<property> 
				<name>dfs.namenode.secondary.http-address</name> 
				<value>node2:50090</value> 
			</property> 

	5.mapred-site.xml 	
		1.cd /root/hadoop/etc/hadoop
		2.mv mapred-site.xml.template mapred-site.xml
		3.vim mapred-site.xml 修改如下:
			<!-- 指定 MapReduce 运行时框架,这里指定在 yarn 上,默认是 local本地模式集群,所以此处需要修改为 yarn集群 --> 
			<property>
				<name>mapreduce.framework.name</name> 
				<value>yarn</value> 
			</property>

	6.yarn-site.xml 
		1.cd /root/hadoop/etc/hadoop
		2.vim yarn-site.xml 修改如下:
			<!-- 指定 YARN 的主节点(ResourceManager)所在的第一台Linux的IP地址192.168.189.200 或 主机名node1 --> 
			<property> 
				<name>yarn.resourcemanager.hostname</name> 
				<value>node1</value> 
			</property> 

			<!-- NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序默认值:"" --> 
			<property> 
				<name>yarn.nodemanager.aux-services</name> 
				<value>mapreduce_shuffle</value> 
			</property>

	7.修改 $HADOOP_HOME/etc/hadoop目录下的 slaves文件:slaves 文件里面记录的是集群主机名
		1.cd /root/hadoop/etc/hadoop
		2.vim slaves 
			删除 slaves文件中的信息localhost,添加集群中的所有主机名如下:
				node1
				node2
				node3

	8.配置Hadoop相关的 环境变量 
		1.编辑环境变量的profile配置文件: vim /etc/profile 
		2.profile配置文件末尾添加如下配置信息:
			JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
			CLASSPATH=.:$JAVA_HOME/lib/tools.jar
			HADOOP_HOME=/root/hadoop(hadoop目录的绝对路径)
			PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
			export JAVA_HOME CLASSPATH PATH
		3.保存配置文件,重新加载配置文件:source /etc/profile

	9.把 /root目录下的 hadoop文件夹  推送给第二台、第三台linux:
		scp -r /root/hadoop root@node2:/root
		scp -r /root/hadoop root@node3:/root

	  把 /etc目录下的 profile文件 推送给第二台、第三台linux的/etc目录下:
		scp -r /etc/profile root@node2:/etc	重新加载配置文件:source /etc/profile
		scp -r /etc/profile root@node3:/etc	重新加载配置文件:source /etc/profile

3.Hadoop 集群启动、初体验 
	1.格式化namenode(一定要在namenode的节点机器上格式化)
		本质是对namenode进行初始化,两个命令都可,一定要在namenode的节点机器上格式化,格式化的时候就会创建 hadoop临时目录。
		即格式化后会在根据core-site.xml中的 hadoop.tmp.dir 所配置 /root/hadoopData 生成目录。
  		同 core-site.xml 的 hadoop.tmp.dir,如果需要再次格式化,需要把每台服务器的 hadoop.tmp.dir 指定的数据文件夹删除。
	  		格式一:hdfs namenode -format
	  		格式二:hadoop namenode -format

	2.单节点逐个启动 
		1.在主节点上使用以下命令启动 HDFS NameNode:hadoop-daemon.sh start namenode 
		2.在每个从节点上使用以下命令启动 HDFS DataNode:hadoop-daemon.sh start datanode 
		3.在主节点上使用以下命令启动 YARN ResourceManager:yarn-daemon.sh start resourcemanager 
		4.在每个从节点上使用以下命令启动 YARN nodemanager:yarn-daemon.sh start nodemanager 
		5.以上脚本位于$HADOOP_PREFIX/sbin/目录下。 如果想要停止某个节点上某个角色,只需要把命令中的 start 改为 stop 即可。

	3.脚本一键启动(推荐) 
		如果配置了 etc/hadoop/slaves 和 ssh 免密登录,则可以使用程序脚本启动所有 Hadoop 两个集群的相关进程,在主节点所设定的机器上执行。 
			1.启动 hdfs 集群:(在主节点的机器上执行)
				cd /root/hadoop/sbin	
				./start-dfs.sh 

			2.启动yarn集群:(在主节点的机器上执行)
				cd /root/hadoop/sbin 
				./start-yarn.sh 

			3.停止 hdfs 集群:
				cd /root/hadoop/sbin 
				./stop-dfs.sh
			4.停止 yarn 集群:
				cd /root/hadoop/sbin 
				./stop-yarn.sh

	4.验证是否启动成功,使用jps命令验证

	5.集群 web-ui 
		一旦 Hadoop 集群启动并运行,可以通过 web-ui 进行集群查看,如下所述:  
			NameNode(HDFS管理界面):192.168.189.200:50070 或 node1:50070 
			ResourceManager(MR管理界面):http://192.168.189.200:8088 或 node1:8088 
	
	6.可在C:\Windows\System32\drivers\etc 配置如下信息:
		192.168.189.200 node1
		192.168.189.201 node2
		192.168.189.202 node3

	7.运行 mapreduce 程序 
		在 Hadoop 安装包的 /root/hadoop/share/hadoop/mapreduce 下有官方自带的 mapreduce 程序。我们可以使用如下的命令进行运行测试。 
		示例程序 jar:hadoop-mapreduce-examples-2.8.3.jar 
		计算圆周率:
			cd /root/hadoop/share/hadoop/mapreduce
			hadoop jar hadoop-mapreduce-examples-2.8.3.jar pi 20 50 
		关于圆周率的估算,感兴趣的可以查询资料 Monte Carlo 方法来计算 Pi 值。

4.安全模式:
	安全模式是HDFS所处的一种特殊状态,在这种状态下,文件系统只接受读数据请求,而不接受删除、修改等变更请求。
	在NameNode主节点启动时,HDFS首先进入安全模式,DataNode在启动的时候会向namenode汇报可用的block等状态,当整个系统达到安全标准时,HDFS自动离开安全模式。
	如果HDFS出于安全模式下,则文件block不能进行任何的副本复制操作,因此达到最小的副本数量要求是基于datanode启动时的状态来判定的,
	启动时不会再做任何复制(从而达到最小副本数量要求),hdfs集群刚启动的时候,默认30S钟的时间是出于安全期的,
	只有过了30S之后,集群脱离了安全期,然后才可以对集群进行操作 hdfs dfsadmin -safemode

6.查看日志信息:/root/hadoop/logs											
															
7.列出 hadoop 中运行的 程序 
	1.hadoop job -list  
	2.使用 hadoop命令文件的 绝对路径:/root/hadoop/bin/hadoop job -list

8.停止掉 hadoop中运行的程序:													
	1.hadoop job -kill <jobID> 
	2.使用 hadoop命令文件的 绝对路径:/root/hadoop/bin/hadoop job -list

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

あずにゃん

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值