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
//下载命令
相关推荐
策知道12 分钟前
依托政府工作报告准备省考【经验贴】
大数据·数据库·人工智能·搜索引擎·政务
Henry-SAP25 分钟前
SAP(ERP) 组织结构业务视角解析
大数据·人工智能·sap·erp·sap pp
冷崖1 小时前
消息队列-kafka(一)
分布式·kafka
TracyCoder1232 小时前
ElasticSearch内存管理与操作系统(一):内存分配底层原理
大数据·elasticsearch·搜索引擎
cd_949217213 小时前
九昆仑低碳科技:所罗门群岛全国森林碳汇项目开发合作白皮书
大数据·人工智能·科技
Acrelhuang3 小时前
工商业用电成本高?安科瑞液冷储能一体机一站式解供能难题-安科瑞黄安南
大数据·开发语言·人工智能·物联网·安全
小王毕业啦3 小时前
2010-2024年 非常规高技能劳动力(+文献)
大数据·人工智能·数据挖掘·数据分析·数据统计·社科数据·经管数据
言無咎4 小时前
从规则引擎到任务规划:AI Agent 重构跨境财税复杂账务处理体系
大数据·人工智能·python·重构
私域合规研究4 小时前
【AI应用】AI与大数据融合:中国品牌出海获客的下一代核心引擎
大数据·海外获客
大鳥4 小时前
数据仓库知识体系
hive·hadoop