标签:hdfs -- 配置 hadoop 分布 3.2 user ubuntu
hadoop基础配置及伪分布实现
目录
文章目录
一、基础环境准备
-
操作系统准备
-
安装ubuntu虚拟机
镜像地址:https://mirrors.nju.edu.cn/ubuntu-releases/18.04/ubuntu-18.04.6-desktop-amd64.iso
-
如果使用docker
docker pull ubuntu:18.04
-
-
换源
-
备份起始源列表
-
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
-
-
打开源列表 (gedit命令是打开ubuntu的编辑器,如果是docker的话,需要换成vi命令)
-
sudo gedit /etc/apt/sources.list
-
-
在文件最前面添加以下内容
-
# 阿里源 deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
-
-
刷新列表
-
sudo apt-get update sudo apt-get upgrade sudo apt-get install build-essential
-
-
-
安装java
-
直接下载openJdk
-
sudo apt-get update sudo apt-get install openjdk-8-jdk
-
-
验证java
-
java -version
-
-
-
安装其他软件
-
安装ssh
-
sudo apt-get install ssh
-
生成ssh密钥
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
获取本机ssh访问权限
ssh-copy-id localhost
按下回车后会有确认是否加入hostList的询问,输入 “yes” 再按回车
然后需要你输入本机密码
-
测试ssh访问
ssh localhost
安装rsync
-
sudo apt-get install rsync
-
-
二、单机hadoop安装与配置
-
hadoop的安装
-
下载hadoop压缩包
-
cd ~ wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.2.2/hadoop-3.2.2.tar.gz
-
-
解压到这里
-
hadoop@ubuntu:~$ tar –zxvf hadoop-3.2.2.tar.gz
-
-
检查是否解压成功
-
hadoop@ubuntu:~$ ls Desktop Downloads hadoop-3.2.2 Music Public Videos Documents examples.desktop hadoop-3.2.2.tar.gz Pictures Templates
-
是否有hadoop-3.2.2的文件夹?
-
-
配置JAVA_HOME环境变量
-
gedit ~/hadoop-3.2.2/etc/hadoop/hadoop-env.sh
-
在编辑器中找到 “# export JAVA_HOME=”
把这一行改为 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64,保存退出即可
-
PS:上面这个地址的获得方法是输入以下命令,然后看输出
update-alternatives --config java
-
-
-
hadoop配置 – 单机伪分布式
首先先说一点,这里的配置,往往一空格,一个标点符号或者大小写的错误都会导致最终运行失败,所以输入之前一定要检查!!
-
core-site.xml
-
打开编辑器
gedit ~/hadoop-3.2.2/etc/hadoop/core-site.xml
-
插入配置,注释内容不用加
<configuration> # 配置 <property> # 某个属性 <name>fs.defaultFS</name> # 属性的名字是这个 <value>hdfs://localhost:9000</value> # 属性的值是这个,这个值是hdfs的路径 </property> # 属性的闭合标签,一定要有,斜线不要忘 </configuration>
-
-
hdfs-site.xml
-
gedit ~/hadoop-3.2.2/etc/hadoop/hdfs-site.xml
写入如下内容
<configuration> <property> <name>dfs.replication</name> # 数据的备份个数 <value>1</value> # 备份数为一个 </property> </configuration>
-
-
三、Hadoop的运行
-
启动hadoop和运行任务
-
格式化NameNode并启动
-
格式化
~/hadoop-3.2.2/bin/hdfs namenode -format
-
启动NameNode
~/hadoop-3.2.2/sbin/start-dfs.sh
-
查看集群状态
hadoop@ubuntu:~$ jps 10960 NameNode 11529 Jps 11115 DataNode 11372 SecondaryNameNode
-
浏览NameNode的web接口
直接在虚拟机的浏览器里打开 http://localhost:9870
-
-
执行一些hdfs操作(之后会经常用到,熟记)
hdfs是一个文件系统,操作和电脑的文件浏览器差不多,有创建文件夹、移动文件等操作
-
创建hdfs目录
~/hadoop-3.2.2/bin/hdfs dfs -mkdir /user # -mkdir path 是创建目录 ~/hadoop-3.2.2/bin/hdfs dfs -mkdir /user/input
-
拷贝输入文件到hdfs上
~/hadoop-3.2.2/bin/hdfs dfs -put ~/hadoop-3.2.2/etc/hadoop/*.xml /user/input # -put a b是将本地的a放在hdfs的b上
这个操作是将-put后面的 etc/hadoop/目录下所有后缀为xml的文件复制到hdfs文件系统的/user/hadoop目录下
-
查看一下hdfs的文件
hadoop@ubuntu:~$ ~/hadoop-3.2.2/bin/hdfs dfs -ls /user/input # -ls a是列出目录a下所有文件 Found 9 items -rw-r--r-- 1 hadoop supergroup 9213 2021-10-26 06:54 /user/hadoop/capacity-scheduler.xml -rw-r--r-- 1 hadoop supergroup 867 2021-10-26 06:54 /user/hadoop/core-site.xml -rw-r--r-- 1 hadoop supergroup 11392 2021-10-26 06:54 /user/hadoop/hadoop-policy.xml -rw-r--r-- 1 hadoop supergroup 849 2021-10-26 06:54 /user/hadoop/hdfs-site.xml -rw-r--r-- 1 hadoop supergroup 620 2021-10-26 06:54 /user/hadoop/httpfs-site.xml -rw-r--r-- 1 hadoop supergroup 3518 2021-10-26 06:54 /user/hadoop/kms-acls.xml -rw-r--r-- 1 hadoop supergroup 682 2021-10-26 06:54 /user/hadoop/kms-site.xml -rw-r--r-- 1 hadoop supergroup 758 2021-10-26 06:54 /user/hadoop/mapred-site.xml -rw-r--r-- 1 hadoop supergroup 690 2021-10-26 06:54 /user/hadoop/yarn-site.xml
-
-
运行MapReduce
-
运行hadoop自带的示例
~/hadoop-3.2.2/bin/hadoop jar ~/hadoop-3.2.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.2.jar grep /user/input /user/output 'dfs[a-z.]+'
分析以下其中的内容:
- ~/hadoop-3.2.2/bin/hadoop: 调用hadoop程序
- jar:执行这个程序的jar指令,就是告诉程序,要运行jar包
- ~/hadoop-3.2.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.2.jar:要执行的jar包的地址
- grep:grep是这个jar包里的指令,就类似于上面的jar和hadoop的关系(在之后自己写的hadoop程序中指定了主类,可以不填这个分支指令)
- /user/input:是输入地址
- /user/output:是输出地址,两个地址都是hdfs上的地址,需要注意的是 /user/output目录不能事先存在
- '‘dfs[a-z.]+’:是grep指令的参数。grep做的事情是筛选文本,这个参数就是告诉grep按这种模式筛选文本。
-
查看运行结果:
-
先将hdfs上的结果获取到本地
~/hadoop-3.2.2/bin/hdfs dfs -get /user/output ~/output
-
读取结果
cat ~/output/* # cat是显示文本的命令
-
-
-
最后关闭hadoop集群,修改配置之前要先关闭集群
~/hadoop-3.2.3/sbin/stop-dfs.sh
-
标签:hdfs,--,配置,hadoop,分布,3.2,user,ubuntu 来源: https://blog.csdn.net/m0_38074623/article/details/120982870
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。