更好的阅读体验:https://www.wolai.com/9GRcHwc2EgDfvHxjKYodph
环境:centos7
hadoop官网:https://hadoop.apache.org/
安装Java环境
yum list | grep jdk-devel
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bWasK2oX-1649067471505)(hadoop入门.assets/1649053500211.png)]
yum install java-1.8.0-openjdk-devel.x86_64
安装ssh和pdsh
yum install ssh
yum install pdsh
如果显示无此安装包,可以更换第三方yum源
yum install epel-release
配置ssh免密登录
ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MZjMJTH6-1649067471506)(hadoop入门.assets/1649048872157.png)]
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
如果配置好了,输入ssh localhost 可以不用密码就可以直接连接上
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ymlo2KNj-1649067471506)(hadoop入门.assets/1649049075745.png)]
然后将pdsh配置成使用ssh
vim /etc/profile
在最后写入
export PDSH_PATH_TYPE=ssh
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y8mXLLFa-1649067471506)(hadoop入门.assets/1649049227713.png)]
使用命令 source /etc/profile 使配置生效
下载并安装hadoop
先创建一个文件夹作为工作目录
mkdir hadoop
hadoop下载连接:(这个是清华源的,下载快一点)
https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.2/hadoop-3.3.2.tar.gz
使用wget进行下载
weget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.2/hadoop-3.3.2.tar.gz
如果出现一下错误提示,按照提示添加一些参数即可
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OzlcExMS-1649067471507)(hadoop入门.assets/1649040044163.png)]
weget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.2/hadoop-3.3.2.tar.gz --no-check-certificate
然后进行解压
tar -zxvf hadoop-3.3.2.tar.gz
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rmlYIesL-1649067471507)(hadoop入门.assets/1649040183697.png)]
对hadoop进行配置
添加环境变量
- 先进入hadoop目录下 ,查看路径
cd hadoop-3.3.2/
pwd
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jUGVc2Nx-1649067471508)(hadoop入门.assets/1649040311335.png)]
将路径复制下来(/home/student/hadoop/hadoop-3.3.2)
查找java所在目录(没有安装java的需要安装java)
使用java -version可以查看到是否安装了java
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j9gUxJWy-1649067471508)(hadoop入门.assets/1649040503466.png)]
接下来查找java所在目录:
whereis java
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OEzQyoVY-1649067471508)(hadoop入门.assets/1649040600425.png)]
最后找到java所在位置(/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre)
编辑/etc/profile目录
vim /etc/profile
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CPSwcTEN-1649067471509)(hadoop入门.assets/1649040709611.png)]
进行变量配置,移动到最底层,将原先复制的java和hadoop目录路径粘贴上,如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kNSXBd3D-1649067471509)(hadoop入门.assets/1649054194194.png)]
然后保存退出。
使用命令 source /etc/profile 使得刚刚配置的变量生效
进入工作目录,然后进入etc/hadoop目录,进行一些配置
cd etc/hadoop
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0YGF0Pki-1649067471509)(hadoop入门.assets/1649047312605.png)]
编辑配置
vim hadoop-env.sh
打开文件后找到JAVA_HOME位置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WKQ0Huuh-1649067471509)(hadoop入门.assets/1649047472515.png)]
将位置改为自己的jdk所在位置,然后将#符号删掉
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dPJ6wyHY-1649067471510)(hadoop入门.assets/1649048552218.png)]
保存后退出。
然后分别进入 etc/hadoop/core-site.xml和 etc/hadoop/hdfs-site.xml 进行修改
cd etc/hadoop/core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PHvI99xQ-1649067471510)(hadoop入门.assets/1649047809827.png)]
cd etc/hadoop/hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K2dm7fvO-1649067471511)(hadoop入门.assets/1649047893189.png)]
然后进入到原先的工作目录编辑sbin的start-dfs.sh文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rethWr3t-1649067471511)(hadoop入门.assets/1649048000860.png)]
vim sbin/start-dfs.sh
在第一行插入
HDFS_NAMENODE_USER=root
HDFS_DATANODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7WzdD3lH-1649067471512)(hadoop入门.assets/1649048307512.png)]
运行hadoop
然后使用命令 sbin/start-dfs.sh运行hadoop。
之后可以使用jps命令查看到已运行的程序
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f5zltm1U-1649067471512)(hadoop入门.assets/1649050107030.png)]
!如果使用jps显示没有该命令可以尝试重新安装jdk
到hdfs下进行查看并创建一个/user/root目录
bin/hadoop fs -ls /
bin/hadoop fs -mkdir /user
bin/hadoop fs -mkdir /user/root
创建一个input目录,将etc下面的所以xml文件放入当里面
bin/hdfs dfs -mkdir input
bin/hdfs dfs -put etc/hadoop/*.xml input
运行一个hadoop自带的一个示例
查看示例
ls share/hadoop/mapreduce/
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W11ZHJEe-1649067471512)(hadoop入门.assets/1649057487797.png)]
这个hadoop-mapreduce-examples-3.3.2.jar包就是示例,运行它。
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.2.jar grep input output 'dfs[a-z.]+'
由于每个人的示例包可能又有点不同,比如版本号之类的,所以尽量查看自己的示例包后,手打使用tab键补全,运行后会有一大推输出。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wa6gC5ZU-1649067471513)(hadoop入门.assets/1649057662911.png)]
查看输出:
bin/hadoop fs -ls output
bin/hadoop fs -cat output/*
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hCOHNJJX-1649067471513)(hadoop入门.assets/1649057807502.png)]
到这可以说单机的hadoop已经搭建完成。
``
由于每个人的示例包可能又有点不同,比如版本号之类的,所以尽量查看自己的示例包后,手打使用tab键补全,运行后会有一大推输出。
[外链图片转存中…(img-wa6gC5ZU-1649067471513)]
查看输出:
bin/hadoop fs -ls output
bin/hadoop fs -cat output/*
[外链图片转存中…(img-hCOHNJJX-1649067471513)]
到这可以说单机的hadoop已经搭建完成。
更好的阅读体验:https://www.wolai.com/9GRcHwc2EgDfvHxjKYodph