Hadoop(二)————集群的搭建

本文详细介绍如何在CentOS系统上搭建Hadoop集群,包括Linux环境配置、JDK安装、Hadoop配置步骤及常见问题解决方案。

1、条件准备

1.1 装Linux系统(CentOS)

1.2 配置网络连接

采用NAT模式设置静态IP,防止每次开机时IP地址变化,具体设置方式如:
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

1.3 VMware几种网络配置方式详解
这里写链接内容
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

1.4 Linux环境配置

1.4.1 添加用户

adduser hadoop    //添加一个名为hadoop的用户
passwd  hadoop   //修改用户密码

1.4.2 赋予root权限

vi /etc/sudoers 修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:

## Allow root to run any commands anywhere
root    ALL=(ALL)     ALL
tommy   ALL=(ALL)     ALL

修改完毕,现在可以用hadoop帐号登录,然后用命令 su - ,即可获得root权限进行操作。

1.4.3 修改主机名

vim /etc/sysconfig/network

1.4.4 修改IP(推荐有图形界面的直接在图形界面中点击编辑网络进行修改)

vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
        BOOTPROTO="static"   ###
        HWADDR="00:0C:29:BF:45:8B"
        IPV6INIT="yes"
        NM_CONTROLLED="yes"
        ONBOOT="yes"
        TYPE="Ethernet"
        UUID="99339c27-0884-46c0-85d5-2612e5c1f149"
        IPADDR="192.168.1.110"   ###
        NETMASK="255.255.255.0"  ###
        GATEWAY="192.192.1.1"    ###

重启网络连接生效:service network restart
1.4.5 修改主机名和IP的映射关系

vi /etc/hosts
192.168.1.110 Master

注销重新登陆生效。

1.4.6 关闭防火墙

查看防护墙状态

service iptables status

关闭

service iptables stop

查看防火墙开机启动状态

chkconfig iptables --list

关闭开机启动

chkconfig iptables off

2 安装JDK
上传JDK
添加执行权限

chmod u+x jdk-6u45-linux-i586.bin

解压

tar -zxvf jdk-6u45-linux-i586.bin

将java添加到环境变量

vim /etc/profile

在文件的末尾添加如下内容

export JAVA_HOME=/usr/java/jdk1.6.0_45
export PATH=$PATH:$JAVA_HOME/bin

刷新配置

source /etc/profile

3、配置Hadoop

3.1上传hadoop包

3.2解压hadoop包
首先在根目录创建一个cloud目录

mkdir /cloud

解压

tar -zxvf hadoop-1.1.2.tar.gz -C /cloud/

3.3 配置hadoop伪分布式(要修改5个文件)

第一个:hadoop-env.sh

vim hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.6.0_45

第二个:core-site.xml

vim core-site.xml

<configuration>
<!-- 指定HDFS的namenode的通信地址 -->
    <property>
        <name>fs.default.name</name>
        <value>hdfs://Master:9000</value>
    </property>
<!-- 指定hadoop运行时产生文件的存放目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/cloud/hadoop-1.1.2/tmp</value>
    </property>
</configuration>

第三个:hdfs-site.xml

vim hdfs-site.xml

<configuration>
<!-- 配置HDFS副本的数量 -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

第四个:mapred-site.xml

vim mapred-site.xml

<configuration>
<!--指定mapreduce运行模式为yarn-->
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
</configuration>

第五个:yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
        <property>
            <!--指定主机名-->
                <name>yarn.resourcemanager.hostname</name>
                <value>Master</value>
        </property>
        <property>
            <!--指定nodemanager的方式-->
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>

3.4将hadoop添加到环境变量

vim /etc/profile

export JAVA_HOME=/usr/java/jdk1.6.0_45
export HADOOP_HOME=/cloud/hadoop-1.1.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

//使配置文件生效   
source /etc/profile

3.5格式化HDFS

hadoop namenode -format

3.6启动hadoop

start-dfs.sh(启动hdfs集群)
start-yarn.sh(启动yarn集群)

start-all.sh(启动所有的集群,包含上面两个)

3.7验证集群是否启动成功

jps(不包括jps应该有5个)
    NameNode
    SecondaryNameNode
    DataNode
    ResoureManager
    NodeManager

在这个文件中添加linux主机名和IP的映射关系
C:\Windows\System32\drivers\etc
还可以通过浏览器的方式验证
http://192.168.1.110:50070 (hdfs管理界面)
http://192.168.1.110:50030 (mr管理界面)
3.8 hdfs验证

hdfs验证
通过网页访问hdfs
hdfs shell 命令
hdfs dfsadmin -report查看hdfs集群状态
put get mv rm的演示

3.9 验证YARN是否正常运行
进入/home/hadoop/app/hadoop-2.4.1/share/hadoop/mapreduce下执行

 hadoop jar hadoop-mapreduce-examples-2.4
.1.jar pi 5 5

查看集群是否正常运行。

3.9 解决hadoop无法启动datanode或者无法启动namenode

我们在使用 hadoop namenode -format 时,才会初始化一个name文件夹,
在启动datanode后,才会创建一个data目录,所以我使用的方法是,
把data目录清空,然后重新格式化namenode,再分别启动 hdfs 和yarn,就可以了!

5386 Jps
5351 NodeManager
5116 SecondaryNameNode
4866 NameNode
5255 ResourceManager
4956 DataNode

我这里用的这种方法,会导致数据的丢失。

4、一些HDFS常用的基本操作命令
HDFS上传文件命令: hadoop fs -put jdk-7u65-linux-i586.tar.gz hdfs://hadoop01:9000/
HDFS下载文件命令:hadoop fs -get hdfs://hadoop01:9000/jdk-7u65-linux-i586.tar.gz
为HDFS建立目录的命令:

hadoop fs -mkdir hdfs://hadoop01:9000/wordcount

为wordcount建立子目录:

hadoop fs -mkdir /wordcount/input 

删除目录命令:

hadoop fs -rm -r /wordcount/input

查看命名大全:

hadoop fs --help

5、无密登陆

5.1 无密登陆原理
这里写图片描述
5.2 配置ssh免登陆

1、在各自的 /etc/hosts文件夹里加入对方的IP映射

vim /etc/hosts

172.25.11.100  Master
172.25.11.101  Slave1

2、生成ssh免登陆密钥

ssh-keygen -t rsa

执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥),将公钥拷贝到要免登陆的机器上:scp id_rsa Slave1:~/home/.ssh

3、将对方的公钥追加到自己的授权列表中

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

4、免密登陆验证
ssh Slave1

6、复制镜像不能CentOS间联网问题的解决
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值