hadoop集群安装

Hadoop集群安装(三台机器)

  1. 安装jdk

  2. 安装hadoop
    注:以下出现 ./etc/hadoop,都是在hadoop的安装目录下执行的:
    在这里插入图片描述
    先安装单机版:
    (1) 减压:tar -zxvf /home/hadoop-2.8.4.tar.gz -C /usr/local/
    (2) 配置环境变量:vim /etc/profile
    在这里插入图片描述
    立即生效:source /etc/profile
    (3)修改配置文件:vim ./etc/hadoop/hadoop-env.sh
    将JAVA_HOME改成真实路径:
    在这里插入图片描述
    (3) 测试
    版本:which hadoop
    hadoop version
    计算单词出现数量:
    创建准备数据目录:mkdir /home/input
    创建数据:cp ./etc/hadoop/*.xml /home/input
    计算:
    hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.4.jar wordcount /home/input/ /home/output
    注意:output文件不可先创建。因为容易把统计的结果集打乱,统计的东西只能放在一个空白的地方。

  3. 克隆三台机器
    (1) 克隆
    (2) 修改网卡信息
    只改名字即可:

vim  /etc/udev/rules.d/70-persistent-ipoib.rules

将NAME改为ens33,mac地址也改
在这里插入图片描述

(3) 修改主机名

vim /etc/sysconfig/network 

(4) 修改ip、uuid、HWADDR信息

vim /etc/sysconfig/network-scripts/ifcfg-ens33

(5) 修改映射
vim /etc/hosts
在这里插入图片描述
备注: 同样的方法继续克隆 hadoop03。
4. 安装规划
在这里插入图片描述
5. 配置hadoop的相关配置文件

(0)vim  ./etc/hadoop/hadoop-env.sh
将里面的JAVA_HOME改成真实路径。
(1)vim  ./etc/hadoop/core-site.xml
<**configuration**>
	<!--配置hdfs文件系统的命名空间-->
   <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop01:9000</value>
    </property>
	<!--配置操作hdfs的缓冲大小-->
	<property>
        <name>io.file.buffer.size</name>
        <value>4096</value>
</property>
	<!--配置临时数据存放目录-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/bigdata/tmp</value>
    </property>
</configuration>
(2)vim  ./etc/hadoop/hdfs-site.xml
<configuration>
 <!--副本数-->
  <property>
    <name>dfs.replication</name>
    <value>3</value>
  </property>
  <!--块大小-->
  <property>
    <name>dfs.block.size</name>
    <value>134217728</value>
  </property>
  <!--hdfs的元数据存放的目录-->
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/home/hadoopdata/dfs/name</value>
  </property>
  <!--hdfs的数据的存放位置-->
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/home/hadoopdata/dfs/data</value>
  </property>
   <!--hdfs的检测目录-->
  <property>
    <name>dfs.checkpoint.dir</name>
    <value>/home/hadoopdata/checkpoint/dfs/cname</value>
  </property>
  <!--hdfs的namenode的web ui 地址-->
  <property>
    <name>dfs.http.address</name>
    <value>hadoop01:50070</value>
  </property>
   <!--hdfs的snn的web ui 地址-->
  <property>
    <name>dfs.secondary.http.address</name>
    <value>hadoop01:50090</value>
  </property>
   <!--是否开启web操作hdfs-->
  <property>
    <name>dfs.webhdfs.enabled</name>
    <value>false</value>
  </property>
   <!--是否启用hdfs的权限(acl)-->
  <property>
    <name>dfs.permissions</name>
    <value>false</value>
  </property>
</configuration>
(3)vim  ./etc/hadoop/mapred-site.xml
先执行:
mv ./etc/hadoop/mapred-site.xml.template  ./etc/hadoop/mapred-site.xml

<configuration>
  <!--指定mapredurce 运行框架-->
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
	<final>true</final>
  </property>
  <!--历史服务的通讯地址-->
  <property> 
    <name>mapreduce.jobhistory.address</name> 
    <value>hadoop01:10020</value> 
  </property> 
  <!--历史服务的web ui 地址-->
  <property> 
    <name>mapreduce.jobhistory.webapp.address</name> 
    <value>hadoop01:19888</value> 
  </property> 
</configuration>
(4)vim  ./etc/hadoop/yarn-site.xml
<configuration>
  <!--指定rm所启动的服务主机名-->
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop01</value> 
  </property>
   <!--指定rm的shuffle-->
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value> 
  </property>
    <!--指定rm的内部通讯地址-->
  <property>
    <name>yarn.resourcemanager.address</name> 
    <value>hadoop01:8032</value> 
  </property>
    <!--指定rm的scheduler内部通讯地址-->
  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>hadoop01:8030</value>
  </property>
   <!--指定rm的resource-tracker内部通讯地址-->
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>hadoop01:8031</value>
  </property>
  <!--指定rm的admin内部通讯地址-->
  <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>hadoop01:8033</value>
  </property>
  <!--指定rm的web ui监控地址-->
  <property>
    <name>yarn.resourcemanager.webapp.address</name> 
    <value>hadoop01:8088</value>
  </property>
</configuration>
(5)vim  ./etc/hadoop/slaves
hadoop01
hadoop02
hadoop03
(6)远程分发别的服务器上面
删除其他两台机器 02,03上的hadoop
rm -rf /usr/local/hadoop-2.8.4/

先删除01 上的doc

rm -rf ./share/doc/

再分发

scp -r ../hadoop-2.8.4/ hadoop02:/usr/local/
scp -r ../hadoop-2.8.4/ hadoop03:/usr/local/

成功格式化

(7)格式化
启动之前,在namenode服务器上面先格式化,只需要一次即可

hadoop namenode –format

格式话成功
在这里插入图片描述
(8)启动服务
启动服务:有三种方式
1.全启动:start-all.sh
2.模块启动:

start-dfs.sh    
start-yarn.sh

3.单个进程启动

hadoop-daemon.sh start/stop namenode
hadoop-daemons.sh start/stop datanode
yarn-daemon.sh start/stop namenode
yarn-daemons.sh start/stop datanode
mr-jobhistory-daemon.sh start/stop historyserver

这里通过第一中方式启动
(9)测试
1.查看进程是否按照规划启动起来
2.查看对应模块的web ui监控是否正常
http://192.168.11.128:50070
http://192.168.11.128:8088
3.上传下载文件(测试hdfs)、跑一个mapreduce的作业

hdfs dfs -put ./README.txt /
yarn jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.4.jar wordcount /README.txt /out/00
  1. ssh免密登录
    在01(namenode)这台机器上执行:
    ssh-keygen -t rsa
    一直回车即可
    执行完成后:执行
ssh-copy-id hadoop02
ssh-copy-id hadoop03

测试

ssh hadoop01
ssh hadoop02
ssh hadoop03

都不需要输入密码即可登录

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值