Hadoop伪分布式环境配置

环境

用VMware搭建 Ubuntu 18.04 64位虚拟机(方法可见)

Hadoop伪分布式环境

1.安装Java环境

1.下载Linux版Java到文件夹中

注:补充里面有不挂载共享直接将宿主机和虚拟机交互的工具

2.开启宿主机与虚拟环境共享
3.挂载共享文件
bash 复制代码
vmware-hgfsclient
//查看共享文件名称,判断是否共享成功

(查看 VMware 识别的共享文件夹名称)

bash 复制代码
sudo vmhgfs-fuse .host:/VMware_shared_folder /mnt/shared -o allow_other
//将共享的文件挂载

(挂载文件)

(需要输入用户密码'不会显示')

4.验证挂载并找到JDK安装包
bash 复制代码
ls /mnt/shared
//查看共享文件中的文件名称,帮助找到要解压的jdk文件
5.解压并安装JDK
bash 复制代码
cd /mnt/shared
//切换到挂载目录
bash 复制代码
sudo tar -zxvf jdk-8u162-linux-x64.tar.gz -C /opt/
//解压jdk-8u162-linux-x64.tar(是你共享文件中的名称,不一定是我这个)
6.配置环境
bash 复制代码
vim ~/.bashrc
//打开环境配置
bash 复制代码
export JAVA_HOME=/opt/jdk1.8.0_162
export JRE_HOME=${JAVA_HOME/jre}
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
7.使环境变量生效
bash 复制代码
source ~/.bashrc
//使环境变量生效
8.验证JDK
bash 复制代码
java -version
//检验安装是否成功

2.安装Hadoop

1.安装Hadoop文件
2.像Java安装一样挂载共享文件夹和查找文件中的压缩包并解压到/opt文件下
3.修改文件权限
bash 复制代码
cd /opt
sudo chown -R hadoop-3.1.3
//切换到/opt目录
//将文件的所有者改为hadoop用户
4.验证Hadoop是否安装成功
bash 复制代码
cd /opt/hadoop-3.1.3
./bin/hadoop version
//如果安装成功会跳出Hadoop版本信息

3.Hadoop单机配置(非分布式)

Hadoop非分布式不需要配置

案例(grep操作):
bash 复制代码
cd /opt/hadoop-3.1.3
//跳转到hadoop的目录

mkdir ./input
//创建一个input文件

cp ./etc/hadoop/*.xml ./input
//将./etc/hadoop/目录下的拓展名为.xml的配置文件复制到刚刚创建的./input目录中,作为grep操作的输入源

./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar grep ./output 'dfs[a-z.]+'
//./bin/hadoop jar用于执行jar程序
//./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar包含grep示例的jar包路径
//grep是要运行的示例程序名称
//./output是结果存放的目录
//'dfs[a-z.]+'是正则表达式,匹配dfs开头,后面跟一个或多个小写字母或.字符串

cat ./output/*
//查看./output目录下的所有文件内容,也就是grep操作运行后的结果

rm -r ./output
//Hadoop默认不会覆盖文件再次运行实例会出错,需要将./output删除
(结果)

4.Hadoop伪分布式配置

1.用gedit编辑core-site.xml文件
bash 复制代码
cd /opt/hadoop-3.1.3/etc/hadoop
//跳转到该目录
bash 复制代码
gedit core-site.xml
//使用gedit编辑器编辑该文件
html 复制代码
<configuration>
  <property>
    <name>hadoop.tep.dir</name>
    <value>file:/opt/hadoop-3.1.3/hadoop/tmp</value>
    <description>Abase for other temporary directories.</description>
  </property>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>
</configuration>


//将此段代码加入<configuration>,</configuration>之间
2.用gedit编辑hdfs-site.xml文件
bash 复制代码
gedit hdfs-site.xml
//使用gedit编辑器编辑该文件
html 复制代码
<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/opt/hadoop-3.1.3/hadoop/tmp/dfs/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/opt/hadoop-3.1.3/hadoop/tmp/dfs/data</value>
  </property>
</configuration>


//将此段代码加入<configuration>,</configuration>之间

5.伪分布式下NameNode格式化

bash 复制代码
cd /opt/hadoop-3.1.3
./bin/hdfs namenode -format
//NameNode格式化命令

6.伪分布式运行实例

1.启动Hadoop相关服务
bash 复制代码
cd /opt/hadoop-3.1.3
./sbin/start-dfs.sh
//开启服务
2.在HDFS中创建用户目录
bash 复制代码
./bin/hdfs dfs -mkdir -p /user/hadoop
//-p表示如果父目录不在则递归创建
//以"./bin/hadoop dfs"开头的Shell命令方式有三种
1.hadoop fs 适用于任何不同的文件系统
2.hadoop dfs 只能适用于HDFS文件系统
3.hdfs dfs 只能适用于HDFS文件系统
3.创建input目录并复制指定xml文件到input目录
bash 复制代码
./bin/hdfs dfs -mkdir input
./bin/hdfs dfs -put ./etc/hadoop/*.xml input
//在HDFS创建中创建input目录
//将指定的xml文件复制到input目录
bash 复制代码
./bin/hdfs/dfs -ls input
//查看input目录
4.运行MapReduce作业
bash 复制代码
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar grep input output 'dfs[a-z.]+'
//./bin/hadoop jar运行Hadoop中的JAR包------这里指定运行hadoop-mapreduce-examples-3.1.3.jar这个实例JAR包
bash 复制代码
./bin/hdfs dfs -cat output/*
//查看运行结果
5.删除输出目录(不然下次运行会报错------运行程序时不能存在输出目录)
bash 复制代码
./bin/hdfs dfs -rm -r output
//删除输出目录
6.关闭Hadoop
bash 复制代码
./sbin/stop-dfs.sh
//关闭Hadoop运行

7.伪分布式切换回非分布式

删除core-site.xml、hdf-site.xml中的配置项

将Hadoop伪分布式配置中添加的配置项删除

补充

1.安装SSH,配置SSH无密码登录

1.安装SSH
bash 复制代码
sudo apt-get install openssh-server
//安装SSH server
2.登录本机
bash 复制代码
ssh localhost
//登录本机
3.生成密钥并授权
bash 复制代码
exit
//退出本机
bash 复制代码
cd ~/.ssh/
//进入目录,如果没有该目录,执行一次 ssh localhost
bash 复制代码
ssh-keygen -t rsa
//回车会有提示
ssh-copy-id localhost
//加入授权
bash 复制代码
//连续回车两次------不设置密码

2.安装宿主机和虚拟机的交互工具(可以不挂载共享文件直接得到要的安装包)

1.安装工具
bash 复制代码
sudo apt-get remove open-vm-tools
//删除
sudo apt-get install open-vm-tools
//下载
sudo apt-get install open-vm-tools-desktop
//优化

3.下载编辑器

bash 复制代码
sudo apt-get install vim
sudo apt-get install gedit
//下载命令
相关推荐
海梨花1 分钟前
【从零开始学习RabbitMQ】
分布式·学习·rabbitmq
失散132 小时前
分布式专题——26 BIO、NIO编程与直接内存、零拷贝深入辨析
java·分布式·rpc·架构·nio·零拷贝
计算机编程小央姐3 小时前
大数据工程师认证项目:汽车之家数据分析系统,Hadoop分布式存储+Spark计算引擎
大数据·hadoop·分布式·数据分析·spark·汽车·课程设计
武子康3 小时前
大数据-116 - Flink Sink 使用指南:类型、容错语义与应用场景 多种输出方式与落地实践
大数据·后端·flink
容辞3 小时前
Elasticsearch
大数据·elasticsearch·搜索引擎
大数据CLUB4 小时前
基于mapreduce的资金流入流出任务计算
大数据·hadoop·mapreduce
渡我白衣4 小时前
C++20 协程:在 AI 推理引擎中的深度应用
大数据·人工智能·c++20
C++chaofan6 小时前
Redisson分布式限流
java·jvm·spring boot·redis·分布式·mvc·redisson
小树苗1936 小时前
Berachain稳定币使用指南:HONEY与跨链稳定币的协同之道
大数据·人工智能·区块链
电商API_180079052476 小时前
电商数据分析之自动获取数据的技术手段分享
大数据·数据库·数据挖掘·数据分析