全网最详细的全分布式Hadoop环境搭建,亲测有效,搭不起来来打我

网友投稿 290 2022-11-18

全网最详细的全分布式Hadoop环境搭建,亲测有效,搭不起来来打我

基础环境搭建

准备三台服务器,此处使用aliyun ECS 2核4G 三台

修改hostname,此处改为hadoop01,hadoop02,hadoop03,修改之后需要重新启动生效

vi /etc/hostname

修改etc文件

vi /etc/hosts//将下边内容加入文件中172.20.175.6 hadoop01172.20.175.7 hadoop02172.20.175.8 hadoop03// 分别ping一下其他三台,验证是否生效ping hadoop01ping hadoop02ping hadoop03

下载Hadoop和JDK

wget --no-check-certificatejdk官网自行下载

解压

tar -zxvf jdk-8u271-linux-x64.tar.gztar -zxvf hadoop-2.10.2.tar.gz

增加jdk和Hadoop环境变量

vi /etc/profile追加如下内容:HADOOP_HOME=/opt/hadoop-2.10.2JAVA_HOME=/opt/jdk1.8.0_271JRE_HOME=/opt/jdk1.8.0_271/jrePATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libexport JAVA_HOME JRE_HOME PATH CLASSPATH//使修改立即生效source /etc/profile echo $JAVA_HOMEjavac -version

配置免密登录,并将自己的授权文件分发给其他两台

ssh-keygen -t rsa //连续按三次回车ssh-copy-id -i ~/.ssh/id_rsa.pub root@服务器IP //复制到其他服务器cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys //将自己的授权文件给自己chmod 0600 ~/.ssh/authorized_keys

Hadoop配置

修改​​/opt/module/hadoop-2.7.2/etc/hadoop​​文件夹中的配置文件

fs.defaultFS hdfs://hadoop01:9000 hadoop.tmp.dir /opt/module/hadoop-2.7.2/data/tmp

hdfs-site.xml

dfs.replication 3 dfs.namenode.secondary. hadoop03:50090

slaves

#删掉了localhost,加入以下内容hadoop01hadoop02hadoop03

yarn-site.xml

yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.hostname hadoop01

mapred-site.xml

mapreduce.framework.name yarn

可能找不到 JAVA_HOME

修改hadoop-env.sh (我的hadoop安装在/opt/hadoop-2.10.2/etc/hadoop/hadoop-env.sh 目录下)

#export JAVA_HOME=${JAVA_HOME} //原来export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_121 //修改后

分发到其他两台

scp -r /opt/module/hadoop-2.7.2/etc/hadoop hadoop02:/opt/module/hadoop-2.7.2/etc/scp -r /opt/module/hadoop-2.7.2/etc/hadoop hadoop03:/opt/module/hadoop-2.7.2/etc/

集群启动

首次启动集群,需要格式化namenode

hdfs namenode -format

在Hadoop01中启动HDFS

sbin/start-dfs.sh

在在Hadoop01中启动yarn

sbin/start-yarn.sh

jps查看进程

[root@hadoop01 hadoop-2.10.2]# jps8305 NameNode //hdfs8819 NodeManager8713 ResourceManager9163 Jps8447 DataNode[root@hadoop02 scala-2.13.8]# jps3395 DataNode3512 NodeManager3660 Jps[root@hadoop03 scala-2.13.8]# jps4339 Jps4186 NodeManager3996 DataNode4108 SecondaryNameNode

在阿里云ECS控制台中将Hadoop01服务器的​​安全组规则​​中开放50070端口h和8088

在HDFS启动的时候,访问​​(我的hadoop安装在/usr/local/ 目录下)

#export JAVA_HOME=${JAVA_HOME} //原来export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_121 //修改后

多次format导致dataNode启动失败

rm -rf /tmp/hadoop-root/*hdfs namenode -format

​​https://daisine.github.io/hadoops/​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Hadoop, Hadoop涉及到的一些常见概念(分布式与集群、HDFS、MapReduce等),Hadoop怎么用?
下一篇:共模电感听过很多次,但是什么原理你们真的懂吗?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~