单节点伪分布式Hadoop安装

时间:2022-08-08 04:49:03

问题导读

  1. 从本文部署实际部署,总结本地模式、伪分布、分布式的区别是什么?

  2. 单机是否是伪分布?

  3. 本地模式是否可以运行mapreduce?

由于hadoop安装方式有三种,并且三种安装方式都可以在前面的基础上继续配置,分别是:

  • 本地模式
  • 伪分布
  • 分布式

准备

创建用户组

groupadd hadoop添加一个组
useradd hadoop -g hadoop添加用户


安装jdk1.8

参考linux中JDK的安装方法和配置

* 安装完之后不要忘了将所有者设置为hadoop*
使用命令chown -R hadoop:hadoop java/


安装ssh

sudo apt-get install ssh

配置可以免密码登陆本机

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

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

这条命令完成后,会在当前文件夹下面的.ssh文件夹下创建id_dsa和id_dsa.pub两个文件,这是SSH的一对私钥和公钥,把id_dsa.pub(公钥)追加到授权的key中去。

关于这两个命令的详细解释可参考云技术基础:集群搭建SSH的作用及这些命令的含义

输入ssh localhost,显示登陆成功信息。


安装rsync

sudo apt-get install rsync

修改网卡:

注释掉127.0.1.1 ubuntu

添加新的映射

10.0.0.81 ubuntu


安装Hadoop

参考Hadoop官方文档中文版

下载hadoop

地址是hadoop2.7.2官方下载地址

解压到/usr目录下面


设置hadoop环境变量

使用nano /etc/profile命令编辑添加如下内容:

export HADOOP_HOME=/usr/hadoop/hadoop-2.7.2

同时把”PATH”改为

export PATH="$JAVA_HOME/bin:$JAVA_HOME/jre/bin:HADOOP_HOME/bin:$PATH"

现在profile文件的内容为:

export JAVA_HOME=/usr/lib/jvm/java8
export CLASSPATH=.:${JAVA_HOME}/lib:${JAVA_HOME}/jre/lib:CLASSPATH
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.2
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:HADOOP_HOME/bin:$PATH

同样也要执行source /etc/profile使配置文件生效。


更改文件权限

为了以后操作/usr/hadoop文件夹里面的文件方便,我们将其所有者改为hadoop

sudo chown -R hadoop:hadoop hadoop/


配置Hadoop伪分布式模式

我这里的全路径是:/usr/hadoop/hadoop-2.7.2/

配置hadoop环境文件

  1. 进入haddop安装文件的配置文件目录etc/hadoop

  2. 打开文件,找到某行有”# export JAVA_HOME = …”字样的地方,去掉“#”,然后在等号后面填写你自己的JDK路径,比如像我自己的JDK路径,那就改为了如下所示

export JAVA_HOME=/usr/lib/jvm/java8

**TIPS:如果你不小心忘了JDK路径也没关系,使用whereis java或者echo $JAVA_HOME
就可以看到你的jdk安装路径**


配置Hadoop的核心文件core-site.xml

打开文件,会发现标签中是空的,在空的地方添加如下配置

含义:接收Client连接的RPC端口,用于获取文件系统metadata信息。

<property>  

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>

修改etc/hadoop/hdfs-site.xml:

添加如下内容:

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

含义:备份只有一份


配置Hadoop中MapReduce的配置文件mapred-site.xml

默认情况下,etc/hadoop/文件夹下有mapred.xml.template文件,我们要复制该文件,并命名为mapred.xml,该文件用于指定MapReduce使用的框架。

使用命令:cp mapred-site.xml.template mapred-site.xml

打开文件,在<configuration> </configuration>中添加如下配置

“`

 <name>mapred.job.tracker</name>  

<value>localhost:9001</value>


“`


格式化Hadoop文件系统HDFS并启动Hadoop

  1. 首次运行hadoop必须进行格式化Hadoop文件系统,以后运行即可跳过

  2. 格式化文件系统
    打开命令行,进入安装Hadoop的文件路径下,然后在命令行输入bin/hadoop namenode -format

  3. 启动Hadoop:
    在命令行里面输入sbin/start-all.sh

  4. 验证是否正常启动
    在命令行里面输入jps,然后回车,如果在命令行里面出现如下类似画面则说明已经正常启动。(因为前面的数字可以不同)单节点伪分布式Hadoop安装

  5. 关闭Hadoop
    在Hadoop安装的文件夹路径下面在命令行输入
    sbin/stop-all.sh


检查运行状态

所有的设置已完成,Hadoop也启动了,现在可以通过下面的操作查看
服务是否正常,在Hadoop中用于监控集群健康状态的Web界面: