原生 hadoop安装

时间: 2023-07-09 admin 互联网

原生 hadoop安装

原生 hadoop安装

日萌社

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


1.hadoop 安装包下载:/
2.安装hadoop1.tar zxvf hadoop-2.8.3.tar.gz -C /root/mv hadoop-2.8.3 hadoop2.hadoop-env.sh 1.cd /root/hadoop/etc/hadoop2.vim hadoop-env.sh3.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.xml1.cd /root/hadoop/etc/hadoop2.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/hadoop2.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/hadoop2.mv mapred-site.xml.template mapred-site.xml3.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/hadoop2.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/hadoop2.vim slaves 删除 slaves文件中的信息localhost,添加集群中的所有主机名如下:node1node2node3

	8.配置Hadoop相关的 环境变量 1.编辑环境变量的profile配置文件: vim /etc/profile 2.profile配置文件末尾添加如下配置信息:JAVA_HOME=/usr/java/jdk1.8.0_181-clouderaCLASSPATH=.:$JAVA_HOME/lib/tools.jarHADOOP_HOME=/root/hadoop(hadoop目录的绝对路径)PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbinexport JAVA_HOME CLASSPATH PATH3.保存配置文件,重新加载配置文件:source /etc/profile9.把 /root目录下的 hadoop文件夹  推送给第二台、第三台linux:scp -r /root/hadoop root@node2:/rootscp -r /root/hadoop root@node3:/root把 /etc目录下的 profile文件 推送给第二台、第三台linux的/etc目录下:scp -r /etc/profile root@node2:/etc	重新加载配置文件:source /etc/profilescp -r /etc/profile root@node3:/etc	重新加载配置文件:source /etc/profile3.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.sh4.停止 yarn 集群:cd /root/hadoop/sbin ./stop-yarn.sh4.验证是否启动成功,使用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 node1192.168.189.201 node2192.168.189.202 node37.运行 mapreduce 程序 在 Hadoop 安装包的 /root/hadoop/share/hadoop/mapreduce 下有官方自带的 mapreduce 程序。我们可以使用如下的命令进行运行测试。 示例程序 jar:hadoop-mapreduce-examples-2.8.3.jar 计算圆周率:cd /root/hadoop/share/hadoop/mapreducehadoop 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