2019独角兽企业重金招聘Python工程师标准>>>

本文是将三台电脑用路由器搭建本地局域网,系统为centos6.5,已经实验验证,搭建成功。

一、设置静态IP&修改主机名&关闭防火墙(all-root)(对三台电脑都需要进行操作)

0.将三台电脑安装centos6.5系统

1.设置静态ip(便于机器之间的通信,防止路由器电脑重启后,ip变化,导致不能通信)

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

DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0
BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址
BROADCAST=192.168.0.255 #对应的子网广播地址
HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址

在文件最后面添加一下代码

IPADDR=192.168.80.100

NETMASK=255.255.255.0

NETWORK=192.168.0.0
里面的IPADDR地址设置你想要的,我这里是192.168.80.100。
设置好后,需要让IP地址生效,运行下面命令:

service network restart Shutting down interface

然后运行ifconfig就可以看到静态ip是否生效。

2.修改主机名(每台电脑都要修改,建议使用hadoop100,hadoop101,hadoop102,对应于ip地址最后面三位数)

vi /etc/sysconfig/network

hostname=hadoop100

重启一下网络service network restart

验证reboot -h now 立刻重启  然后hostname

3.关闭防火墙

关闭已经启动的防火墙: service iptables stop (只能关闭当前)

验证:service iptables status

Firewall is not running

关闭防火墙开机自动启动功能:

(1). 先查看 查看: chkconfig --list |grep iptables
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off

(2). 关闭 chkconfig  iptables off

验证:chkconfig --list |grep iptables

4.建立hadoop运行帐号

最好不要使用root操作hadoop,root是超级管理员权限,不推荐各个机器之间使用root访问,

useradd hadoop 增加用户
passwd hadoop 设置密码

二、配置hosts文件(只需要对主机192.168.80.100(hadoop100)进行操作,然后通过scp命令将这些配置分发给其他电脑即可)

操作192.168.80.100机器

vi /etc/hosts   添加下面内容

192.168.80.100 hadoop100
192.168.80.101 hadoop101
192.168.80.102 hadoop102

验证:ping  hadoop100
ping  hadoop101
ping  hadoop102

三、为hadoop账户配置ssh免密码连入(只需对hadoop100操作)

操作hadoop100机器

① ssh-keygen -t rsa会在~/.ssh/文件夹下生成id_rsa  id_rsa.pub两个文件

② 根据ip分别执行
cp ~/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub.100
cp ~/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub.101
cp ~/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub.102
scp -r ~/.ssh/id_rsa.pub.101   hadoop@hadoop100:/home/hadoop/.ssh
scp -r ~/.ssh/id_rsa.pub.102   hadoop@hadoop100:/home/hadoop/.ssh
 
④ 把所有机器的公钥,放在hadoop100的一个文件中(在hadoop100的hadoop用户下操作)
 cat ~/.ssh/id_rsa.pub.100 >> ~/.ssh/authorized_keys
 cat ~/.ssh/id_rsa.pub.101 >> ~/.ssh/authorized_keys
 cat ~/.ssh/id_rsa.pub.102 >> ~/.ssh/authorized_keys
 
验证 ssh hadoop101  发现无效,提示还是需要密码。
 
⑤ 修改authorized_keys的权限, 组用户不能有 写(W)权限, 不然ssh 由于安全问题不生效
authorized_keys 权限改为 644 就OK 
 
命令  chmod g-w authorized_keys
 
然后分发给 101和102
scp -r ~/.ssh/authorized_keys   hadoop@hadoop101:/home/hadoop/.ssh
scp -r ~/.ssh/authorized_keys   hadoop@hadoop102:/home/hadoop/.ssh

验证: ssh hadoop101 ...
然后神奇的事情发生了。 3台机器彼此之间可以互联。
 
四、下载并解压jdk(只需对hadoop100操作)
使用root用户进行操作,把jdk解压到/usr/local/ 文件夹中。

[root@hadoop100 local]#  cd /usr/local

[root@hadoop100 local]#  ./jdk-6u30-linux-x64.bin解压jdk后,生成jdk1.6.0_30文件夹

配置环境变量
[root@hadoop100 local]# vi /etc/profile在最后面加上下面两行
export JAVA_HOME=/usr/local/jdk1.6.0_30
export PATH=.:$JAVA_HOME/bin:$PATH
保存退出
[root@hadoop100 local]# source /etc/profile使新修改的环境变量生效。
 
验证: java -version
五、下载并解压hadoop安装包(仅对hadoop100操作)
 
5.1解压hadoop并重命名
 
使用root用户进行以下操作
tar -zxvf /usr/local/hadoop-1.1.2.tar.gz  
解压后生成文件夹hadoop-1.1.2。
重命名   mv hadoop-1.1.2 hadoop
 
5.2修改权限,使得hadoop用户可以操作hadoop文件夹
 
chown -R hadoop /usr/local/hadoop/
chgrp -R hadoop /usr/local/hadoop/
 
5.3设置hadoop环境变量
 
vi /etc/profile


修改为
export JAVA_HOME=/usr/local/jdk1.6.0_30
export HADOOP_HOME=/usr/local/hadoop

export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH

保存退出
source /etc/profile
 
验证: hadoop

 
六、设置hadoop参数
进入 usr/local/hadoop/conf 文件夹,即可看到以下文件
6.1配置hadoop-env.sh
 
找到export JAVA_HOME这一行,去除前面的#号注释符。
修改 export JAVA_HOME=/usr/local/jdk1.6.0_30
 
6.2配置core-site.xml
 
<configuration>
    <property>
<name>fs.default.name</name>
<value>hdfs://hadoop100:9000</value>
<description>change your own hostname</description>
    </property>
    <property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
    </property> 
</configuration>
 
6.3配置hdfs-site.xml
 
<configuration>
   <property>
<name>dfs.replication</name>
<value>2</value>
   </property>
</configuration>
 
6.4配置mapred-site.xml
 
<configuration>
    <property>
<name>mapred.job.tracker</name>
<value>hadoop100:9001</value>
<description>change your own hostname</description>
    </property>
</configuration>
 
6.5配置masters文件
 
将masters里的localhost改成hadoop100
 
6.6配置slaves文件
 
将slaves里的localhost改成
hadoop101
hadoop102
 
七、向其他机器复制jdk以及hadoop和一些配置
 
7.1分发hosts到其他机器(root用户)
 
scp -r /etc/hosts root@hadoop101:/etc/
scp -r /etc/hosts root@hadoop102:/etc/
 
7.2 分发java(root用户)
 
scp -r /usr/local/jdk1.6.0_30 root@hadoop101:/usr/local/
scp -r /usr/local/jdk1.6.0_30 root@hadoop102:/usr/local/
 
7.3分发环境变量/etc/profile(root用户)
 
scp -r /etc/profile root@hadoop101:/etc/
scp -r /etc/profile root@hadoop102:/etc/
 
分别通过ssh远程登录其他电脑
执行source /etc/profile 
分别验证: java -version
ping hadoop101
ping hadoop100
 
7.4分发hadoop(root用户)
 
scp -r /usr/local/hadoop/ root@hadoop101:/usr/local/hadoop/
scp -r /usr/local/hadoop/ root@hadoop102:/usr/local/hadoop/
再通过ssh远程登录其他电脑修改hadoop权限,如5.2所示。
再分别验证:hadoop
 
八、格式化hdfs
在hadoop100,hadoop101, hadoop102的hadoop用户下
执行命令 hadoop namenode -format 
 
九、启动hadoop
在hadoop100 上执行 start-all.sh
用jps检验
hadoop100上有

32387 Jps
32283 JobTracker
32198 SecondaryNameNode
32021 NameNode

hadoop101和hadoop102上有

30770 TaskTracker
30866 Jps
30666 DataNode

说明运行成功,。,这时你可以运行个wordcount这个小例子体验一下、。

转载于:https://my.oschina.net/u/559635/blog/404982

hadoop完全分布式相关推荐

  1. 搭建 Hadoop 伪分布式环境

    软硬件环境 CentOS 7.2 64 位 OpenJDK- 1.8 Hadoop- 2.7 关于本教程的说明 云实验室云主机自动使用 root 账户登录系统,因此本教程中所有的操作都是以 root ...

  2. hadoop完全分布式集群群起

    hadoop完全分布式集群群起 1.配置slaves 2. 启动集群 1.配置slaves [xuzhenchao@hadoop102 hadoop-2.7.5]$ vim slaves 在文件中增加 ...

  3. 构建Hadoop伪分布式环境

    构建Hadoop伪分布式环境 这篇文章介绍Hadoop伪分布式环境的搭建过程与原理,是个人的学习总结,以纪念在各个步骤中遇到的麻烦.踩过的坑! 这篇笔记包含这样几个内容: 配置伪分布式环境 运行一个简 ...

  4. 用Hadoop进行分布式并行编程

    程序实例与分析 Hadoop 是一个实现了MapReduce 计算模型的开源分布式并行编程框架,借助于Hadoop, 程序员可以轻松地编写分布式并行程序,将其运行于计算机集群上,完成海量数据的计算.在 ...

  5. 在多台机器上搭建Hadoop的分布式环境

    2019独角兽企业重金招聘Python工程师标准>>> 分布式环境搭建之环境介绍 之前我们已经介绍了如何在单机上搭建伪分布式的Hadoop环境,而在实际情况中,肯定都是多机器多节点的 ...

  6. 用 Hadoop 进行分布式并行编程, 第 3 部分 部署到分布式环境

    一 前言 在本系列文章的第一篇:用 Hadoop 进行分布式并行编程,第 1 部分: 基本概念与安装部署中,介绍了 MapReduce 计算模型,分布式文件系统 HDFS,分布式并行计算等的基本原理, ...

  7. 用 Hadoop 进行分布式并行编程, 第 2 部分 程序实例与分析

    前言 在上一篇文章:"用 Hadoop 进行分布式并行编程 第一部分 基本概念与安装部署"中,介绍了 MapReduce 计算模型,分布式文件系统 HDFS,分布式并行计算等的基本 ...

  8. 用 Hadoop 进行分布式并行编程, 第 1 部分 基本概念与安装部署

    Hadoop 简介 Hadoop 是一个开源的可运行于大规模集群上的分布式并行编程框架,由于分布式存储对于分布式编程来说是必不可少的,这个框架中还包含了一个分布式文件系统 HDFS( Hadoop D ...

  9. hadoop伪分布式模式_Hadoop模式介绍-独立,伪分布式,分布式

    hadoop伪分布式模式 了解了什么是Hadoop之后,让我们在单机上启动Hadoop: 这篇文章包含在ubuntu上安装Hadoop的说明. 这是Hadoop安装的快速分步教程. 在这里,您将获得以 ...

  10. Windows 7 64位系统上搭建Hadoop伪分布式环境(很详细)

    在开始配置前,我们先了解Hadoop的三种运行模式. Hadoop的三种运行模式 独立(或本地)模式:无需运行任何守护进程,所有程序都在同一个JVM上执行.在独立模式下测试和调试MapReduce程序 ...

最新文章

  1. 石墨文档技术总监:敏捷思想在产品周期的延伸
  2. 还在封装各种 Util 工具类?这个神级框架帮你解决所有问题!
  3. python ini文件操作
  4. extern C 作用
  5. java 几个实用的小工具
  6. 面试题系列-mysql连环13问
  7. Vue中基于Vuex使用echarts组件动态数据绑定的方法
  8. Shell脚本学习-阶段二
  9. Android蓝牙电话(SCO)和蓝牙音乐(A2DP)总结(四)
  10. linux服务器配置与管理_一个十多年的系统管理员,忘了如何管理一台服务器
  11. matplotlib 2.2.4 has requirement python-dateutil=2.1, but you'll have python-dateutil 1.5
  12. 新手学Java,是该用记事本还是IDE?
  13. 【场效应管】之【场效应管型号技术参数】
  14. 精睿ESET_VC52_UPID获取器(8.25更新4.2.2.0)
  15. 字典总结一|脚本类、用户名字典
  16. ! [remote rejected] master -> master (pre-receive hook declined)
  17. sapi 实现语音朗读
  18. ISTQB基础级备考攻略
  19. 【机房收费个人版】触发器与存储过程
  20. vr属于计算机什么领域,vr技术是什么

热门文章

  1. 电子邮件的故事:令人吃惊的预测
  2. RADIUS协议:认证与计费的鼻祖
  3. Python基础编程——字典
  4. 让人又爱又恨的Mysql多表查询
  5. 在 CentOS 8 中删除旧的 Linux 内核
  6. 教你实现Vscode的Markdown预览
  7. Trip to Saint Petersburg CodeForces-1250 C
  8. CodeForces - 960F[动态开点线段树优化dp]详解
  9. szu cf集训Codeforces Round #631 (Div. 2)A ~ D[贪心,数据结构,思维,dp]
  10. golang python rpc_grpc - 使用 golang 带你从头撸一套 RPC 服务(一)