地址为http://pan.baidu.com/s/1pJyyB6j。
原创地址为:
1、运行环境说明
1.1 硬软件环境
l
l
l
l
Ø
Ø
Ø
Ø
1.2
集群包含三个节点,节点之间可以免密码SSH访问,节点IP地址和主机名分布如下:
序号 | IP地址 | 机器名 | 类型 | 核数/内存 | 用户名 | 目录 |
1 | 192.168.0.61 | hadoop1 | NN/DN/RM Master/Worker | 1核/3G | hadoop | /app 程序所在路径 /app/scala-... /app/hadoop /app/complied |
2 | 192.168.0.62 | hadoop2 | DN/NM/Worker | 1核/2G | hadoop | |
3 | 192.168.0.63 | hadoop3 | DN/NM/Worker | 1核/2G | hadoop |
1.所有节点均是CentOS6.5 64bit系统,防火墙/SElinux均禁用,所有节点上均创建了一个hadoop用户,用户主目录是/home/hadoop,上传文件存放在/home/hadoop/upload文件夹中。
2.所有节点上均创建了一个目录/app用于存放安装程序,并且拥有者是hadoop用户,对其必须有rwx权限(一般做法是root用户在根目录下创建/app目录,并使用chown命令修改该目录拥有者为hadoop),否则hadoop用户使用SSH往其他机器分发文件会出现权限不足的提示
1.3
1.3.1 Linux文件传输工具
向Linux系统传输文件推荐使用SSH Secure File Transfer,该工具顶部为工具的菜单和快捷方式,中间部分左面为本地文件目录,右边为远程文件目录,可以通过拖拽等方式实现文件的下载与上传,底部为操作情况监控区,如下图所示:
1.3.2 Linux命令行执行工具
SSH Secure Shell SSH Secure工具的SSH Secure Shell提供了远程命令执行,如下图所示:
SecureCRT SecureCRT是常用远程执行Linux命令行工具,如下图所示:
2、搭建样板机环境
本次安装集群分为三个节点,本节搭建样板机环境搭建,搭建分为安装操作系统、设置系统环境和配置运行环境三个步骤。
2.1 安装操作系统
第一步 插入CentOS 6.5的安装介质,使用介质启动电脑出现如下界面
lInstall or upgrade an existing system 安装或升级现有的系统
linstall system with basic video driver 安装过程中采用基本的显卡驱动
lRescue installed system 进入系统修复模式
lBoot from local drive 退出安装从硬盘启动
lMemory test 内存检测
第二步 介质检测选择"Skip",直接跳过
第三步 出现引导界面,点击“next”
第四步 选择安装过程语言,选中"English(English)"
第五步 键盘布局选择“U.S.English”
第六步 选择“Basic Storage Devies"点击"Next"
第七步 询问是否覆写所有数据,选择"Yes,discard any data"
第八步 Hostname填写格式“英文名.姓”
第九步
第十步
第十一步
第十二步
第十三步
第十四步
第十五步
第十六步
第十七步
第十八步
Finsh之后系统将重启
2.2
该部分对服务器的配置需要在服务器本地进行配置,配置完毕后需要重启服务器确认配置是否生效,特别是远程访问服务器需要设置固定IP地址。
2.2.1 设置机器名
以root用户登录,使用#vi /etc/sysconfig/network 打开配置文件,根据实际情况设置该服务器的机器名,新机器名在重启后生效
2.2.2 设置IP地址
1.
2.
IP地址: 192.168.0.61
子网掩码: 255.255.255.0
网关: 192.168.0.1
DNS: 221.12.1.227 (需要根据所在地设置DNS服务器)
【注意】
1、网关、DNS等根据所在网络实际情况进行设置,并设置连接方式为"Available to all users",否则通过远程连接时会在服务器重启后无法连接服务器;
2、如果是运行在VM Ware虚拟机,网络使用桥接模式,设置能够连接到互联网中,以方便后面Hadoop和Spark编译等试验。
3.
2.2.3设置Host映射文件
1.
#vi /etc/hosts
l
l
l
2.
#/etc/init.d/network restart
或者 #service network restart
3.
2.2.4关闭防火墙
在hadoop安装过程中需要关闭防火墙和SElinux,否则会出现异常
1.
2.
#chkconfig iptables off
2.2.5关闭SElinux
1.
2.
将SELINUX=enforcing改为SELINUX=disabled,执行该命令后重启机器生效
#vi /etc/selinux/config
2.3
2.3.1 更新OpenSSL
CentOS系统自带的OpenSSL存在bug,如果不更新OpenSSL在Ambari部署过程会出现无法通过SSH连接节点,使用如下命令进行更新:
#yum update openssl
2.3.2 修改SSH配置文件
1.
#vi /etc/ssh/ssd_config
开放三个配置,如下图所示:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
2.
#service sshd restart
2.3.3增加hadoop组和用户
使用如下命令增加hadoop 组和hadoop 用户(密码),创建hadoop组件存放目录
#groupadd -g 1000 hadoop
#useradd -u 2000 -g hadoop hadoop
#mkdir -p /app/hadoop
#chown -R hadoop:hadoop /app/hadoop
#passwd hadoop
创建hadoop用户上传文件目录,设置该目录组和文件夹为hadoop
#mkdir /home/hadoop/upload
#chown -R hadoop:hadoop /home/hadoop/upload
2.3.4JDK安装及配置
1.
打开JDK1.7 64bit安装包下载链接为:
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
打开界面之后,先选中 Accept License Agreement ,然后下载 jdk-7u55-linux-x64.tar.gz,如下图所示:
2. 赋予hadoop用户/usr/lib/java目录可读写权限,使用命令如下:
$sudo chmod -R 777 /usr/lib/java
该步骤有可能遇到问题2.2,可参考解决办法处理
3.
$tar -zxvf jdk-7u55-linux-x64.tar.gz
解压后目录如下图所示:
4.
export JAVA_HOME=/usr/lib/java/jdk1.7.0_55
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
5.
$logout
$java -version
2.3.5 Scala安装及配置
1.
Scala2.10.4安装包下载链接为:http://www.scala-lang.org/download/2.10.4.html,因为在Scala2.11.4下IDEA有些异常,故在这里建议安装Scala2.10.4版本
2.
把下载的scala安装包使用SSH Secure File Transfer工具(如1.3.1介绍)上传到/home/hadoop/upload目录下,如下图所示:
3.
到上传目录下,用如下命令解压缩:
$cd /home/hadoop/upload
$tar -zxf scala-2.10.4.tgz
迁移到/app目录下:
$sudo mv scala-2.10.4 /app/
4.
export SCALA_HOME=/app/scala-2.10.4
export PATH=$PATH:${SCALA_HOME}/bin
5.
$exit
$scala -version
3、配置集群环境
复制样板机生成其他两个节点,按照规划设置及其命名和IP地址,最后设置SSH无密码登录。
3.1
复制样板机两份,分别为hadoop2和hadoop3节点
3.2
以root用户登录,使用vi /etc/sysconfig/network 打开配置文件,根据1.2规划修改机器名,修改机器名后需要重新启动机器,新机器名在重启后生效
按照2.2.2配置方法修改机器IP地址
3.3 配置SSH无密码登录
1.
$ssh-keygen -t rsa
2.
$cd /home/hadoop/.ssh
$cp id_rsa.pub authorized_keys_hadoop1
3.
$scp authorized_keys_hadoop2 hadoop@hadoop1:/home/hadoop/.ssh
$scp authorized_keys_hadoop3 hadoop@hadoop1:/home/hadoop/.ssh
4.
使用$cat authorized_keys_hadoop1 >> authorized_keys 命令
5.
使用$scp authorized_keys hadoop@hadoop2:/home/hadoop/.ssh把密码文件分发出去
6.
$chmod 400 authorized_keys
7.
3.4
设置好集群环境后,可以让集群运行在命令行模式下,减少集群所耗费的资源。以root用户使用#vi /etc/inittab,将 id:5:initdefault: 改为 id:3:initdefault:
Linux 系统任何时候都运行在一个指定的运行级上,并且不同的运行级的程序和服务都不同,所要完成的工作和所要达到的目的都不同。CentOS设置了如下表所示的运行级,并且系统可以在这些运行级别之间进行切换,以完成不同的工作。运行级说明
l
l
l
l
l
l
l
4、问题解决
4.1
在进行Hadoop2.X 64bit编译安装中由于使用到64位虚拟机,安装过程中出现下图错误:
按F1 键进入BIOS 设置实用程序 使用箭头键security面板下找virtualization按Enter 键 进去Intel VirtualizationTechnology改成Enabled按F10 键保存并退出 选择Yes按Enter 键 完全关机(关闭电源)等待几秒钟重新启动计算机此Intel虚拟化技术开启成功
4.2
当使用hadoop用户需要对文件夹进行赋权,使用chmod命令出现“hadoop is not in the sudoers file. This incident will be reported”错误,如下所示:
1.
2.
3.