当前位置: 首页 > news >正文

Hadoop3.1.3单机(伪分布式配置)

参考:林子雨老师网站博客
Hadoop安装搭建伪分布式教程(全面)吐血整理

环境

Vmare12
Ubuntu16.04

创建Hadoop用户

若安装Ubuntu不是用的“hadoop”用户,则需要增加一个名为"hadoop"的用户

  1. 直接快捷键ctrl+alt+t或者点击小箭头,以打开终端窗口,输入该命令创建新用户
$ sudo useradd -m hadoop -s /bin/bash

该条命令创建了可以登录的hadoop用户,且使用/bin/bash作为shell

  • sudo命令:Ubuntu中一种权限管理机制。管理员可以授权给一些普通用户去执行一些需要root权限执行的操作。
    当使用sudo命令时,需要输入当前用户密码
  • 密码:在linux的终端中输入密码,终端不显示任何你当前输入的密码,也不会提示已输入了多少字符密码(在windows系统中,输入密码往往会是*)
  • 输入法中英文切换:ubuntu中终端输入的命令一般是用英文输入。
  • Ubuntu终端复制快捷键:ctrl+v+shift
  1. 设置密码
    以密码hadoop为例
$ sudo passwd hadoop

可以给hadoop用户增加管理员权限,方便部署

$ sudo adduser hadoop sudo
  1. 注销当前用户
    点击屏幕右上角的齿轮,选择注销,返回登陆界面。在登陆界面选择刚创建的hadoop用户进行登录。

更新apt

  1. (1)为后续一些apt软件安装,更新apt
$ sudo apt-get update 

(2)系统设置(左边的小齿轮)→软件和更新(系统)→from中选择other→列表中选[mirrors.aliyun.com]→choose server(右下角)→关闭→重新载入
(3)再次执行sudo apt-get update
2. 为后续方便更改配置文件,安装vim
sudo apt-get install vim
安装时照例有确认,输入y即可

vim常用模式:命令模式,插入模式,可视模式,正常模式
(1)正常模式
主要用来浏览文本内容。
一开始打开vim是正常模式,且在任何模式下按esc键可以返回正常模式
(2)插入编辑模式
用来向文本添加内容。
在正常模式下,输入i键进入插入编辑模式
(3)推出vim
利用vim修改任何文本时,都别忘了保存。
esc键退回到正常模式中,输入:wq可保存并退出vim

安装SSH、配置SSH无密码登录

SSH登录(类似于远程登录,可以登录某台Linux主机,且在上面运行命令)在集群、单节点模式都需用到。
Ubuntu默认已安装了SSH client,此外还需要安装SSH server

sudo apt-get install openssh-server

安装后,登录本机

ssh localhost

SSH首次登录提示,输入yes再按提示输入密码,以登录本机(但该种登录方式需要密码)

  • 配置SSH无密码登录
    推出刚才的ssh,回到原先的终端窗口,利用ssh-keygen生成密钥,并把密钥加入到授权中
exit # 退出刚才的ssh localhostcd ~/.ssh/ # 若没有该目录,先执行一次ssh localhostssh-keygen -t rsa # 会有提示,按回车即可(当前面又是$再输入下条命令)cat ./id_rsa.pub >> ./authorized_keys #加入授权

~ :在Linux系统中,~代表的是用户的主文件夹,即"/home/用户名"。如你的用户名是hadoop,则 ~ 代表"/home/hadoop/"
#: 其后的内容为注释

此时再用ssh localhost命令,无需输入密码就可以直接登录

安装Java环境

版本匹配:Hadoop3.1.3需要JDK版本在1.8及以上。

  • 本机文件传输到虚拟机

借助FileZilla

  • 在Linux命令行界面中,执行如下Shell命令(当前登录用户名是hadoop)
cd /usr/lib
sudo mkdir jvm #创建/usr/lib/jvm目录来存放JDK文件
cd ~ # 进入hadoop用户的主目录
cd Downloads # 注意区分大小写字母&刚才通过FTP软件把JDK安装包jdk.8u162-linux-x64.tar.gz上传到该目录下
sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm # 把JDK文件解压到/usr/lib/jvm目录下

(复制加shift)

  • 确认是否添加成功
cd /usr/lib/jvm
ls

看到/usr/lib/jvm目录下有jd1.8.0目录

  • 设置环境变量
cd ~
vim ~/.bashrc

使用vim编辑器,输入i进入编辑状态,
在文件开头添加

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

按esc键退出编辑状态,输入:wq保存并退出

  • 让.bashrc文件的配置立即生效
source ~/.bashrc
  • 查看是否安装成功
java -version

返回版本号啥的说明🆗

安装hadoop3.1.3

hadoop3.1.3
链接:https://pan.baidu.com/s/1BnF9IaBMH8QazFe7BurxOw
提取码:j756

同上用FileZilla传到Ubuntu中,以保存在Downloads为例

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

hadoop解压后即可使用。
输入命令检查Hadoop是否可用,显示Hadoop版本信息即为欧克

cd /usr/local/hadoop
./bin/hadoop version
./ 相对路径,以/usr/local/hadoop为当前目录

配置方式(单机&伪单机)

Hadoop单机配置(非分布式)

Hadoop默认模式就是非分布式模式(本地模式),无需进行其他配置即可运行。
非分布式即单Java进程,方便进行调试。

运行./bin/hadoop jar ./share/hadoop/marreduce/hadoop-mapreduce-examples-3.1.3.jar可以看到所有例子。Hadoop附带了丰富的例子,例如wordcount,terasort,join,grep

  • 例如运行grep例子,把input文件夹中的所有文件作为输入,筛选当中符合正则表达式dfs[a-z.]+的单词并统计出现的次数,最后输出结果到output文件夹中
cd /usr/localhadoop
mkdir ./input
cp ./etc/hadoop/*.xml ./input #把配置文件作为输入文件
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar grep ./input ./output 'dfs[a-z.]+'
cat ./output/* #查看运行结果(符合正则规矩的单词出现了一次)

Hadoop默认不会覆盖结果文件,则再次运行上面实例的话会提示出错,需要先把./output
删除

rm -r ./output

Hadoop伪分布式配置

  • 配置
    Hadoop的配置文件位于/usr/local/hadoop/etc/hadoop/中
cd /usr/local/hadoop
cd etc
cd hadoop

伪分布式需要修改两个配置文件:core-site.xml和hdfs-site.xml.

vim core-site.xml

把其中的

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

Hadoop的运行方式是由配置文件决定的(运行Hadoop时会读取配置文件)。
若需要从伪分布式模式切换为非分布式模式,需要删除core-site.xml中的配置项。

  • 格式化
cd /usr/local/hadoop
./bin/hdfs namenode -format

返回的一大堆信息中,后半部分有“successfully formatted”即为成功

  • 启动Namenode和DataNode守护进程
cd /usr/local/hadoop # 已进入该目录则无需重复
./sbin/start-dfs.sh # start-dfs.sh是个完整的可执行文件,中间没有空格
  • 检查是否启动成功
jps

若出现了以下三个进程(除jps的三个)(缺一不可),说明🆗
在这里插入图片描述

简单运行Hadoop伪分布式实例

创建多级目录并检查
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/33059.html

相关文章:

  • HBase---浅谈HBase原理
  • 学习笔记四:dockerfile
  • 微服务里的小问题
  • 数据库之基本功:Where 中常用运算符
  • 浅谈 Nodejs原型链污染
  • Linux系统安装Docker
  • MCP2515国产替代DP2515带有SPI 接口的独立CAN 控制器
  • 【Kubernetes】第二十篇 - k8s 污点和容忍度
  • 60% 程序员大呼:我要远程办公!
  • jmeter+ant+jenkins接口自动化测试框架
  • 【protoc自定义插件】「go语言」实现rpc的服务映射成http的服务,protoc生成gin的插件,(详解实现原理及过程)
  • 【C语言】3天速刷C语言(语句、函数)
  • Linux系统中指针的详细分析与操作
  • 工程(十一)——NUC11+D435i+VINS-FUSION+ESDF建图(github代码)
  • 第十四届蓝桥杯三月真题刷题训练——第 4 天
  • Hadoop 运行环境搭建(开发重点)
  • 在社交媒体上行之有效的个人IP趋势
  • Java网络编程
  • PTA:L1-001 Hello World、L1-002 打印沙漏、L1-003 个位数统计(C++)
  • 构造HTTP请求
  • 转速/线速度/角速度计算FC
  • 学习笔记:Java并发编程(补)ThreadLocal
  • HashMap底层实现原理及面试题
  • 【STM32】进阶(二):DMA+ADC实现模拟量检测
  • Lab2_Simple Shell_2020
  • 2023最全电商API接口 高并发请求 实时数据 支持定制 电商数据 买家卖家数据
  • MySQL 的索引类型
  • < Linux > 进程信号
  • Pyspark基础入门7_RDD的内核调度
  • C/C++每日一练(20230307)