一、实现Hadoop伪分布式部署(第一次作业)

Hadoop的架构和组成

Hadoop分布式系统基础框架具有创造性和极大的扩展性,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力高速运算和存储。
Hadoop的核心组成部分是HDFS,MapReduce以及Common,其中HDFS提供了海量数据的存储,MapReduce提供了对数据的计算,Common为其他模块提供了一系列文件系统和通用文件包。

JDK安装配置

下载JDK版本:8u211-linux-x64
解压JDK :

tar -zxvf jdk-8u211-linux-x64.tar.gz

配置环境变量:
vi /etc/profile文件添加:

export JAVA_HOME=/usr/java/jdk1.8.0_211-amd64
export PATH=$JAVA_HOME/bin:$PATH

Esc :wq!保存并退出。
配置生效:

source /etc/profile

检验是否成功

javac

Hadoop安装配置

下载Hadoop版本;hadoop-2.7.7.tar.gz
解压Hadoop:

tar -zxvf hadoop-2.7.7.tar.gz 

配置Hadoop并生效
vi /etc/profile文件添加:

export HADOOP_HOME=/root/hadoop-2.7.7
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

Esc :wq!保存并退出。
配置生效:

source /etc/profile

检验是否成功:

hadoop

配置伪分布式修改以下文件:
vi hadoop -env.sh

#hadoop-2.7.7是第25行
#可以使用 :set number来显示行数
export JAVA_HOME=/usr/java

vi core-site.xml

<configuration>
  <!--配置HDFS主节点,namenode的地址,9000是RPC通信端口-->
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop:9000</value>   
  </property>
 <!--配置HDFS数据块和元数据保存的目录,一定要修改-->
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/var/hadoop/tmp</value>   
  </property>    
</configuration>

vi hdfs-site.xml

<configuration>
  <!--注释配置数据块的冗余度,默认是3-->
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <!--下面的地址是我个人的-->
  <property> 
    <name>dfs.http.address</name> 
    <value>192.168.244.11:50070</value> 
  </property>
</configuration>

vi mapred-site.xml

# mv mapred-site.xml.templete mapred-site.xml #重命名,hadoop-3.1.0系统中就是mapred-site.xml不需要改名,hadoop-2.7.7需要改名
<!--配置MR程序运行的框架-->			 
<property>			 
	  <name>mapreduce.framework.name</name> 
	  <value>yarn</value> 
</property>	

vi yarn-site.xml

<configuration>
    <!--配置Yarn的节点-->		
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop</value>
    </property>
    <!--NodeManager执行MR任务的方式是Shuffle洗牌-->		
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

下一步解决互信问题,生成密钥,使ssh可以免密码连接localhost。
格式化:

 hdfs namenode -format

启动:

start-all.sh

检查集群:

jps

显示出6个进程正确:

Jps
DataNode 
SecondaryNameNode 
NameNode 
NodeManager 
ResourceManager 

web控制台访问:http://192.168.244.11:50070http://192.168.244.11:8088
上传HDFS:

hdfs dfs -put in.txt /adir 上传本地当前路径下的in.txt文件 到hdfs的/adir目录下。

运行wordcount:

hadoop jar /root/hadoop-2.7.7/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /data/wordcount /output/wordcount

最后在http://192.168.244.11:50070 查看/user/root/output/part-r-00000文件里的词频统计结果。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值