Ubuntu下搭建伪分布

2021/10/24 7:09:55

本文主要是介绍Ubuntu下搭建伪分布,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Ubuntu下Hadoop伪分布搭建

Hadoop的三种集群环境

1、单机版环境

 -默认模式。

  -不对配置文件进行修改。

  -使用本地文件系统,而不是分布式文件系统。

  -Hadoop不会启动NameNode、DataNode、ResourceManager、NodeManager等守护进程,Map()和Reduce()任务作为同一个进程的不同部分来执行的。

  -用于对MapReduce程序的逻辑进行调试,确保程序的正确。

2、伪分布式环境

-在一台主机模拟多主机。

  -Hadoop启动NameNode、DataNode、ResourceManager、NodeManager这些守护进程都在同一台机器上运行,是相互独立的Java进程。

  -在这种模式下,Hadoop使用的是分布式文件系统,各个作业也是由ResourceManager服务,来管理的独立进程。在单机模式之上增加了代码调试功能,允许检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。类似于完全分布式模式,因此,这种模式常用来开发测试Hadoop程序的执行是否正确。

  -修改5个配置文件:core-site.xml(Hadoop集群的特性,作用于全部进程及客户端)、hdfs-site.xml(配置HDFS集群的工作属性)、mapred-site.xml(配置MapReduce集群的属性)、yarn-site.xml(简单配置MapReduce)、hadoop-env.sh(配置java环境变量)

  -格式化文件系统

3、完全式环境

-Hadoop的守护进程运行在由多台主机搭建的集群上,是真正的生产环境。

  -在所有的主机上安装JDK和Hadoop,组成相互连通的网络。

  -在主机间设置SSH免密码登录,把各从节点生成的公钥添加到主节点的信任列表。

  -修改7个配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml,yarn-site.xml、hadoop-env.sh、yarn-env.sh指定NameNode和ResourceManager的位置和端口,设置文件的副本等参数

  -格式化文件系统

安装前环境准备

1、我使用的是Ubuntu16.04的版本

2、使用远程连接工具上传Hadoop-2.4.1的tar以及jdk-7u65的Linux的tar包

3、Ubuntu可以正常连接外网

设置ssh免密登录

sudo apt-get install openssh-server   #安装SSH server
ssh localhost                         #登陆SSH,第一次登陆输入yes
exit                                  #退出登录的ssh localhost
cd ~/.ssh/                            #如果没法进入该目录,执行一次ssh localhost
ssh-keygen -t rsa                     #使用指令后需要连续三次回车

cat ./id_rsa.pub >> ./authorized_keys #加入授权
ssh localhost                         #此时已不需密码即可登录localhost,如果失败则可以搜索SSH免密码登录来寻求答案

安装java、Hadoop,配置环境变量

在上传安装包的当前目录下解压到指定目录

tar -zxvf jdk-(Tab键补齐) -C /opt/software        #-C后面跟上解压的指定目录
tar -axvf hadoop0-(Tab键补齐) -C /opt/software    #如果Tab不了,可以切换到root权限试试

#在software目录下
mv jdk------ jdk          #将安装解压后jdk重命名,方便配置环境变量时不用写一大串
mv hadoop--- hadoop       #重命名Hadoop

我是在系统变量/etc/profile中进行配置,也可以在用户变量环境中进行配置,使用vi进行编辑(使用不了可以使用apt-get isntall vim下载)

vi /etx/profile

在最底部进行配置

#java env
export JAVA_HOME=/opt/software/jdk                                      #路径是你解压后的位置
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#hadoop env
export HADOOP_HOME=/opt/software/hadoop                                 #路径是你加压后的位置 
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH      
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

修改Hadoop的配置文件

Hadoop可修改的配置文件有7个,但伪分布修改3个(Hadoop-env.sh、core-site.xml、hdfs-site.xml)即可

#修改hadoop-env.sh的环境变量
export JAVA_HOME={XXXX}     #将{xxxx}写成java加压后的绝对路径  
#修改 core-site.xml 
		<property>
			<name>fs.defaultFS</name>
			<value>hdfs://localhost:9000</value>
		</property>
		<property>
			<name>hadoop.tmp.dir</name>
			<value>file:/opt/software/hadoop/tmp</value>
		</property>
#xxxx代表你当前的主机名,伪分布可用localhost  0000代表临时文件的路径,只需写出Hadoop的解压路径后的/tmp
#修改hdfs-site.xml
        <property>
             <name>dfs.replication</name>
             <value>1</value>
        </property>
        <property>
             <name>dfs.namenode.name.dir</name>
             <value>file:/opt/software/hadoop/tmp/dfs/name</value>
        </property>
        <property>
             <name>dfs.datanode.data.dir</name>
             <value>file:/opt/software/hadoop/tmp/dfs/data</value>
        </property>
#上面的数字代表你部署的节点,伪分布一个。xxxx是指Hadoop的解压路径
#添加mapred-site.xml (注意移除.template)
<configuration>
		<property>
			<name>mapreduce.framework.name</name>
			<value>yarn</value>
		</property>
</configuration>
#修改yarn-site.xml
		<property>
			<name>yarn.resourcemanager.hostname</name>
			<value>localhost</value>
		</property>
#xxxx代表当前主机名,伪分布可以是localhost

格式化文件,启动集群

格式化文件

 ./bin/hdfs namenode -format  

启动所有集群,Hadoop的bin目录下

start-all.sh
jps                          #查看守护进程
http://localhost:50070       #网址访问hdfs监控界面
http://localhost:8088        #网址访问yarn监控界面
#如果访问不了可以查看防火墙是否关闭,或者使用ip地址+端口进行访问

关闭所有集群

stop-all.sh


这篇关于Ubuntu下搭建伪分布的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程