CentOS版hadoop完全分布初步搭建

(之前学习时的记录)

整理一下在搭建hadoop完全分布模式时的相关步骤,及搭建过程中遇到的一些问题。

相关环境:

  环境:基于win7的VM中CentOS64位系统

  台数:3台;分别为master、slave1、slave2

  hadoop版本:CDH3-U6

  所用到的工具:Xshell(远程链接管理工具)、filezilla(可以远程移动文件)

第一部分:在VM安装CentOS

1、下载

  VM自己从网上下载,尽量不要装最新版本的;CentOS选择后缀为iso版本下载

2安装

  VM自己安装

  安装好VM后,开始安装CentOS;相关安装可以参考链接如下:

http://www.91linux.com/html/2014/CentOS_0415/9725.html

  刚开始安装可以照着教程来装,参考教程上安装的是Desktop(桌面版)的,比较熟练的话尽量安装成Basic Serve版,相关步骤一样,只是后者没有操作界面,完全是代码行。

3、每个CentOS信息

对于初步搭建hadoop完全分布来说,安装三台Linux系统已足以。对于此,我分别安装了命名为master、slave1、slave2三台虚拟机,为Basic Serve版,相关配置后续再说。

第二部分、在CentOS中搭建hadoop集群

1修改主机名和用户名(root用户执行,所有节点都需执行)

    1)对上一步已搭建完的三个虚拟机,分别增加hadoop用户(root用户执行,所有节点执行):

    

  [[email protected] ~]#useradd hadoop

  #添加以hadoop为用户名的用户

  [[email protected] ~]#passwd hadoop

  #修改该用户密码,密码统一设置为hadoop

    2)修改主机名(root用户,所有节点都需要执行)

  [[email protected] ~]#vi /etc/sysconfig/network

  #使用VI对network文件进行修改文件打开后会出现:

  NETWORK=yes

  HOSTNAME=localhost.localhost

  按键盘的I键进行编辑,对于完全分布式来说,分别修改其“localhost.localhost”为“master”“slave1”“slave2”,修改完之后按Esc+Shift:+wq进行保存退出。

    

  3)节点之间互访配置(这一步可以在配置完IP地址后在执行,所有节点执行)

  [[email protected] ~]#vi /etc/hosts

  #打开host文件,在文件末尾追加:

  192.168.1.10    master

  #masterIP地址与主机名

  192.168.1.11   slave1

  # slave1IP地址与主机名

  192.168.1.12   slave2

  # slave2IP地址与主机名

2、配置静态IP(root用户执行,所有节点都需执行)

1)相关注意:在安装上CentOS后,会存在一个如何与宿主机进行正常通信的问题,在这一步中,首先在VM的网络虚拟配置中找到网络链接方式,选择为“桥接”模式,并选择具体网卡,

接着在系统设置中,设置虚拟机的连接方式为“桥接”;打开宿主机(Win7)中的cmd,输入ipconfig查看宿主机网段并记下,我的这台网段是10.129.49.xxx,所以在虚拟机桥接模式下,

所有虚拟机IP都应设为10.129.49.xxx(所有节点后边的数都不能相同)。

    2)修改ifcfg-eth0文件(eth0代表网卡,可能有的虚拟机的网卡会不同,具体为哪个视虚拟机而定,root用户执行,所有节点都需执行)

  在root用户下,输入

  [[email protected] ~]#cd /etc/sysconfig/network-scripts

  #进入network-scripts目录

  [[email protected] ~]#ll

  #查看目录下所有文件,看你的网卡是否是eth0,如果不是,视具体虚拟机而定

  [[email protected] ~]#vi /etc/sysconfig/network-scripts/ifcfg-eth0

  #进ifcfg-eth0文件,并进行编辑修改:(红色为修改部分)

  DEVICE=eth0

 BOOTPROTO=static

 NM_CONTROLLED=yes

 ONBOOT=yes

  IPADDR=192.168.1.10

 #静态IP地址

  NETMASK=255.255.255.0

   #掩码地址

  GATWAY=192.168.1.1

  #网关地址

    3)修改UUID

  [[email protected] ~]#vi /etc/sysconfig/network-scripts/ifcfg-eth0

  #删除MAC地址行

  [[email protected] ~]#rm  -rf  /etc/udev/rules.d/70-persistent-net.rules

  #删除网卡和MAC地址绑定文件

    4)重启并查看IP

  [[email protected] ~]#reboot

  [[email protected] ~]#ifconfig

  打开宿主机的cmd,输入ping 192.168.1.10查看是否能进行通信,如果能则表示配置成功;分别配置slave1、slave2。

3、使用Xshell进行远程登录

  使用Xshell登录是因为CentOS自带界面不可更改,也无法调整字体大小

  对配置好IP的虚拟机用Xshell进行远程登录(即IP地址、用户名、用户密码),登陆后设置界面,调整字体大小。

4、配置SSH无密码链接

    1)永久关闭防火墙(root用户)

  [[email protected] ~]#chkconfig iptables off

    2)启动SSH服务命令(root用户)

  [[email protected] ~]#service ssh restart

  #重启SSH

  [[email protected] ~]#rpm -qa | grep openssh

  #检查SSH是否安装成功

  如果出现下面的信息:

  openssh-askpass-5.3p1-81.e16.x86_64

  openssh-5.3p1-81.e16.x86_64

  openssh-clients-5.3p1-81.e16.x86_64

  openssh-server-5.3p1-81.e16.x86_64

  再执行命令:

  [[email protected] ~]#rpm -qa | grep rsync

  如果出现以下信息:

  rsync-3.0.6-9.e16.x86_64

  说明SSH安装成功。

    3)生成SSH公匙(hadoop用户)

  在主节点即master上执行

  [[email protected] ~]$ssh-keygen -t rsa

  #遇到提示回车即可,最后显示图形为公匙的指纹加密

  [[email protected] ~]$ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

  [[email protected] ~]$ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

  [hado[email protected] ~]$ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

  #将公匙发至从节点的slave1、slave2用户

  注意:对于完全分布来说,只在主节点配置SSH无密码链接即可,之后把公匙发至从节点

4)验证安装(hadoop用户)

  [[email protected] ~]$ssh master

  [[email protected] ~]$ssh slave1

  [[email protected] ~]$ssh slave2

  #如果没有出现输入密码提示则表示安装成功,执行这条命令后会远程登录从节点,返回主节点执行exit

  若按照上面步骤执行任然不成功,有可能是/home/hadoop/.ssh文件夹的权限问题。以hadoop用户执行

  [[email protected] ~]$chmod 700 /home/hadoop/.ssh

  [[email protected] ~]$chmod 700 /home/hadoop/.ssh/authorized_keys

5安装JDK(root用户,所有节点都需执行)

  CentOS预装的是Open JDK,但还是要推荐用Oracle JDK,下载地址为:

http://www.oracle.com/technetwork/Java/Javase/downloads/index.html

    1)修改/opt文件夹权限

  [[email protected] ~]#chown -R hadoop /opt

    2)卸载Open JDK

  [[email protected] ~]#java -version

  #查看Java版本

  [[email protected] ~]#rpm -qa | grep java

  #查看Java详细信息

  显示如下信息:

  java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

  java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

  卸载:

  [[email protected]

~]#rpm -e –nodeps

java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

  [[email protected] ~]#rpm -e –nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

  或者执行指令卸载:

  [[email protected]

~]#yum -y remove java java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

  [[email protected]

~]#yum -y remove java java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

    3)安装Oracle JDK(hadoop用户也可)

  在第1)步给/opt文件夹加权限后,就可以使filezilla工具直接把在Windows中的JDK安装包直接拖至/opt文件夹下,然后进行解压:

  [[email protected]

~]#tar -xzvf jdk-6u43-linux-x64.tar.gz

  #解压JDK至/opt文件夹下

  解压完后,删除JDK安装

  [[email protected]

~]#rm -rf jdk-6u43-linux-x64.tar.gz

  #移除JDK安装

    4)配置环境变量

  [[email protected] ~]#vi /etc/profile

  #对profile文件进行编辑

  对文件追加:

  export JAVA_HOME=/opt/jdk1.6.0

  export PATH=$PATH:$JAVA_HOME/bin

    

  使环境变量立即生效,执行命令:

  [[email protected] ~]#source /etc/profile

    5)验证安装

  [[email protected] ~]#java -version

  出现如下信息,则安装成功:

  #查看Java版本

  Java version “1.6.0_31”

  Java(TM) SE Runtime Environment (build 1.6.0_31-b04)

  Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01,mixed mode)

    

6、配置hadoop(hadoop用户,只在主节点执行)

  前面已经对/opt权限进行过修改,这一步就直接在/opt文件安装配置即可;

  利用filezilla工具把安装包发送至/opt文件夹下(只在hadoop主节点即master节点执行),执行解压缩。

    

    1)解压文件

    

  [[email protected] ~]$tar -zxvf hadoop-0.20.2-cdh3u6.tar.gz

  #解压缩hadoop安装

    2)修改配置文件(hadoop用户在主节点执行)

  Hadoop的配置文件都在/opt/ hadoop-0.20.2-cdh3u6/conf下,对其中主要文件进行配置:

    

    修改hadoop-env.sh

  在文件hadoop-env.sh末尾追加环境变量

  export JAVA_HOME=/opt/jdk1.6.0

   export HADOOP_HOME=/opt/hadoop-0.20.2-cdh3u6

    修改core-site.xml

修改core-site.xml为:

  <configuration>

    <property>

      <name>fs.default.name</name>

      <value>hdfs://master:9000</value>

    </property>

  </configuration>

修改hdfs-site.xml

修改hdfs-site.xml为:

<configuration>

<property>

      <name>dfs.replication</name>

      <value>3</value>

</property>

  </configuration>

      <name>dfs.name.dir</name>

      <value>/opt/hdfs/name</value>

</property>

    <property>

      <name>dfs.data.dir</name>

      <value>/opt/hdfs/data</value>

    </property>

</configuration>

修改mapred-site.xml

修改mapred-site.xml为:

 <configuration>

<property>

      <name>mapred.job.tracker</name>

      <value>master:9001</value>

    </property>

</configuration>

    3)修改masters文件

  修改masters文件为:

  master

    4)修改slaves文件

  修改slaves文件为:

  slave1

  slave2

    5)将安装文件发送至从节点

利用scp命令将安装文件夹分发到从节点的相同路径下:

  [[email protected] ~]$scp -r /opt/hadoop-0.20.2-cdh3u6 [email protected]:/opt

  [[email protected] ~]$scp -r /opt/hadoop-0.20.2-cdh3u6 [email protected]:/opt

  至此,Hadoop安装配置工作全部完成,为了能在任何路径下使用Hadoop命令,还需要配置环境变量(root用户执行,所有节点都需要执行)。对文件/etc/profile追加如下信息:

  export HADOOP_HOME=/home/hadoop/hadoop-0.20.2-cdh3u6

  export PATH=$PATH:$HADOOP_HOME/bin

    

  修改完后,执行命令行(root用户执行,所有节点都需要执行):

  [[email protected] ~]#source /etc/profile

7、格式化HDFS

  在第一次启动Hadoop之前,必须先将HDFS格式化。执行命令:

  [[email protected] ~]$hadoop namenode -format

  #如果别的路径执行不了,则进入/opt/hadoop-0.20.2-cdh3u6/bin文件执行

  按照提示输入Y,格式化成功后会出现格式化成功的信息:

16/1/20 10:50:51 INFO common.Storage: Storage directory /opt/hdfs/name has been successfully formatted.

8、启动Hadoop并验证安装

    1)启动Hadoop

  首先赋予脚本可执行权限(hadoop用户所有节点都需要执行),执行命令:

  [[email protected] ~]$chmod +x -R /opt/hadoop-0.20.2-cdh3u6/bin

  然后执行启动脚本(hadoop用户,主节点执行),执行命令:

  [[email protected] ~]$./opt/ hadoop-0.20.2-cdh3u6/bin/start-all.sh

    

  执行完成后,执行jps命令查看进程是否启动成功,若成功;

  [[email protected] ~]$jps

  主节点会出现:

  NameNode

  JobTracker

  SecondaryNameNode

  slave1节点出现:

  DateNode

  TaskTracker

  slave2节点出现:

  DateNode

  TaskTracker

9、验证是否安装成功

在新安装的集群上运行一个MapReduce程序,判断集群是否安装成功,Hadoop例库中自带多中已经写好的可以运行的MR程序,此处,此处以最简单的单词计数程序WordCount进行集群平台验证:

    1)在集群的任何一台电脑上创建一个文本文件命名为words,这里以master为例。对文本文件添加内容:如“data mining on data warehouse”,如果程序正常运行,最终结果为:

  data  2

  mining  1

  on  1

  warehouse  1

    2)在HDFS中新建目录并上传本地文件执行命令如下:

  #HDFS中新建目录

  [[email protected] ~]$hadoop dfs –mkdir /user/hadoop/input

  #将本地文件上传

  [[email protected] ~]$hadoop dfs –put /opt/words /user/hadoop/input

    3)运行程序并查看结果

  #运行单词统计程序

  [[email protected] ~]$hadoop jar /opt/hadoop-0.20.2/hadoop-examples-0.20.2- cdh3u6.jar wordcount /user/hadoop/input /user/hadoop/output

  #查看程序输出

  [[email protected] ~]$hadoop dfs –cat /user/hadoop/output/part-r-00000

  屏幕打印为:

  data  2

  mining  1

  on  1

  warehouse  1

  表示集群可以正常运行,到此Hadoop安装结束。



以上就是CentOS版hadoop完全分布初步搭建的全部内容了,更多内容请关注:CPP学习网_CPP大学

本文固定链接:CPP学习网_CPP大学-CentOS版hadoop完全分布初步搭建

时间: 2024-08-06 20:08:27

CentOS版hadoop完全分布初步搭建的相关文章

Hadoop伪分布环境搭建——Linux环境配置

hadoop最近可以说是相当火,也勾起了我的兴趣,所以打算学习一下.想要学习hadoop肯定要先学会在自己的电脑上搭建一个hadoop伪分布环境.伪分布模式安装步骤的第一步就是要配置Linux环境.我自己的Linux是Ubuntu系统,不过只要是Linux系统,都大同小异,配置步骤基本没啥区别. 首先,需要进行本地网络配置.我们需要在linux系统下新增一个网络连接,自己设定好ip(ipv4)地址,子网掩码和网官.下图是我的设置: 接下来,还需要在window本地连接上也设置windows下的i

Hadoop集群初步搭建:

自己整理了一下Hadoop集群简易搭建的过程,感谢尚观科技贾老师的授课和指导! 基本环境要求:能联网电脑一台:装有Centos系统的VMware虚拟机:Xmanager Enterprise 5软件. •规划集群的ip地址:(计划) 10.10.10.31-->uplooking01 10.10.10.32-->uplooking02 10.10.10.33-->uplooking03 •克隆2个虚拟机:(在VMware里操作) 右击将uplooking重命名为uplooking01:

基于CentOS的Hadoop分布式环境的搭建——你要知道自己到底该做哪些事儿

首先,要说明的一点的是,我不想重复发明轮子.如果想要搭建Hadoop环境,网上有很多详细的步骤和命令代码,我不想再重复记录. 其次,我要说的是我也是新手,对于Hadoop也不是很熟悉.但是就是想实际搭建好环境,看看他的庐山真面目,还好,还好,最好看到了.当运行wordcount词频统计的时候,实在是感叹hadoop已经把分布式做的如此之好,即使没有分布式相关经验的人,也只需要做一些配置即可运行分布式集群环境. 好了,言归真传. 在搭建Hadoop环境中你要知道的一些事儿: 1.hadoop运行于

hadoop学习;hadoop伪分布搭建

先前已经做了准备工作安装jdk什么的,下面开始ssh免密码登陆,这里我们用的是PieTTY工具,当然你也可以直接在linux下直接操作 ssh(secure shell),执行命令 ssh-keygen -t rsa产生密钥,位于~/.ssh文件夹中 \ 一路enter 复制为文件authorized_keys 登陆成功和退出 接下来传输jdk和hadoop文件,这里用的工具是WinScp(类似ftp上传工具),有的虚拟机可以设置直接从物理机拖拽,我这放到/root/Downloads下 然后复

大数据学习:Hadoop中伪分布的搭建

<注:我们假设使用的是一个没有进行过任何配置的Linux系统,下面我们开始进行伪分布的搭建> 1.设置IP 地址 设置完成后,执行命令:service iptables restart 验证:         ifconfig 2. 关闭防火墙 执行命令        service iptables stop 验证:                 service iptables status 3.关闭防火墙的自动运行 执行命令        chkconfig iptables off

centos下hadoop的安装

hadoop的安装不难,但是需要做不少的准备工作. 一.JDK 需要先安装jdk.centos下可以直接通过yum install java-1.6.0-openjdk来安装.不同发布版的安装方式可能不一样. 二.设置ssh 之后,需要设置ssh为密钥认证登录.如果没有这一步,那么以后每次hadoop运行的时候都会提示输入密码.可以直接ssh-keygen -t rsa一路回车生成ssh的密钥对,然后进入当前用户的家目录,进入.ssh目录,cp /home/hadoop/.ssh/id_rsa.

Hadoop源代码阅读环境搭建

Hadoop源代码阅读环境搭建 一.说明 作为一个学习hadoop的同学.必须在本机上搭建hadoop源代码阅读环境,这样,在方便阅读源代码的同一时候也方便进行调试和源代码改动. 好了.以下開始搭建好开发环境. 1.环境说明:hadoop 版本号:1.2.1. IDE:eclipse.操作系统:centos 2.网上有人是通过eclipse的新建项目指定文件夹的方式将hadoop文件夹转换成Eclipseproject同一时候导入eclipse,详细做法例如以下: File-->new-->J

hadoop伪分布下的sqoop基本安装配置

1.环境工具版本介绍 centos6.4(Final) jdk-7u60-linux-i586.gz hadoop-1.1.2.tar.gz sqoop-1.4.3.bin__hadoop-1.0.0.tar.gz mysql-5.6.11.tar.gz 2.安装centos 参照网上Ultra的使用制作了U盘启动,直接格式化安装系统,具体做法网上资料很多,但注意最好不要在安装时改主机名称,也最好不要利用图形化界面添加用户,因为我出过问题重做了系统,这些terminal中都能完成的 3.安装jd

[zz]阿里云计算:CentOS+nginx+Django+Postgresql web环境搭建

原文链接: http://www.cnblogs.com/AllStarGIS/p/3788518.html 参考链接: 1. http://www.cnblogs.com/zhouej/archive/2012/03/25/2379646.html 2. http://ec58.com/archives/2836 最近在在万网和阿里云上分别购买了一个域名和一台云服务器,打算用来做点什么.昨天吃完晚饭稍作休息开始对这个新奇的玩意作了些了解并着手配置其运行环境,今早凌晨4点多才弄得7788,为此也