Ubuntu16.04下安装Hadoop2.7.4伪分布式环境

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 ""

如下图:

clipboard.png

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

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

显示格式化成功
clipboard.png

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

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

如下图:

clipboard.png

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

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值