hadoop安装文档

hadoop安装指南

测试环境服务地址:

master:192.168.72.141

slave1:192.168.72.146

slave2:192.168.72.148

slave3:192.168.72.149

 

对应机器名称为

192.168.72.141 Master.Hadoop

192.168.72.146 Slave1.Hadoop

192.168.72.148 Slave2.Hadoop

192.168.72.149 Slave3.Hadoop

 

1、网络配置(网络配置只演示master,其他类似) 每台机器都需要配置

a、修改当前机器名称

vim /etc/sysconfig/network

修改HOSTNAME 即可 master的设置为Master.Hadoop

b、修改当前机器ip

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

DEVICE="eth0"

BOOTPROTO="none"

IPADDR=192.168.72.141

NETMASK=255.255.255.0

GATEWAY=192.168.72.1

DNS1=8.8.8.8

HWADDR="00:0C:29:12:D1:66"

IPV6INIT="no"

NM_CONTROLLED="yes"

ONBOOT="yes"

TYPE="Ethernet"

UUID="49c41af0-b4c2-467b-9396-9b61be1e8f1c"

 

c、修改hosts文件

vim /etc/hosts

192.168.72.141 Master.Hadoop

192.168.72.146 Slave1.Hadoop

192.168.72.148 Slave2.Hadoop

192.168.72.149 Slave3.Hadoop

 

2、ssh免密码登录

先确保所有主机的防火墙处于关闭状态。

四台机器都要保证无密码登录

       1. $cd~/.ssh

       2. $ssh-keygen-t rsa  --------------------然后一直按回车键,就会按照默认的选项将生成的密钥保存在.ssh/id_rsa文件中。

       3. $cpid_rsa.pub authorized_keys 

         这步完成后,正常情况下就可以无密码登录本机了,即ssh localhost,无需输入密码。

       4. 所有服务器执行上面操作之后,在执行下面,主要防止authorized_keys覆盖。

    $ssh-copy-id -i  ~/.ssh/id_rsa.pub root@192.168.72.146

    或者

    ssh-copy-id-i  ~/.ssh/id_rsa.pub root@Slave1.Hadoop

 

 

3、Hadoop集群安装

准备的是hadoop-2.5.2.tar.gz,hadoop-native-64-2.5.2.tar(在启动的时候可能会出现错误,测试需要覆盖原来的lib/native),创建hadoop用户省略 自己去创建

 

我准备的目录为:/hadoop

 

进入/hadoop目录(已经上传了hadoop-2.5.2.tar.gz),

a、解压

tar -xvzf hadoop-2.5.2.tar.gz

b、重命名

mv hadoop-2.5.2 hadoop

c、将文件夹"hadoop"读权限分配给hadoop用户

chown –R hadoop:hadoop hadoop

d、删除hadoop-2.5.2.tar.gz

rm -fr hadoop-2.5.2.tar.gz

 

e、进入/hadoop/hadoop/

创建tmp目录

mkdir tmp

f、设置hadoop的环境变量

vim /etc/profile

修改,添加

export HADOOP_HOME=/hadoop/hadoop

export PATH=$PATH:$HADOOP_HOME/bin

 

g、再执行:source /etc/profile

 

h、配置hadoop

进入/hadoop/hadoop/etc/hadoop目录

配置hadoop-env.sh文件

vim hadoop-env.sh

修改

export JAVA_HOME=/usr/java/jdk1.7.0_79

 

配置core-site.xml文件

<property>

        <name>hadoop.tmp.dir</name>

        <value>/hadoop/hadoop/tmp</value>

        <description>A base for other temporarydirectories.</description>

   </property>

     <property>

       <name>fs.defaultFS</name>

       <value>hdfs://192.168.72.141:9000</value>

   </property>

 

备注:如没有配置hadoop.tmp.dir参数,此时系统默认的临时目录为:/tmp/hadoo-hadoop。而这个目录在每次重启后都会被干掉,必须重新执行format才行,否则会出错

 

 

配置hdfs-site.xml文件

/hadoop/name /hadoop/data这个两个目录先创建好

 

<property>

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

              <value>file:/hadoop/name</value>

       </property>

      <property>

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

               <value>file:/hadoop/data</value>

         </property>

       <property>

               <name>dfs.replication</name>

                <value>1</value>

         </property>

      <property> 

               <name>dfs.namenode.secondary.http-address</name> 

              <value>192.168.72.141:9001</value> 

       </property>

       <property> 

              <name>dfs.webhdfs.enabled</name> 

                <value>true</value> 

       </property> 

 

配置mapred-site.xml文件(由于这个版本没有这个文件,但是有mapred-site.xml.template,执行cp mapred-site.xml.template mapred-site.xml即可)

 

      <property> 

            <name>mapreduce.framework.name</name> 

                <value>yarn</value> 

      </property> 

       <property> 

            <name>mapreduce.jobhistory.address</name> 

              <value>192.168.72.141:10020</value> 

       </property> 

       <property> 

              <name>mapreduce.jobhistory.webapp.address</name> 

              <value>192.168.72.141:19888</value> 

       </property> 

 

 

在当前目录下创建masters, slaves

vim masters

添加内容

192.168.72.141

 

vim slaves

添加内容

192.168.72.146

192.168.72.148

192.168.72.149

 

这样的话masker配置好了,其他三个节点复制即可(注意:jdk安装目录,以及hadoop安装目录必须和masker一样,防止出现乱七八糟的问题)

scp -r /hadoop/hadoop root@服务器IP:/hadoop/

 

复制完成之后,切换到对应的节点做如下操作

chown -R hadoop:hadoop hadoop

 

vim /etc/profile

修改,添加

export HADOOP_HOME=/hadoop/hadoop

export PATH=$PATH:$HADOOP_HOME/bin

 

 

4、启动hadoop(启动只需在master节点即可)

 

格式化HDFS文件系统

hadoop namenode -format

 

启动hadoop

在启动前关闭集群中所有机器的防火墙,不然会出现datanode开后又自动关闭。

service iptables stop

 

start-all.sh启动

 

其中JobHistoryServer需要单独启动

mr-jobhistory-daemon.sh start historyserver

停止执行mr-jobhistory-daemon.sh stop historyserver

 

master节点输入jps

 

slaves节点执行jps

 

 

 

通过浏览器查看集群运行状态

http://192.168.72.141:50070

http://192.168.72.141:8088

http://192.168.72.141:19888

 

运行Hadoop自带的wordcount示例

进入到/hadoop目录下

在/hadoop下创建一个文件vi wordcount.txt

内容为:

hello you

hello me

hello everyone

 

创建hadoop目录

hadoop fs -mkdir /data/wordcount (创建这个,报错,导致创建不成功,估计确实一些参数,我直接创建了两次 先创建hadoop fs -mkdir /data/,再创建wordcount)

hadoop fs –mkdir /output/ 

 

上传文件

hadoop fs -put wordcount.txt/data/wordcount/  

 

执行wordcount程序

hadoop jar hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jarwordcount /data/wordcount /output/wordcount/

 

查看结果

hadoop fs -text /output/wordcount/part-r-00000 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值