Hadoop----->伪分布式集群的搭建
在搭建伪分布式集群之前确保以下工作已经完成
1.确保防火墙是关闭的.
[root@hadoop01 ~]# systemctl disable firewalld.service
2.NAT模式和静态IP的确定 (192.168.10.101)
[root@qianfeng01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR=192.168.10.101
4.确保/etc/hosts文件里 ip和hostname的映射关系
[root@qianfeng01 ~]# vim /etc/hosts
192.168.10.101 hadoop01
5. 确保免密登陆localhost有效
1. 生成秘钥
[root@qianfeng01 ~]# ssh-keygen -t rsa 一路回车下去
2. 将公钥拷贝到远程机器上
[root@qianfeng01 ~]# ssh-copy-id -i qianfeng02
ssh-copy-id的作用:将公钥文件拷贝到远程机器的.ssh隐藏目录下,并更名成authorized_keys文件
检测是否可用
[root@hadoop01 ~]# ssh localhost
Last login: Sat Dec 4 15:24:09 2021 from 192.168.10.1
[root@hadoop01 ~]# ssh 0.0.0.0
Last login: Sat Dec 4 16:16:01 2021 from localhost
[root@hadoop01 ~]# ssh 127.0.0.1
Last login: Sat Dec 4 16:17:53 2021 from 192.168.10.1
成功!!!!
6. jdk和hadoop的环境变量配置
-1. 上传和解压两个软件包
[root@hadoop01 ~]# tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/local/
[root@hadoop01 ~]# tar -zxvf hadoop-2.7.6.tar.gz -C /usr/local/
-2. 进入local里,给两个软件更名
[root@hadoop01 ~]# cd /usr/local/
[root@hadoop01 local]# mv 1.8.0_221/ jdk
[root@hadoop01 local]# mv hadoop-2.7.6/ hadoop
-3. 配置环境变量
[hadoop@hadoop01 local]# vi /etc/profile
.....省略...........
#java environment
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
#hadoop environment
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
7.关闭selinux
[root@hadoop01 ~]# vi /etc/selinux/config
.........co
SELINUX=disabled #改这里
.........
开始搭建环境
第一步:
修改core-site.xml的配置文件:
[root@hadoop01 ~]# cd $HADOOP_HOME/etc/hadoop
[root@hadoop01 hadoop]# vi core-site.xml
<configuration>
<!-- 配置分布式文件系统的schema和ip以及port,默认8020-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:8020/</value>
</property>
</configuration>
第二步
修改 hdfs-site.xml的配置文件:
[root@hadoop01 hadoop]# vi hdfs-site.xml
<configuration>
<!-- 配置副本数,注意,伪分布模式只能是1。-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
第三步
修改hadoop-env.sh的配置:指定jdk的环境
[root@hadoop01 hadoop]# vi hadoop-env.sh
................
# The java implementation to use.
export JAVA_HOME=/usr/local/jdk #改这里
..................
第四步
格式化NameNode
[root@hadoop01 hadoop]# hdfs namenode -format
第五步
启动HDFS
[root@hadoop01 hadoop]# start-dfs.sh
jps命令查看守护进程
[root@hadoop01 ~]# jps
2129 NameNode
3045 Jps
2408 SecondaryNameNode
2251 DataNode
验证是否可用
WebUI_50070
可以在浏览器上输入:192.168.10.101:50070 来查看一下伪分布式集群的信息
单词统计进行验证
在根目录下创建一个目录
[root@hadoop01 ~]# vim ~/data
在创建的目录中创建文件
[root@hadoop01 ~]# cd ~/data
[root@hadoop01 data]# touch test.txt
在文件中写入多个单词
[root@qianfeng01 data]# vim test.txt
在hdfs上创建存储目录/
[root@qianfeng01 hadoop]# hdfs dfs -mkdir /input
将本地文件系统上的上传到hdfs上,并在web上查看一下
[root@qianfeng01 hadoop]$ hdfs dfs -put ~/data/test.txt /input/
运行自带的单词统计程序wordcount
[root@qianfeng01 hadoop]# cd $HADOOP_HOME
[root@qianfeng01 hadoop]# hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount /input /out
查看统计结果
[root@qianfeng01 hadoop]# hdfs dfs -cat /out/part-r-00000
chain 1
colths 1
do 1
heppy 1
is 1
mei 2
new 2
something 1
tang 3
to 2
tom 1
want 1
welcome 1
what 1
year 2
yue 1