CentOS下Hadoop伪分布式集群的搭建(超详细)

CentOS下Hadoop伪分布式集群的搭建(超详细),第1张

CentOS下Hadoop伪分布式集群的搭建(超详细)

1、环境准备

​ jdk1.8 下载地址:https://www.oracle.com/java/technologies/downloads/#java8

​ 进入官网如下图所示,选择自己合适的安装包下载即可

​ hadoop安装包 下载地址:https://hadoop.apache.org/releases.html

​ 进入官网如下图所示,选择自己合适的版本下载即可

​ 安装ssh服务

​ 进入服务器中,输入如下命令,查看是否已经安装好ssh服务,若没有,则使用如下命令进行安装:

sudo apt-get install ssh openssh-server

​ 创建ssh-key,这里采用rsa方式,使用如下命令:

ssh-keygen -t rsa -P ""

​ 出现的图形就是密码,接着执行以下命令

cat ~/.ssh/id_rsa.pub >> authorized_keys

最后执行ssh localhost进行测试,成功显示如下

2、环境变量配置

在java和hadoop安装完成之后,接着配置环境变量。首先执行

vim /etc/profile

接着在文件下方配置环境变量即可

export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export HADOOP_HOME=/usr/local/hadoop-2.10.1
export PATH=$PATH:${JAVA_HOME}/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

将JAVA_HOME和HADOOP_HOME替换为自己的安装路径即可,接着运行

source /etc/profile

配置文件生效后,分别运行java -version 和hadoop version查看jdk和hadoop是否安装配置成功,如下图所示

3、配置集群

配置详情可参考https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html

首先进入hadoop安装目录下,然后进入bin/hadoop文件夹下,所有的配置文件都在该文件夹中

配置hadoop.env.sh,将其中的JAVA_HOME修改为自己的。

配置core-site.xml,将如下代码复制进去即可。hadoop.tmp.dir的目录可根据自己的喜好来配置



    fs.defaultFS
    hdfs://localhost:9000




	hadoop.tmp.dir
	/usr/local/hadoop-2.10.1/data/tmp


配置hdfs-site.xml,添加如下代码即可



	dfs.replication
	1

4、启动集群

​ 在hadoop安装目录下执行以下命令。

​ 格式化NameNode(第一次启动格式化就行了,如果没有特殊情况以后都不要再格式化了)

bin/hdfs namenode -format

执行成功,如图所示

​ 启动NameNode

sbin/hadoop-daemon.sh start namenode

启动成功如下所示

启动DataNode

sbin/hadoop-daemon.sh start datanode

启动成功如下所示

5、查看集群是否启动成功

​ 在hadoop安装目录下执行jps命令查看进程,如果NameNode和DataNode启动成功如下图所示

接着在浏览器中可以查看web页面,端口为50070

5、 *** 作集群

​ (1)在HDFS上创建一个input文件夹

bin/hdfs dfs -p /user/myfile/input

​ (2)查看文件夹是否创建成功,执行命令bin/hdfs dfs -ls -R /,结果如下图所示,可以看到已经创建成功

​ (3)在本地创建一个文件,我这边的文件在/usr/local/hadooptest文件夹下创建了一个名为test的文件,文件内容如下

​ (4)运行下面的命令将这个文件上传到上方创建的input文件夹中

bin/hdfs dfs -put /usr/local/hadooptest/test /user/myfile/input

​ (5)运行下面的命令查看文件是否上传成功

bin/hdfs dfs -ls /user/myfile/input

​ 可以看到已经上传成功

​ (6)运行MapReduce程序

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/myfile/input/test  /user/myfile/output

​ 运行完成后,执行bin/hdfs dfs -ls /user/myfile查看在/user/myfile文件夹下生成的output文件夹,如图所示

​ 接下来执行bin/hdfs dfs -ls /user/myfile/output查看output文件夹中有什么东西,如图所示

​ 最后运行bin/hdfs dfs -cat /user/myfile/output/part-r-00000查看执行结果

至此,简单的伪分布式集群搭建完成了。接下来配置yarn

首先配置yarn-env.sh,修改其中的JAVA_HOME,进入hadoop安装目录下执行vim etc/hadoop/yarn-env.sh

接着配置yarn-site.xml,执行vim etc/hadoop/yarn-site.xml,添加如下代码



 		yarn.nodemanager.aux-services
 		mapreduce_shuffle




        yarn.resourcemanager.hostname
        HackerSM

配置mapred-env.sh,修改JAVA_HOME,执行vim etc/hadoop/mapred-env.sh

配置mapred-site.xml.template,执行mv etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml重命名为mapred-site.xml,接着执行vim etc/mapred-site.xml,添加如下代码



		mapreduce.framework.name
		yarn

启动集群(必须保证NameNode和DataNode已经启动)

执行sbin/yarn-daemon.sh start resourcemanager启动ResourceManeger

执行sbin/yarn-daemon.sh start nodemaneger启动NodeManager

执行jps命令查看进程,ResourceManager和NodeManager已经启动

查看yarn的web页面,端口号为8088

测试yarn

首先删除HDFS中的output文件夹,如果没有就不需要删除,这边是因为上面测试wordcount建了一个output文件夹

bin/hdfs dfs -rm -r /user/myfile/output(如果没有output文件夹则不须执行)

执行bin/hdfs dfs -ls -R /查看hdfs中所有的文件夹,结果如下

执行MapReduce程序

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.1.jar wordcount /user/myfile/input /user/myfile/output

可以在yarn的web页面看到已经执行成功

再执行bin/hdfs dfs -cat /user/myfile/output/part-r-00000,可以看到执行结果

至此,yarn配置完成,接下来配置历史服务器

首先配置mapred-site.xml,在该文件中添加如下代码




    mapreduce.jobhistory.address
    HackerSM:10020



    mapreduce.jobhistory.webapp.address
    HackerSM:19888

启动历史服务器

sbin/mr-jobhistory-daemon.sh start historyserver

使用jps查看进程

访问历史服务器web页面,端口号为19888

最后配置日志聚集

首先执行vim etc/hadoop/yarn-site.xml,然后添加如下代码



yarn.log-aggregation-enable
true




yarn.log-aggregation.retain-seconds
604800


开启日志聚集功能需要重新启动ResourceManager、NodeManager和HistoryServer

关闭ResourceManager、NodeManager和HistoryServer,执行如下命令

sbin/yarn-daemon.sh stop resourcemanager
sbin/yarn-daemon.sh stop nodemanager
sbin/mr-jobhistory-daemon.sh stop historyserver

再一次启动ResourceManager、NodeManager和HistoryServer,执行如下命令

sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
sbin/mr-jobhistory-daemon.sh start historyserver

删除HDFS上的output文件夹,如果在HDFS中没有output文件夹,可跳过

bin/hdfs dfs -rm -r /user/myfile/output

最后在执行一遍wordcount程序

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.1.jar wordcount /user/myfile/input /user/myfile/output

可以看到刚刚执行的wordcount程序

点击上图中的Job ID查看运行情况

点击上图中的logs即可查看日志

至此,伪分布式集群已经完全搭建完毕!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5638940.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存