BQTHM

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

0.1_hadoop安装(伪分布式)

因为打算学习简单的Hadoop相关知识所以,打算尝试安装伪分布式模式,在有一定了解之后再打算学习完全分布式的相关知识。

首先 在vmware虚拟机中 安装了Linux操作系统(CentOS 64位)

安装过程为以下几个步骤:

  一、配置host文件

  二、配置ssh免秘钥登录

  三、下载并解压hadoop安装包

  四、修改hadoop相关配置文件

  七、格式化namenode

  八、启动hadoop

  九、用jps检验后台进程是否全部启动

  十、通过网站查看集群情况

于是就开始了安装--------------------------

一、配置host文件

 $ su root             //进入root用户 获得权限

 $ vim /etc/hosts          // 修改 hosts文件,确定节点ip

//在vim编辑中添加自己的ip 与用户名

192.168.1.132 LCloud    //添加 自己的机器名 和 ip

  

  顺便把静态ip 也一同配置了

$ vim /etc/sysconfig/network-scripts/ifcfg-eno16777736   //最后这个网卡名根据自己情况修改 一般是 eht0
//在打开的 vim中 修改或添加4个地方
BOOTPROTO=static
IPADDR=192.168.1.132
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

 保存后重启网卡 

$ service network restart

关闭防火墙
$ chkconfig iptables off
------------------------
我使用了centos 7作为linux操作系统 
CentOS 7.0默认使用的是firewall作为防火墙
systemctl start firewalld.service #启动firewall
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
也可以改成使用iptables:
systemctl start iptables.service
所以 centos 7 用户关闭 防火墙 则为
$ systemctl stop firewalld.service

  

 如果不能ping通 域名 可以在/etc/resolv.conf 下添加 namserver 114.114.114.114
部分问题解决

 二、配置ssh 免秘钥登录

 安装openssh-server

$yum install -y openssh-clients //Redhat系列Linux可以使用 我用的Centos

  

$ exit  //退出root 用户
$ cd ~  //回到用户文件夹
$ mkdir .ssh  //创建 .ssh 文件夹
$ ssh-keygen -t rsa  //生成ssh秘钥 ,这里一直回车
$ cd .ssh        // 进入.ssh 文件夹
$ cp id_rsa.pub authorized_keys  //将公钥 拷贝 到认证文件
$ cd ..         //回到主文件夹
$ chmod 700 .ssh    //配置 .ssh 文件夹权限(ssh 访问 要求)
$ chmod 600 .ssh/*  //配置 .ssh下秘钥权限

 测试登录

$ ssh cloud //登录自己 第一次需要密码 ,之后登录将 不需要密码(若还需要密码说明没有配置成功)

四、下载并解压hadoop安装包

  在安装hadoop 之前 我们先将 java安装配置了

$ su //进入 root 用户
$ mkdir /usr/java
将下载好的 jdk 移动到 /usr/java , jdk 可以在http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载
$ mv jdk-8u60-linux-x64.tar.gz /usr/java
$ cd /usr/java 
$ tar -zxvf jdk-8u60-linux-x64.tar.gz 
$ rm jdk-8u60-linux-x64.tar.gz  //删除压缩文件
$ cd /etc/profile.d
$ vim java.sh //创建java配置文件
在vim 下输入
#java_profile
export JAVA_HOME=/usr/java/jdk1.8.0_60
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
保存并退出
$ source java.sh //使其立即生效
$ java -version //查看java版本号 如果与所安装相符 则成功

  下面配置hadoop

与jdk 类似 首先在官网下载hadoop(注意hadoop1.0与hadoop2.0 发行版本间区别)这里我所使用的是hadoop2.5 ,附上官网下载链接http://hadoop.apache.org/releases.html#Download
$ mv  mv hadoop-2.5.2.tar.gz /usr/java //将安装包移动到/usr/java/下
$ cd /usr/java
$ tar -zxvf hadoop-2.5.2.tar.gz  //解压缩
$ rm hadoop-2.5.2.tar.gz   //删除压缩包
$ chown -R cloud:cloud hadoop-2.5.2  //通过chown 将解压文件与其子文件 赋予cloud用户 cloud用户组
$ ls -l  //查看用户权限 如果为以下 则成功
【drwxr-xr-x 9 cloud cloud  139 Nov 14  2014 hadoop-2.5.2】
$ mkdir -p /data/dfs/name  //创建namenode 数据目录
$ mkdir -p /data/dfs/data   // 创建datanode 数据目录
$ mkdir -p /data/tmp          // 创建hadoop临时文件数据目录
$ chown -R cloud:cloud /data  //将数据目录权限赋予 cloud用户

四、修改hadoop相关配置文件

$ cd /usr/java/hadoop-2.5.2/etc/hadoop  //进入hadoop配置文件路径
$ vim core-site.xml //修改core-site.xml
<configuration>
        <property>
               <name>fs.default.name</name>
               <value>hdfs://LCloud:9000</value>
        </property>
        <property>
               <name>io.file.buffer.size</name>
               <value>131072</value>
        </property>
        <property>
               <name>hadoop.tmp.dir</name>
               <value>file:/data/tmp</value>
               <description>Abase for other temporary directories.</description>
        </property>
        <property>
               <name>hadoop.proxyuser.hadoop.hosts</name>
               <value>*</value>
        </property>
        <property>
               <name>hadoop.proxyuser.hadoop.groups</name>
               <value>*</value>
        </property>
        <property>
                <name>dfs.http.address</name>
                <value>50070</value>
        </property>
</configuration>
core-site.xml
$ vim hdfs-site.xml  //修改hdfs-site.xml
<configuration>
<property>
         <name>dfs.namenode.name.dir</name>
         <value>/data/dfs/name</value>
         <description>Determineswhere on the local filesystem the DFS name node should store the name table. Ifthis is a comma-delimited list of directories then the name table is replicatedin all of the directories, for redundancy. </description>
         <final>true</final>
</property>
<property>
         <name>dfs.datanode.data.dir</name>
         <value>/data/dfs/data</value>
         <description>Determineswhere on the local filesystem an DFS data node should store its blocks. If thisis a comma-delimited list of directories, then data will be stored in all nameddirectories, typically on different devices.Directories that do not exist areignored.
         </description>
         <final>true</final>
</property>
<property>
         <name>dfs.replication</name>
         <value>1</value>
</property>
<property>
         <name>dfs.permissions</name>
         <value>false</value>
</property>
</configuration>
hdfs-site.xml
$ vim mapred-site.xml   //修改mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
         <name>mapreduce.framework.name</name>
         <value>yarn</value>
         </property>
</configuration>             
mapred-site.xml
$ vim yarn-site.xml
<configuration>

<!-- Site specific YARN configuration properties -->
<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
</property>
</configuration>
yarn-site.xml
$ vim slaves 

LCloud         //将本机名加入 ,保存退出

vim /etc/profile.d/hadoop.sh

export HADOOP_HOME=/usr/java/hadoop-2.5.2
export PATH=$HADOOP_HOME/bin:$PATH

source /etc/profile.d/hadoop.sh  

七、格式化namenode

$ hadoop namenode -format

没有报错既成功

八、启动hadoop

$ /usr/java/hadoop-2.5.2/sbin/start-all.sh

如果没有报错便是正常启动

九、用jps检验后台进程是否全部启动

$ jps

如果有以下 进程 则成功

[cloud@LCloud Desktop]$ jps
3280 NameNode
3745 SecondaryNameNode
3474 DataNode
3956 ResourceManager
4552 Jps
4061 NodeManager

十、通过网站查看集群情况

打开 浏览器 输入 192.168.1.132:8088

如果出现 正常ui 且 Active Nodes 为 1 时 说明伪分布集群开启成功(如果是完全分布式 则 为 对应节点数)

打开 浏览器 输入 192.168.1.132:50070

如果出现正常 ui 则说明 成功

posted on 2016-05-24 02:19  BQTHM  阅读(154)  评论(0)    收藏  举报