使用CentOs7搭建Hadoop环境[单机版]
下载java的压缩包
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载Hadoop压缩包
下载地址:https://archive.apache.org/dist/hadoop/common/
使用第三方远程工具进行远程
1 使用ifconfig获取ip(我这里的192.168.0.51就是我的ip了)
2 打开第三方远程工具(我这里使用的是MobaXterm)
3 点击OK之后,使用你root的密码登录,再将你的java压缩包拖到usr/java目录下,将你的hadoop压缩包拖到usr/hadoop目录下
可能会出现的问题
ifconfig命令失效解决方式
输入如下命令:cd /etc/sysconfig/network-scripts/
再输入ls命令 我画红框格式的就是你要修改的文件(因为每个文件的名字会不一样,基本上是第一个)
修改这个文件,输入如下命令vi ifcfg-ens33
输入i
进入插入模式 将ONBOOT改为yes
输入:wq
保存并退出
按照顺序输入如下命令:
1 service network restart
2 yum -y install wget
3 yum install net-tools
再输入ifconfig就可以了
Linux安装java
解压压缩包
切换到/usr/java
目录(没有则自行创建),将你所下载的压缩包拷贝进来
输入如下命令:tar -zxvf jdk-8u311-linux-x64.tar.gz
,其中jdk-8u311-linux-x64.tar.gz
为你下载的压缩包文件会,会根据你下载的不同,名字也不同,可以使用tab自动补全哈
设置环境变量
在命令行输入如下命令:vi /etc/profile
(进入编辑状态,编辑的是profile这个文件)
切换到最后一行,点击i,会出现--insert--
的样式(进入插入模式),我们添加(粘贴)上如下内容:
set java environment
JAVA_HOME=/usr/java/jdk1.8.0_311
JRE_HOME=/usr/java/jdk1.8.0_311/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
其中:jdk1.8.0_311
为你usr/java
目录下的,解压压缩包所生成的文件夹
点击键盘上的Esc,退出插入模式
输入:wq
来退出vim模式
再次在命令行中输入source /etc/profile
,来让我们之前的修改生效
查看是否安装成功
在命令行中输入java -version
,显示出正确的java版本就成功安装java了
SSH的安装与配置
输入如下命令:yum install openssh-server
创建SSH文件夹
再输入如下命令(在ssh文件夹下创建两个文件id_dsa及id_dsa.pub,这是一对私钥和公钥,然后把id_dsa.pub(公钥)追加到授权的key里面去):
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
第一次登陆可能会询问是否继续链接 输入yes即可 以后登陆直接使用ssh localhost
登进去
Linux安装,使用Hadoop
解压压缩包
切换到/usr/hadoop
目录(没有则自行创建),将你所下载的压缩包拷贝进来
在hadoop目录下,输入如下命令:tar -zxvf hadoop-2.7.6.tar.gz
,同理,hadoop-2.7.6.tar.gz
为你下载的压缩包文件的名字
修改hdfs的配置文件
我这里存放的目录就是hadoop 所以 按我的流程
先切换到hadoop目录:cd /usr/hadoop/hadoop-2.7.6/etc/hadoop
再输入vi hadoop-env.sh
输入i
,切换到插入模式,将画红框的地方切换为你java的安装路径
修改完毕之后,点击Esc退出并用!wq
保存
再输入如下命令:vi core-site.xml
(由于我的路径在hadoop解压后的etc/hadoop目录下,所以我的vi可以直接进行编辑,如果你们的路径不是在这个目录下,需要切换路径或者直接vi后面接上全路径/core-site.xml)
输入i
,切换到插入模式,将红框的地方切换为如下(后面我就不用输入i
,退出这些话了,因为已经说了两次了):
<configuration>
<!-- 指定HDFS老大(namenode)的通信地址 其中192.168.0.51为你自己虚拟机/云服务器的ip地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.0.51:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/temp</value>
</property>
</configuration>
其中value的值可以根据自己Linux里面存放的路径进行修改与切换
再修改hdfs-site.xml
,输入vi hdfs-site.xml
将configuration切换为如下:
<configuration>
<!-- 设置hdfs副本数量 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
输入命令 切换到如下目录:cd /usr/hadoop/hadoop-2.7.6/share/doc/hadoop-project/hadoop-project-dist/hadoop-common/
继续输入命令:vi core-default.xml
进入插入模式 添加如下配置信息:
<property>
<name>fs.hdfs.impl</name>
<value>org.apache.hadoop.hdfs.DistributedFileSystem</value>
<description>The FileSystem for hdfs: uris.</description>
</property>
启动与停止
第一次启动得先格式化,输入如下命令:/usr/hadoop/hadoop-2.7.6/bin/hdfs namenode -format
启动hdfs
/usr/hadoop/hadoop-2.7.6/sbin/start-dfs.sh
访问:
你虚拟机的端口:50070 就可以了,选择这里的Datanodes,这里可以看到你hdfs的端口的开启状态
可能会出现端口访问失败的问题,我们使用/sbin/iptables -I INPUT -p tcp --dport 50070 -j ACCEPT
就可以开启该端口了
需要开启的端口有:50070,50075
停止hdfs
/usr/hadoop/hadoop-2.7.6/sbin/stop-dfs.sh
修改Hadoop环境变量
命令行输入:vi /etc/profile
,使用插入把这一段插入到最后面
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.6/bin
export PATH=$PATH:$HADOOP_HOME
执行:source /etc/profile
,使环境变量生效
命令
开启namenode和datanode(切换到hadoop安装目录)
sudo sbin/hadoop-daemon.sh start namenode
sudo sbin/hadoop-daemon.sh start datanode
关闭namenode和datanode(切换到hadoop安装目录)
sudo sbin/hadoop-daemon.sh stop namenode
sudo sbin/hadoop-daemon.sh stop datanode
使用Windows访问Linux的Hadoop
Linux HDFS 命令
(1)查看帮助
hdfs dfs -help
(2)查看当前目录信息
hdfs dfs -ls /
(3)上传文件
hdfs dfs -put /本地路径 /hdfs路径
(4)剪切文件
hdfs dfs -moveFromLocal a.txt /aa.txt
(5)下载文件到本地
hdfs dfs -get /hdfs路径 /本地路径
(6)合并下载
hdfs dfs -getmerge /hdfs路径文件夹 /合并后的文件
(7)创建文件夹
hdfs dfs -mkdir /hello
(8)创建多级文件夹
hdfs dfs -mkdir -p /hello/world
(9)移动hdfs文件
hdfs dfs -mv /hdfs路径 /hdfs路径
(10)复制hdfs文件
hdfs dfs -cp /hdfs路径 /hdfs路径
(11)删除hdfs文件
hdfs dfs -rm /aa.txt
(12)删除hdfs文件夹
hdfs dfs -rm -r /hello
(13)查看hdfs中的文件
hdfs dfs -cat /文件
hdfs dfs -tail -f /文件
(14)查看文件夹中有多少个文件
hdfs dfs -count /文件夹
(15)查看hdfs的总空间
hdfs dfs -df /
hdfs dfs -df -h /
(16)修改副本数
hdfs dfs -setrep 1 /a.txt
HDFS在windows的调用
指导文档:https://hadoop.apache.org/docs/r1.0.4/webhdfs.html#replication
前提条件:需要有curl
查看HDFS文件的内容
windows命令行输入如下内容
curl -L "http://192.168.0.51:50075/webhdfs/v1/myTask/m2.conf?op=OPEN&namenoderpcaddress=192.168.0.51:9000"
-
192.168.0.51:你的Linux的ip地址(ifconfig)
-
webhdfs/v1/myTask/README.md:你文件的地址(webhdfs/v1为默认的开头,webhdfs/v1=/)
-
192.168.0.51:9000:你core-site.xml中写的fs.defaultFS的value
上传文件到HDFS(从windows的本地)
curl -X PUT -T D:\apache-maven-3.8.4\bin\m2.conf "http://192.168.0.51:50075/webhdfs/v1/myTask/m2.conf?op=CREATE&namenoderpcaddress=192.168.0.51:9000&overwrite=true"
-
http://192.168.0.51:50075/webhdfs/v1/myTask/m2.conf:你Hadoop中存放的地址
-
192.168.0.51:9000:你core-site.xml写的fs.defaultFS的value
下载文件到Windows
curl -L "http://192.168.0.51:50075/webhdfs/v1/myTask/m2.conf?op=OPEN&namenoderpcaddress=192.168.0.51:9000" -o d:\m2.conf
-
d:\m2.conf:你想保存到Windows本地的地址
-
D:\apache-maven-3.8.4\bin\m2.conf:你Windows本地的文件地址
-
192.168.0.51:9000:你core-site.xml写的fs.defaultFS的value
查看文件内容
curl -L "http://192.168.0.51:50075/webhdfs/v1/myTask/m2.conf?op=OPEN&namenoderpcaddress=192.168.0.51:9000"
-
http://192.168.0.51:50075/webhdfs/v1/myTask/m2.conf:你Hadoop中存放的地址
-
192.168.0.51:9000:你core-site.xml写的fs.defaultFS的value
创建一个空文件
curl -X PUT "http://192.168.0.51:50075/webhdfs/v1/myTask/test.txt?op=CREATE&namenoderpcaddress=192.168.0.51:9000&overwrite=true"
-
http://192.168.0.51:50075/webhdfs/v1/myTask/test.txt:存放于你Hadoop的地址
-
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· spring官宣接入deepseek,真的太香了~