Linux集群部署系列(五):Hadoop 2.x完全分布式集群部署


1.部署所需软件介绍

1.1操作系统

版本号:CentOS-7-x86_64-DVD-1503-01.iso

下载地址:

http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1503-01.iso 

选择一个64位的版本或者32位的版本

1.2  jdk

下载地址:

http://download.oracle.com/otn/java/jdk/7u80-b15/jre-7u80-linux-x64.tar.gz

注:需要注册oracle账号才能下载。

1.3  hadoop版本

版本号:hadoop-2.6.1.tar.gz

下载地址:http://apache.fayea.com/hadoop/common/hadoop-2.6.1/hadoop-2.6.1.tar.gz

镜像网站选择:http://www.apache.org/dyn/closer.cgi/hadoop/common

hadoop64位完整的安装包下载地址:

http://download.csdn.net/detail/colacat911/8290111

网盘地址链接:http://pan.baidu.com/s/1eQ5sNAE 密码: 1ihp

Hadoop版本选择2.x,比较稳定的。1.x2.x在配置和处理方式上有些不同。

1.4  hadoop native库  64位编译包

Hadoop native 64位编译包是针对64位操作平台设定的。32位的操作系统无须下载。

下载地址:http://download.csdn.net/detail/tongyuehong/8524619

注:此包可以下载源代码自己进行编译。

1.5  Open ssh

ssh工具是用来linux系统之间免密钥通讯的工具。CentOS系统已经自带,可以另行安装。

版本:openssh-6.0p1.tar.gz

下载地址:http://marc.info/?l=openssh-unix-dev&r=1&w=2

下载镜像:http://download.chinaunix.net/download.php?id=39879&ResourceID=7713

如需安装,请参看:

1.6  SSH Secure ShellClient  远程连接工具

ssl远程连接工具主要是为了方便连接CentOS系统,上传文件到CentOS系统中。

下载连接:http://ultra.pr.erau.edu/~jaffem/classes/SSHSecureShellClient-3.2.9.exe

1.7  eclipse

版本号:Mars.1(4.5.1) 

下载连接:http://www.eclipse.org/downloads/

根据自己的需要下载相应的版本,jdk,操作系统,eclipse位数要一致,否则无法使用。

2.部署hadoop1.x与hadoop 2.x区别

部署Hadoop1.x时,需要配置master和mapred.xml文件。而在hadoop2.x中则不需要配置master和maored.xml文件。但需要配置yarm.xml文件。

Hadoop2.x的文件分类更加详细,功能模块也比hadoop1.x多。

2.1Hadoop2.x集群网络拓扑:

一个master节点,即namenode节点

三个slave节点,即三个datanode节点

四台机器的所有配置都一样,出了hostname不一样外。

   

3.部署操作系统环境配置

3.1操作系统环境配置

配置hadoop用户

配置命令:

1.       填加用户:useraddHadoop  //Hadoop为用户名

2.       随之输入相应的密码: passwdHadoop 123456    //折密码是不可见的。

3.       修改hadoop用户权限:chmod -v u+w /etc/sudoers//将hadoop用户赋予管理员权限。

4.       查看所有用户: ll /usr/sbin/ | grep user 

可以参考博文,添加/删除用户和修改组的例子:

http://jingyan.baidu.com/album/9f63fb91a9a7a3c8400f0ecb.html?picindex=3

http://jingyan.baidu.com/article/19192ad81e2919e53f57074d.html

http://jingyan.baidu.com/article/19192ad81e2919e53f57074d.html

3.2网络环境配置(防火墙,selinux,网卡配置,hostname,hosts)

3.2.1.关闭所有Linux机器的防火墙,否则之间不能通信。

1.关闭selinux

3.2.2关闭firewalld

centos 7
systemctl stop firewalld.service #
停止
systemctl disable firewalld.service #
禁用
之前的版本:
service iptables stop #
停止
chkconfig iptables off #
禁用

查看防火墙状态:

3.2.3统一将vmware内部系统的网络设置为192.168.184.1
3.2.4 windows网络设置

注意:在网络共享时,网络会改成192.168.137.1,这时要重新更改vmnet1的网络地址。

1.网络共享设置,保证vmware中的系统能连接上外网,使宿主机能够访问vmware中的linux系统。


2.网络ip设置

3.vmware网络设置

4.CentOS网卡类型配置:


1.3   CentOS网络设置

1.5.1命令模式

 1.网络脚本文件夹

       2.修改网卡属性

1.5.2界面模式

1.进入到网络管理界面

3.2.5配置网卡属性

3.2.6配置hostname,作用是修改主机名,便于集群管理

      配置命令:vim/etc/hostname

                点击字母i进入编辑模式,修改主机名为:hadoop

                按esc退出编辑模式 ,然后按”:”输入”wq!“保存并退出

              

3.2.7配置hosts文件,用于设定访问的host

      配置命令  vim /etc/hosts

                点击字母i进入编辑模式,修改host文件

                按esc退出编辑模式 ,然后按”:”输入”wq!“保存并退出

                注:hosts文件中的域名hadoop001为主机名。

              

:vim的使用,按i字母进入编辑模式

按esc退出编辑模式

按“shift+:”进入命名行(需要先按esc)

在命令行输入”wq!” 为保存退出,”q!”为退出。

3.3 文件及文件夹权限配置

涉及到的文件夹

/root/.ssh

/home/lucien/jdk

/home/lucien/Hadoop

/home/lucient/data/temp

/etc/selinx

/etc/network

/etc/hosts

/etc/hostname

权限配置命令:su chmod –R 775 文件夹路径

4.Open ssh配置

   linux免密钥登录

1.      键入:ssh-keygen –t rsa ,然后一直按回车结束到命令行

  

2.      将生成的id_rsa.pub文件分别考到其他机器上

生成文件如下:

拷贝方式一:ssh-copy-id –i /root/.ssh/id_rsa.pub  root@Hadoop001

拷贝方式二:cat id_rsa.pub>> .ssh/authorized_keys  //将公钥放到authorized_keys文件中

            chmod 600 .ssh/authorized_keys     //修改文件夹权限

                  scp /root/.ssh/authorized_keys root@Hadoop001:/root/.ssh  //拷贝到其他机器。

      注:方式一是方式二的融合。

      登录到其他机器: ssh  root@Hadoop002   //进入到hadoop002机器,表成功。

     2. linux互相免密钥登录

      将自己的公钥和其他机器的公钥都追加到authorized_keys文件中,即可以实现互

3.免密钥通信。

      linux ssh localhost 登录需要密码问题解决

      问题一:.ssh文件夹及文件权限不够,修改文件夹与文件权限

              chmod –R 775 /root/.shh

      问题二:authorized_keys中密钥不对,重新生成密钥。

5.JDK安装

   1.将jdk安装包在宿主机中解压然后上传至centOS中,也可以上传压缩包到CentOS中解压。本教程采用解压后,用ssh工具上传

   2.上传解压命令:tarxzvf /压缩包地址–C /解压到的位置。

   3. 配置jdk环境

     配置命令: vim /etc/profile

     配置参数: exportJAVA_HOME=/usr/java/jdk1.6.0_27

export JAVA_BIN=/usr/java/jdk1.6.0_27/bin

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME JAVA_BIN PATH CLASSPATH

配置生效:./etc/profile

验证jdk是否安装成功命令: java–version

注:jdk环境配置的路径要是jdk所在的路径,一定要仔细。注意标红路径配置。

6. Hadoop 2.x安装

   6.1.hadoop的文件结构

    

6.2Hadoop配置

      配置涉及文件有8个

/hadoop/etc/hadoop/hadoop-env.sh

/hadoop/etc/hadoop/yarn-env.sh

/hadoop/etc/hadoop/slaves

/hadoop/etc/hadoop/core-site.xml

/hadoop/etc/hadoop/hdfs-site.xml

/hadoop/etc/hadoop/mapred-site.xml

/hadoop/etc/hadoop/yarn-site.xml

/etc/profile

6.2.1配置hadoop-env.sh文件,修改jdk路径

配置参数:exportJAVA_HOME=/usr/lib/jvm/java-1.7.0

      exportHADOOP_INSTALL=/home/lucien/hadoop

export PATH=$PATH:$HADOOP_INSTALL/bin

export PATH=$PATH:$HADOOP_INSTALL/sbin

export HADOOP_MAPRED_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_HOME=$HADOOP_INSTALL

export HADOOP_HDFS_HOME=$HADOOP_INSTALL

export YARN_HOME=$HADOOP_INSTALL

exportHADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native

exportHADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"


6.2.2配置yarn-env.sh文件,修改jdk路径

配置参数:exportJAVA_HOME=/usr/lib/jvm/java-1.7.0

6.2.3配置slaves文件

配置参数:即为主机名

6.2.4配置core-site.xml文件

配置参数:

<configuration>

<property>

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

<!—临时文件存放地址,自己定义-->

<value>/data/hadoop-${user.name}</value>

</property>

<property>

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

<!—hdfs文件系统访问地址,为namenode节点的主机名加9000

也可以写对应机器的ip地址-->

<value>hdfs://Hadoop001:9000</value>

</property>

</configuration>

      注:临时数据存放文件夹的权限要设置读写权限,否则初始hadoop会报错。

   

6.2.5配置hdfs-site.xml

      <configuration>

<property>

<name>dfs.http.address</name>

<!—文件系统访问地址-->

<value>hadoop001:50070</value>

</property>

<property>

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

<value>hadoop001:50090</value>

</property>

<property>

  <!—文件系统备份数量,要小于节点数-->

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

6.2.6配置mapred-site.xml

mapred-site.xml文件在hadoop中由mapred-site.xml.template替代,将后缀去掉即可。

配置参数:

<configuration>

<property>

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

<value>hadoop001:9001</value>

 </property>

<property>

<name>mapred.map.tasks</name>

<value>20</value>

</property>

<property>

<name>mapred.reduce.tasks</name>

<value>4</value>

</property>

<property>

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

<value>yarn</value>

</property>

<property>

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

<value>hadoop001:10020</value>

</property>

<property>

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

<value>hadoop001 :19888</value>

</property>

</configuration>

6.2.7配置yarn-site.xml,这个是与hadoop 1.x不同的地方

<configuration>

<property>

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

<value>hadoop001:8032</value>

</property>

<property>

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

 <value> hadoop001:8030</value>

</property>

<property>

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

 <value> hadoop001:8088</value>

</property>

<property>

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

<value> hadoop001:8031</value>

</property>

<property>

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

<value> hadoop001:8033</value>

</property>

<property>

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

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

</configuration>

6.2.8配置profile,加入hadoop环境

export HADOOP_HOME=/home/lucien/Hadoop

6.3拷贝到其他节点

scp –r  home/lucien/hadoop root@hadoop002:/home/lucien

scp –r  home/lucien/hadoop root@hadoop003:/home/lucien

scp –r  home/lucien/hadoop root@hadoop004:/home/lucien

6.4格式化namenode

格式化命令:./bin/hdfs namenode –format

6.5启动hadoop

启动hdfs: ./sbin/start-dfs.sh

启动yarn: ./sbin/start-yarn.sh

全部启动 ./sbin/start-all.sh 启动成功后jps看进程,会有五个,表成功

7.检查启动结果

查看集群状态:./bin/hdfsdfsadmin –report

查看文件块组成:./bin/hdfsfsck / -files -blocks

查看HDFS: http://Hadoop001:50070(主机IP) //可用ip访问

查看RM: http://Hadoop001:8088(主机IP) //可用ip访问

HDFS:

RM:

8. 网络不通问题解决

9. 权限问题

10. Hadoop运行问题

  10.1 hadoop运行报找不到文件

  10.2 hadoop运行报找不到hostname

  10.3 namenode无法启动

  10.4 无法打开50070页面

  10.5 版本与系统不兼容

11.搭建集群技巧

12.eclipse发布程序到hadoop集群

 部分内容请等待……


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值