hadoop伪分布式安装

1.   环境搭建:

一:修改Hostname

1.    临时修改hostname

[root@localhost Desktop]# hostname sysware.com

这种修改方式,系统重启后就会失效。

2.    永久修改hostname

想永久修改,应该修改配置文件 /etc/sysconfig/network。

[[email protected] ~] vim/etc/sysconfig/network

打开文件后:

NETWORKING=yes  #使用网络

HOSTNAME=bigdata-senior01.chybinmy.com  #设置主机名

配置Host

[root@bigdata-senior01 ~] vim /etc/hosts

添加hosts: 192.168.187.129 sysware.com

3.    关闭防火墙

永久关闭:chkconfig iptables off

临时关闭:service iptables stop

4.   关闭selinux

selinuxLinux一个子安全机制,学习环境可以将它禁用。

vim/etc/sysconfig/selinux

hadoop伪分布式安装

二:安装JDK

注意:Hadoop机器上的JDK,最好是Oracle的JavaJDK,不然会有

些问题,比如可能没有JPS命令。 如果安装了其他版本的JDK,卸载掉。

 

三:Hadoop伪分布式模式安装:

1.   Hadoop所用的用户设置

创建一个名字为hadoop的普通用户:

[root@bigdata-senior01 ~]# useradd hadoop

[root@bigdata-senior01 ~]#passwd 123456

hadoop用户sudo权限:

[root@bigdata-senior01 ~]# vim /etc/sudoers

设置权限,学习环境可以将hadoop用户的权限设置的大一些,但是生产环境一定要注意普通用户的权限限制。

root   ALL=(ALL)       ALL

hadoop ALL=(root) NOPASSWD:ALL

注意:如果root用户无权修改sudoers文件,先手动为root用户添加写权限。

[root@bigdata-senior01 ~]# chmod u+w /etc/sudoers

切换到hadoop用户:

[root@bigdata-senior01 ~]# su- hadoop

[hadoop@bigdata-senior01 ~]$

 创建存放hadoop文件的目录:

[hadoop@bigdata-senior01 ~]$ sudo mkdir /opt/modules

hadoop文件夹的所有者指定为hadoop用户

如果存放hadoop的目录的所有者不是hadoop,之后hadoop运行中可能会有权限问题,那么就讲所有者改为hadoop

[hadoop@bigdata-senior01 ~]# sudo chown -R hadoop:hadoop /opt/modules

2.    解压Hadoop目录文件

复制hadoop-2.5.0.tar.gz/opt/modules目录下。

 解压hadoop-2.5.0.tar.gz

[hadoop@bigdata-senior01 ~]# cd /opt/modules

[hadoop@bigdata-senior01 hadoop]# tar -zxvf hadoop-2.5.0.tar.gz

3.    配置Hadoop

配置Hadoop环境变量:

[hadoop@bigdata-senior01 hadoop]# vim /etc/profile

追加配置:

export HADOOP_HOME="/opt/modules/hadoop-2.5.0"

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

执行:source /etc/profile 使得配置生效

验证HADOOP_HOME参数:

[hadoop@bigdata-senior01 /]$ echo $HADOOP_HOME

/opt/modules/hadoop-2.5.0

配置 hadoop-env.shmapred-env.shyarn-env.sh文件的JAVA_HOME参数:

[hadoop@bigdata-senior01 ~]$ sudo vim ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh

修改JAVA_HOME参数为:

export JAVA_HOME="/opt/modules/jdk1.7.0_67"

 配置core-site.xml

hadoop伪分布式安装

[[email protected]~]{HADOOP_HOME}/etc/hadoop/core-site.xml

    配置:

       <property>

              <name>fs.defaultFS</name>

              <value>hdfs://sysware.com:8020</value>

      </property>

      <property>

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

          <value>/opt/data/tmp</value>

      </property>

hadoop.tmp.dir配置的是Hadoop临时目录,比如HDFS的NameNode数据默认都存放这个目录下,查看*-default.xml等默认配置文件,就可以看到很多依赖${hadoop.tmp.dir}的配置。

默认的hadoop.tmp.dir/tmp/hadoop-${user.name},此时有个问题就是NameNode会将HDFS的元数据存储在这个/tmp目录下,如果操作系统重启了,系统会清空/tmp目录下的东西,导致NameNode元数据丢失,是个非常严重的问题,所有我们应该修改这个路径。

创建临时目录:

[hadoop@bigdata-senior01hadoop-2.5.0]$ sudo mkdir -p /opt/data/tmp

将临时目录的所有者修改为hadoop:

[hadoop@bigdata-senior01hadoop-2.5.0]$ sudo chown –R hadoop:hadoop /opt/data/tmp

4.   配置、格式化、启动HDFS

 配置hdfs-site.xml

hadoop伪分布式安装

[hadoop@bigdata-senior01 hadoop-2.5.0]$ vim${HADOOP_HOME}/etc/hadoop/hdfs-site.xml

<property>

      <name>dfs.replication</name>

      <value>1</value>

   </property>

<property>

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

           <value>file:/opt/data/tmp/dfs/name</value>

</property>

<property>

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

           <value>file:/opt/data/tmp/dfs/data</value>

</property>

dfs.replication配置的是HDFS存储时的备份数量,因为这里是伪分布式环境只有一个节点,所以这里设置为1

格式化HDFS

[hadoop@bigdata-senior01 ~]$hdfs namenode –format

格式化是对HDFS这个分布式文件系统中的DataNode进行分块,统计所有分块后的初始元数据的存储在NameNode中。

格式化后,查看core-site.xmlhadoop.tmp.dir(本例是/opt/data目录)指定的目录下是否有了dfs目录,如果有,说明格式化成功。

注意:

格式化时,这里注意hadoop.tmp.dir目录的权限问题,应该hadoop普通用户有读写权限才行,可以将/opt/data的所有者改为hadoop 
[[email protected] hadoop-2.5.0]$ sudo chown -R hadoop:hadoop /opt/data

查看NameNode格式化后的目录

[hadoop@bigdata-senior01 ~]$ ll /opt/data/tmp/dfs/name/current

hadoop伪分布式安装

启动节点:

1.${HADOOP_HOME}/sbin/hadoop-daemon.shstart namenode

2.${HADOOP_HOME}/sbin/hadoop-daemon.shstart datanode

3.${HADOOP_HOME}/sbin/hadoop-daemon.shstart secondarynamenode

 JPS命令查看是否已经启动成功,有结果就是启动成功了。

hadoop伪分布式安装

5.   配置、启动YARN

 配置mapred-site.xml

默认没有mapred-site.xml文件,但是有个mapred-site.xml.template配置模板文件。复制模板生成mapred-site.xml

添加配置如下:

<configuration>

     <property>

             <name>yarn.nodemanager.aux-services</name>

             <value>mapreduce_shuffle</value>

     </property>

      <property> 

       <name>yarn.resourcemanager.webapp.address</name> 

       <value>192.168.7.31:8088</value> 

</property>

</configuration>

·          yarn.nodemanager.aux-services配置了yarn的默认混洗方式,选择为mapreduce的默认混洗算法。

·          yarn.resourcemanager.hostname指定了Resourcemanager运行在哪个节点上。

启动节点:

${HADOOP_HOME}/sbin/yarn-daemon.sh startresourcemanager

${HADOOP_HOME}/sbin/yarn-daemon.sh startnodemanager

查看是否启动成功:

hadoop伪分布式安装

YARNWeb客户端端口号是8088,通过http://192.168.100.10:8088/可以查看。

hadoop伪分布式安装