Ubuntu下Hadoop的安装教程

Ubuntu下Hadoop的安装教程,Hadoop的单机配置和伪分布式安装

教程

本教程采用的是Ubuntu18.04.4+hadoop2.7.7+jdk1.8

创建Hadoop用户

打开命令行终端(ctrl+alt+t),输入如下命令创建hadoop用户:sudo useradd -m hadoop -s /bin/bash
为hadoop用户设置密码:sudo passwd hadoop(连续输入两次)
hadoop用户增加管理员权限:sudo adduser hadoop sudo

apt工具更新

sudo apt-get update

若出现如下错误:在这里插入图片描述
可以使用以下语句进行解决sudo rm /var/lib/apt/lists/lock(亲测有效,可以用)

SSH的安装

检查ssh是否已经安装启动,有sshd说明已经启动。

sudo ps -ef | grep ssh

Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server:

sudo apt-get install openssh-server

登录ssh(首次登录会有提示,按提示输入yes):

ssh localhost

紧接着退出登录,设置无密码登录,使用ssh-keygen 生成密钥,并将密钥加入到授权中:

exit                           
cd ~/.ssh/                     
ssh-keygen -t rsa              # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys  

之后便可直接利用ssh localhost进行无密码登录。

Java环境的搭建

JDK的安装我采用的是手动安装,将压缩的jdk安装包jdk-8u261-linux-x64.tar.gz先进行下载,假设保存在“/home/zheng/Downloads/”目录下,之后执行如下代码:

cd /usr/lib
sudo mkdir jvm #用来存放jdk文件夹,如果已有该文件夹,则跳过此步骤
cd ~ #进入主目录
cd Downloads  
sudo tar -zxvf ./jdk-8u262-linux-x64.tar.gz -C /usr/lib/jvm  #解压jdk文件
mv jdk1.8.0_262 java #修改jdk文件名为java,如果出错,请先用“ls”查看该路径是否有该文件夹

紧接着为jdk设置环境变量:

cd ~
vi ~/.bashrc  

在编辑器中添加以下几行代码:

export JAVA_HOME=/usr/lib/jvm/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

保存.bashrc文件并退出编辑器,使用source ~/.bashrc让文件配置生效。
使用java -version检查安装是否完成,如果显示版本信息,则安装已经完成。

安装Hadoop

通过Hadoop镜像进行下载,选择tar.gz格式的文件,本教程采用hadoop-2.7.7.tar.gz版本进行安装。
将安装包下载并安装在/usr/local下:

sudo tar -zxvf /usr/local/hadoop-2.7.7.tar.gz -C /usr/local    
cd /usr/local/
sudo mv ./hadoop-2.7.7/ ./hadoop            #将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop 				#修改文件夹权限

解压完使用以下代码验证是否可用,如果出现版本信息则表示已成功:

cd /usr/local/hadoop
./bin/hadoop version

Hadoop单机配置

使用Hadoop自带例子进行调试,创建input文件夹,将输出数据存放在output文件夹下。

cd /usr/local/hadoop
mkdir ./input
cp ./etc/hadoop/*.xml ./input   # 将配置文件作为输入文件拷贝到input文件夹下
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'
cat ./output/*          # 查看output文件夹下运行结果

若出现以下结果,则代表执行成功。

在这里插入图片描述
再次运行上面例子会出错,需要先将output文件夹删除。rm -r ./output

Hadoop伪分布式配置

伪分布式需要修改 /usr/local/hadoop/etc/hadoop/ 下的core-site.xml 和 hdfs-site.xml 文件。
修改配置文件 core-site.xml:vi ./etc/hadoop/core-site.xml
在这里插入图片描述
为xml中的configuration 标签添加如下内容:

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

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

配置完成后,即可进行NameNode 的格式化:

cd /usr/local/hadoop
./bin/hdfs namenode -format

如果倒数第五行有“Exitting with status 0” 的提示,即表示成功。
然后开启 NameNode 和 DataNode 守护进程。

cd /usr/local/hadoop
./sbin/start-dfs.sh 

此处会有ssh提示,按照提示输入yes即可。

在这里插入图片描述

若出现如图错误,找到"/usr/local/hadoop/etc/hadoop/hadoop-env.sh”该文件,在里面找到“export JAVA_HOME= J A V A H O M E ” 这 行 , 将 其 中 的 “ {JAVA_HOME}”这行,将其中的“ JAVAHOME”这行,将其中的“{JAVA_HOME}”改为具体地址,比如,“export JAVA_HOME=/usr/lib/jvm/java”,然后,再次启动Hadoop即可。
启动完成后,可以通过命令 jps来判断是否成功启动。若成功,则会出现下图类似结果。
在这里插入图片描述
成功启动后,可以访问 Web 界面 http://localhost:50070 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。

  • 13
    点赞
  • 98
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值