大数据处理架构hadoop分布式文件系统搭建(HDFS)下

三,配置伪分布模式hadoop

伪分布模式与单机模式相比最大的特点是创建了HDFS,数据的处理和计算结果都在HDFS中进行。因为HDFS只在一台计算机实现,所以称伪分布模式。伪分布模式已经具备了hadoop的典型元素,常用于程序调试,在伪分布模式下通过的程序可以直接提交到hadoop集群中运行。在hadoop单机模式的基础上,修改配置文件就可以实现伪分布模式。

1.配置前检查

(1)关闭防火墙,SELinux

sudo apt install ufw #下载ufw工具

sudo ufw status verbose #查看防火墙状态

sudo ufw enable #开启防火墙

sudo ufw disable #关闭防火墙

 

 sudo apt-get install selinux-utils #下载selinux-utils工具方便对selinux的控制等

sudo apt install policycoreutils #下载policycoreutils工具方便查看selinux的状态

sestatus #查看selinux的状态,一般情况下是disabled状态,如果是enforcing则需要将其关闭

sudo vim /etc/selinux/config #进入/etc/selinux/config修改selinux的状态,关闭它

 

(2)检查jdk,hadoop的配置情况

 一切正常

2.开始配置 

(1)进入伪分布xml文件配置目录,大家按图索骥即可

(2)在core-site.xml 文件中配置hadoop的tmp目录和FS的URL地址,tmp目录用于保存HDFS的关键文件

sudo vim core-site.xml #进入core-site.xml进行配置

在core-site.xml文件中输入以下内容

<configuration>
        <property>
             <name>hadoop.tmp.dir</name>
             <value>file:/opt/apps/hadoop-3.3.4/tmp</value>
             <description>Abase for other temporary directories.</description>
        </property>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop:9000</value>
        </property>
</configuration>

 (3)配置hdfs-site.xml文件,文件所在目录与core-site.xml文件相同,内容包括文件块在HDFS中保存的副本数以及NameNode和DataNode的文件保存目录。

sudo vim hdfs-site.xml #进入该目录进行编辑并添加以下内容

<configuration>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <property>
             <name>dfs.namenode.name.dir</name>
             <value>file:/opt/apps/hadoop-3.3.4/tmp/dfs/name</value>
        </property>
        <property>
             <name>dfs.datanode.data.dir</name>
             <value>file:/opt/apps/hadoop-3.3.4/tmp/dfs/data</value>
        </property>
</configuration>

 

(4)配置logs,tmp目录,按图索骥

 

 (5)ssh免密登录

cd ~/.ssh  #进入该目录
ssh-keygen -t rsa -b 2048 #一路回车,开始设置免密登录
cat id_rsa.pub >> ~/.ssh/authorized_keys #将私钥上传到公钥里面

ssh 主机名 #测试免密登录

(6)赋权root,格式化名称节点,启动hadoop,检查,开启web页面

sudo vim /etc/profile #在此文件中键入以下内容

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
source /etc/profile #刷新文件

 格式化名称节点

hdfs namenode -format #格式化名称节点

 

start-dfs.sh #启动dfs集群   

start-dfs.sh  #关闭dfs集群 

start-all.sh #启动全部节点

stop-all.sh #关闭全部节点

 通过名称节点和数据节点的端口打开它们的web页面

http://主机名:9870或者http:ip:9870#在浏览器中输入该内容回车即可打开名称节点的web页面,9870是该节点的端口号

http://主机名:8088或者http:ip:8088#在浏览器中输入该内容回车即可打开名称节点的web页面,8088是该节点的端口号

 

 

 至此,伪分布模式hadoop搭建完成。

3.测试HDFS

HDFS是一个运行在廉价硬件上的分布式文件系统,因其高容错性、高吞吐性得到广泛的应用。HDFS在集群多台机器中以块(Block)的方式读写数据,以流式方式读写数据。HDFS为应用程序提供java-apidiaoyong,还能使用HTTP浏览器浏览文件系统。

start-all.sh #打开伪分布模式下的所有端口

jps #查看端口是否能正常打开

hdfs dfs -mkdir -p /opt/apps #在hdfs中建立/opt/apps目录

cd /opt/apps #进入本地目录

vim Count-The-Hours.txt #把喜欢的英文歌歌词复制在Count-The-Hours.txt文件中

hdfs dfs -put /opt/apps/Count-The-Hours.txt /opt/apps #将Count-The-Hours.txt文件放到hdfs中我们建好的文件夹下

hdfs dfs -ls /opt/apps/ #查看文件有没有放到hdfs中的新建的文件夹下

也可以在web页面,名称节点端口中打开Browse Directory页面输入目录信息查看修改等

 

然后测试一下数据处理

hdfs dfs -mkdir -p input #在hdfs中新建一个input目录

hdfs dfs -put /opt/apps/Count-The-Hours.txt input #将喜欢的英文歌歌词放入里面

hdfs dfs -ls input #查看是否已放入

cd /opt/apps/hadoop-3.3.4/share/hadoop/mapreduce #进入该目录

hadoop jar hadoop-mapreduce-examples-3.3.4.jar wordcount input output #调用hadoop-mapreduce-examples-3.3.4.jar包中的wordcount功能将input中的文件进行数据处理(单词统计)输出在output下

 

 hdfs dfs -ls output #查看output目录下的数据处理文件

hdfs dfs -cat output/part-r-00000 #查看数据处理情况(因为我复制的歌词是中英混合的所以有中文出现)

 

 当然我们也可以用网页查看

 四,配置全分布模式hadoop

集群模式与伪分布模式的主要区别就是hadoop部署在多台计算机还是一台计算机上。集群模式增加了资源管理服务和历史服务等辅助性服务。

1.在伪分布的基础上修改添加mapred-site.xml和yarn-site.xml

(1)修改core-site.xml文件

vim core-site.xml #在该文件夹下加入

<configuration>
        <property>
             <name>hadoop.tmp.dir</name>
             <value>file:/opt/apps/hadoop-3.3.4/tmp</value>
             <description>Abase for other temporary directories.</description>
        </property>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop:9000</value>
        </property>
</configuration>

(2) 修改hdfs-site.xml

vim hdfs-site.xml #在该文件夹中添加以下内容

<property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>
        <property>
             <name>dfs.namenode.name.dir</name>
             <value>file:/opt/apps/hadoop-3.3.4/tmp/dfs/name</value>
        </property>
        <property>
             <name>dfs.datanode.data.dir</name>
             <value>file:/opt/apps/hadoop-3.3.4/tmp/dfs/data</value>
     </property>
     <property>
          <name>dfs.secondarynode.namesecondary.dir</name>
          <value>file:/opt/apps/hadoop-3.3.4/tmp/dfs/namesecondary</value>
     </property>

 (3)修改mapred-site.xml文件

vim mapred-site.xml #在该文件夹中添加以下内容

<property>
           <name>mapreduce.framework.name</name>
           <value>yarn</value>
        </property>
        <property>
           <name>mapreduce.jobhistory.address</name>
           <value>hadoop:10020</value>
        </property>
        <property>
           <name>mapreduce.jobhistory.webapp.address</name>
           <value>hadoop:19888</value>
        </property>
 

(4)修改 yarn-site.xml文件

vim yarn-site.xml #在该文件夹中添加以下内容

<property>
         <name>yarn.resourcemnager.hostname</name>
         <value>hadoop</value>
     </property>
     <property>
         <name>yarn.nodemanager.aux-services</name>
         <value>mapreduce_shuffle</value>
     </property>

 2.修改tmp文件和logs

cd /opt/apps/hadoop-3.3.4 #进入该文件下

rm -rf tmp #删除tmp文件

rm -rf logs #删除logs文件

mkdir #使用该命令重建

 3.克隆出从机,更改主机名,配置映射,ssh免密登录

(1)克隆

 

(2)修改主机名,查看IP,修改映射

 hostnamectl set-hostname 主机名 #修改主机名

ip a 或者 ip -a 或 ifconfig #查看IP

vim /etc/hosts #配置IP映射

 (3)ssh免密登录

cd ~/.ssh #进入ssh配置目录
ssh-keygen -t rsa -b 2048 #生成私钥
cat id_rsa.pub >> ~/.ssh/authorized_keys #将私钥上传到公钥里面
ssh-copy-id -i id_rsa.pub root@其他主机名 #将公钥传给其他主机

 4.启动并测试

(1)在主机hadoop上完成格式化

hdfs namenode -format

(2)启动hadoop集群服务

start-all.sh #打开所有进程

jps #查看进程(主机hadoop上应有五个进程,从机hadoop2上有四个进程,如下图)

打开web页面(名称节点端口号:9870,数据节点端口号:8088)

 

在主机上打开历史节点

 mr-jobhistory-daemon.sh start historyserver #启动历史节点

mr-jobhistory-daemon.sh stop historyserver #关闭历史节点

 web页面(端口号:19888)

(3)测试

与伪分布一致,就不演示啦,大家可以用自己喜欢的歌词或者其他文本测试。 

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值