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即可查看日志
至此,伪分布式集群已经完全搭建完毕!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)