1.创建Hadoop用户
三部曲:添加用户,设置密码,给该用户设置管理员权限
为 hadoop 用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题

sudo useradd -m hadoop -s /bin/bash
sudo passwd hadoop
sudo adduser hadoop sudo

2.登陆hadoop用户后,更新apt
当前用户为hadoop,我们先更新一下 apt,后续我们使用 apt 安装软件,如果没更新可能有一些软件安装不了。按 ctrl+alt+t 打开终端窗口,执行如下命令:

sudo apt-get update

3.安装ssh并设置ssh免密登陆
注意:每次配置时,需要注意当前目录为hadoop。
集群、单节点模式都需要用到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上面运行命令),Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server:

hadoop@master:~$sudo apt-get install openssh-server
//设置免密登陆,下面命令将创建一个新的密钥
ssh-keygen -t rsa -P ""

如下图:

并将生成的密钥加入到授权中:

hadoop@master:~$cat /home/hadoop/.ssd/id_rsa.pub >> /home/hadoop/.ssh/authorized_keys

#测试SSH设置通过“hadoop”用户连接到locahost,就是先su hadoop,然后使用ssh
hadoop@master:~$ssh localhost

4.安装java

先检查 Ubuntu 操作系统的架构是32位还是64位

xugui@master:~$file /sbin/init

然后安装相应的jdk,例如,jdk-8-linux-x64.tar.gz
在本教程中,我们将提取的下载文件到 /usr/local ,如下命令:

xugui@master:~$ sudo tar -xvf jdk-8u60-linux-64.tar.gz -C /usr/local
#添加环境变量
vim /etc/porfile

添加下面内空到系统变量,即 /etc/profile 文件的结束

JAVA_HOME=/usr/local/jdk1.8.0_60
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH

现在让 Ubuntu 知道 JDK/JRE 的位置

xugui@master:~$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/jdk1.8.0_60/bin/java" 1
xugui@master:~$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/jdk1.8.0_60/bin/javac" 1
xugui@master:~$ sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/jdk1.8.0_60/bin/javaws" 1

告诉 Ubuntu 我们安装的即 jdk1.8.0_60 必须是默认的Java

xugui@master:~$ sudo update-alternatives --set java /usr/local/jdk1.8.0_60/bin/java
xugui@master:~$ sudo update-alternatives --set javac /usr/local/jdk1.8.0_60/bin/javac
xugui@master:~$ sudo update-alternatives --set javaws /usr/local/jdk1.8.0_60/bin/javaws

最后查看Java的版本:java -version

5.下载并安装hadoop
去hadoop官网下载hadoop-2.6.0.tar.gz
我们选择将 Hadoop 安装至 /usr/local/ 中:

sudo tar -zxf ~/下载/hadoop-2.6.0.tar.gz -C /usr/local    # 解压到/usr/local中
cd /usr/local/
sudo mv ./hadoop-2.6.0/ ./hadoop            # 将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop       # 修改文件权限

Hadoop伪分布式配置
添加环境变量:vim ~/.bashrc

export HADOOP_HOME=/usr/local/hadoop
export JAVA_HOME=/usr/local/jdk1.8.0_60
export PATH=$PATH:$HADOOP_HOME/bin

然后 source ~/.bashrc

配置关联HDFS,设置 JAVA_HOME 在文件 /usr/local/hadoop/etc/hadoop/hadoop-env.sh 中

vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh

#添加jdk
export JAVA_HOME=/usr/local/jdk1.8.0_60

Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 Datanode,同时,读取的是 HDFS 中的文件。

Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。

修改配置文件 :core-site.xml
vim  /usr/local/hadoop/etc/hadoop/core-site.xml 

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

#修改配置文件 hdfs-site.xml:

vim  /usr/local/hadoop/etc/hadoop/hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/data</value>
    </property>
</configuration>

Map Reduce 配置

#修改配置文件: mapred-site.xml
vim /usr/local/hadoop/etc/hadoop/mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.jobtracker.address</name>
        <value>localhost:9001</value>
    </property>
</configuration>

在hadoop用户下,先用ssh localhost,然后格式化hdfs:

#./bin/hdfs是相对路径,就是先cd到/usr/local/hadoop目录下
hadoop@master:~$./bin/hdfs namenode -format

显示格式化成功

#./sbin同上是相对路径,启动hdfs和
./sbin/start-dfs.sh
./sbin/start-yarn.sh

#然后输入jps,查看是否启动成功
jps

如下图:

终止这两个守护进程hdfs和yarn

./sbin/stop-dfs.sh
./sbin/stop-yarn.sh

到目前为止,伪分布式环境已经搭建成功了。
我也是新手,写个教程总结一下,然后也是踩了不少坑过来的,可以参考一下以下两个教程:
http://dblab.xmu.edu.cn/blog/...
https://wizardforcel.gitbooks...

Ubuntu16.04下安装Hadoop2.7.4伪分布式环境的更多相关文章

  1. OpenStack 对象存储 Swift 简单介绍

    Swift最适合的就是永久类型的静态数据的长期存储。提供账号验证的节点被称为AccountServer。Swift中由Swauth提供账号权限认证服务。ProxyserveracceptsincomingrequestsviatheOpenStackObjectAPIorjustrawHTTP.Itacceptsfilestoupload,modificationstoMetadataorcontainercreation.Inaddition,itwillalsoservefilesorcontaine

  2. 使用 Swift语言进行 Hadoop 数据流应用程序开发

    如果您发现了问题,或者希望为改进本文提供意见和建议,请在这里指出.在您开始之前,请参阅目前待解决的问题清单.简介本项目包括两类Hadoop流处理应用程序:映射器mapper和总结器reducer。如上所示,在Hadoop上编写流处理程序是一个很简单的工作,也不需要依赖于特定的软件体系。

  3. swift分布式存储多节点部署

    1、机器192.168.1.211ProxyNode192.168.1.212StorageNode192.168.1.213StorageNode192.168.1.214StorageNode系统为SLES11sp12、配置软件源因为公司服务器无法连外网,所以配置局域网源和本地源来搭建环境上传ISO镜像文件到各台机器SLES-11-SP4-DVD-x86_64-GM-DVD1.iso每台机器挂

  4. Java API操作Hdfs的示例详解

    这篇文章主要介绍了Java API操作Hdfs详细示例,遍历当前目录下所有文件与文件夹,可以使用listStatus方法实现上述需求,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下

  5. 使用Zookeeper分布式部署PHP应用程序

    今天小编就为大家分享一篇关于使用Zookeeper分布式部署PHP应用程序,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

  6. 最新hadoop安装教程及hadoop的命令使用(亲测可用)

    这篇文章主要介绍了最新hadoop安装教程(亲测可用),本文主要讲解了如何安装hadoop、使用hadoop的命令及遇到的问题解决,需要的朋友可以参考下

  7. 利用Java连接Hadoop进行编程

    这篇文章主要介绍了利用Java连接Hadoop进行编程,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下

  8. 无法在Linux命令行中的hadoop中使用正则表达式

    我有一个文件夹,其中包含大量日期为2018年的子文件夹。在我的HDFS中,我创建了一个仅包含12月日期的文件夹,我需要删除21-25天。我将此文件夹从HDFS复制到docker容器中,并在其工作正常的文件夹中使用命令rm-r*[21-25]。但是,当我运行适用于hdfshdfsdfs–rm-r/home/cloudera/logs/2018-Dec/*[21-25]的相同命令时,它会给我一个错误“rm:`/home/cloudera/logs/2018Dec/*[21-25]':没有这样的文件或目录。”。

  9. Windows中的Nutch:无法设置路径的权限

    我正在尝试在Windows机器上使用Nutch使用Solr,我收到以下错误:从我学到的很多线程中,nutch似乎使用了hadoop做了一些chmod魔法,它可以在unix机器上运行,但不能在windows上使用.这个问题现在存在一年多了.我找到了一个线程,其中显示了代码行并提出了修复.我真的只有一个有这个问题吗?是否所有其他人都在创建自定义构建以便在Windows上运行nutch?也许是另一个爬行器而不是nutch?

  10. 在Windows上安装和运行hadoop 2.2的文档

    使用最新版本的Hadoop2.2,我发现该发行说明提到该版本在Windows上运行Hadoop方面有重大改进.我昨天下载了Hadoop2.2,我看到很多带有.sh文件的.cmd文件,这确保了这个版本有脚本和批处理文件,可以在Windows环境下运行Hadoop.但是,在查看ApacheHadoop文档时,我找不到有关如何在Windows上安装和运行此新版本的任何分步说明.除此之外,看起来新版本中嵌入了YARN架构,在线教程中提供的旧配置可能已经过时,不再适用.Hadoop2.2是否有在线提供的良好文档?

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部