Hadoop的安装部署

安装hadoop , 配置环境变量

HADOOP_HOME
PATH 中配置 H A D O O P H O M E / b i n : HADOOP_HOME/bin: HADOOPHOME/bin:HADOOP_HOME/sbin
配置完成后,验证,start双击空格键

hdfs :NameNode , seconderyNameNode,DataNode
yarn : resourceManager , DataNodeManager

关闭防火墙
systemctl disable firewalld.service
配置域名映射,文件/etc/hosts,格式如下
192.168.23.114 bigdata114

Web Console访问:ip:port 即可打开

hdfs: 端口: 50070
yarn: 端口:8088
hadoop的部署有三种:
  1. 本地模式
    主要用于测试mapreduce

    直接在 etc/hadoop_env.sh 中将 JAVA_HOME 改为自己的即可

  2. 伪分布模式
    在本地模式的基础上,完成以下配置:

    (*)hdfs-site.xml
        <!--配置数据块的冗余度,默认是3-->
    <!--原则冗余度跟数据节点个数保持一致,最大不要超过3-->
    <property>	
    <name>dfs.replication</name>
    <value>1</value>
    </property>
    
    <!--是否开启HDFS的权限检查,默认是true-->
    <!--使用默认值,后面会改为false-->
    <!--
    <property>	
        <name>dfs.permissions</name>
        <value>false</value>
    </property>				
    -->			
    
    
    (*)core-site.xml
    
    <!--配置HDFS主节点的地址,就是NameNode的地址-->
    <!--9000是RPC通信的端口-->
    <property>	
        <name>fs.defaultFS</name>
        <value>hdfs://bigdata111:9000</value>
    </property>	
    
    <!--HDFS数据块和元信息保存在操作系统的目录位置-->
    <!--默认是Linux的tmp目录,一定要修改-->
    <property>	
        <name>hadoop.tmp.dir</name>
        <value>/root/training/hadoop-2.7.3/tmp</value>
    </property>
    
    
    
    (*)mapred-site.xml(默认没有这个文件)
    
    <!--MR程序运行容器或者框架-->
    <property>	
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>	
    
    
    (*)yarn-site.xml
    
    <!--配置Yarn主节点的位置-->
    <property>	
        <name>yarn.resourcemanager.hostname</name>
        <value>bigdata111</value>
    </property>			
    
    <!--NodeManager执行MR任务的方式是Shuffle洗牌-->
    <property>	
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    
    

    之后 格式化HDFS的NameNode

    hdfs namenode -format
    

    完成之后可以通过以下命令启动

    start-dfs.sh
    start-yarn.sh
    或者
    start-all.sh
    

    可以通过 jps 来查看或者的进场

    完成以上步骤后,可以 使用简单的例子跑一下,这里需要注意的是,hadoop有自己的文件系统,在HADOOP_HOME下 通过以下命令来操作hdfs文件系统

    bin/hadoop fs -mkdir /input     创建一个文件夹
    bin/hadoop fs -put /root/tmp/input/data.txt /input     将data.txt导入到input目录下
    
    hadoop jar /root/trainning/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /input/data.txt /output/wc
    运行自带的单词统计事例
    
    

    关闭服务可以执行以下代码

    stop-dfs.sh
    stop-yarn.sh
    或
    stop-all.sh
    
  3. 全分布模式
    配置和伪分布式差不多,需要一些前提工作,
    设计好架构,现在以最简单的一个NameNode2个DataNode为例子假设这里NameNode 为 bigdata114,2个从节点分别为bigdata112,bigdata113.
    搭建全分布模式主要的工作在NameNode的配置上,可以用 scp 命令,将主节点的文件结构拷贝给从节点,这里为了避免遗漏和便于理解,我们按照顺序结构来操作,

① 在NameNode上完成之前伪分布式的配置,同时在hadoop的etc目录下配置slaves ,将从节点配置到文件中,这里就是 bigdata112,bigdata113
②格式化NameNode,命令和伪分布式一样,:切换到HADOOP_HOME目录执行 hdfs namenode -format
③配置免密登录,
ssh keygen -t rsa

之后一路回车即可,需要注意的是,这一步需要在每个节点上包括namenode上都执行,之后将各个节点之间生成的公钥,给其他节点

ssh-copy-id [user@]hostname
例如:
ssh-copy-id root@bigdata114

这步执行完后,免密登录就配置好了,

④同scp命令将 NameNode上的hadoop文件夹拷贝给各个子节点,这里需要注意的是,子节点上的hadoop-env.sh 需要配置子节点自己的,拷贝命令如下:
这里假设,从bigdata114上拷贝文件到bigdata113上,
scp -r /root/trainning/hadoop-2.7.3 root@bigdata113:/root/trainning

完成以上步骤,一个最简单的群分布模式接搭建好了,可以通过 start-all.sh来启动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值