l 主机操做系统:Windows 64位,双核4线程,主频2.2G,10G内存html
l 虚拟软件:VMware® Workstation 9.0.0 build-812388java
l 虚拟机操做系统:CentOS6.5 64位,单核,1G内存linux
l 虚拟机运行环境:服务器
Ø JDK:1.7.0_55 64位网络
Ø Hadoop:2.2.0(须要编译为64位)oracle
Ø Scala:2.10.4app
Ø Spark:1.1.0(须要编译)ssh
集群包含三个节点,节点之间能够免密码SSH访问,节点IP地址和主机名分布以下:ide
序号工具 |
机器名 |
类型 |
核数/内存 |
用户名 |
目录 |
|
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往其余机器分发文件会出现权限不足的提示
向Linux系统传输文件推荐使用SSH Secure File Transfer,该工具顶部为工具的菜单和快捷方式,中间部分左面为本地文件目录,右边为远程文件目录,能够经过拖拽等方式实现文件的下载与上传,底部为操做状况监控区,以下图所示:
l SSH Secure Shell SSH Secure工具的SSH Secure Shell提供了远程命令执行,以下图所示:
l SecureCRT SecureCRT是经常使用远程执行Linux命令行工具,以下图所示:
本次安装集群分为三个节点,本节搭建样板机环境搭建,搭建分为安装操做系统、设置系统环境和配置运行环境三个步骤。
第一步 插入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填写格式“英文名.姓”
第九步 时区能够在地图上点击,选择“Shanghai”并取消System clock uses UTC选择
第十步 设置root的密码
第十一步 硬盘分区,必定要按照图示点选
第十二步 询问是否改写入到硬盘,选择"Write changes to disk"
第十三步 选择系统安装模式为"Desktop"
第十四步 桌面环境就设置完成了,点击安装
第十五步 安装完成,重启
第十六步 重启以后,的License Information
第十七步 建立用户和设置密码(这里不进行设置用户和密码)
第十八步 "Date and Time" 选中 “Synchronize data and time over the network”
Finsh以后系统将重启
该部分对服务器的配置须要在服务器本地进行配置,配置完毕后须要重启服务器确认配置是否生效,特别是远程访问服务器须要设置固定IP地址。
以root用户登陆,使用#vi /etc/sysconfig/network 打开配置文件,根据实际状况设置该服务器的机器名,新机器名在重启后生效
1. 点击System-->Preferences-->Network Connections,以下图所示:
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. 在命令行中,使用ifconfig命令查看设置IP地址信息,若是修改IP不生效,须要重启机器再进行设置(若是该机器在设置后须要经过远程访问,建议重启机器,确认机器IP是否生效):
1. 使用root身份编辑/etc/hosts映射文件,设置IP地址与机器名的映射,设置信息以下:
#vi /etc/hosts
l 192.168.0.61 hadoop1
l 192.168.0.62 hadoop2
l 192.168.0.63 hadoop3
2. 使用以下命令对网络设置进行重启
#/etc/init.d/network restart
或者 #service network restart
3. 验证设置是否成功
在hadoop安装过程当中须要关闭防火墙和SElinux,不然会出现异常
1. service iptables status 查看防火墙状态,以下所示表示iptables已经开启
2. 以root用户使用以下命令关闭iptables
#chkconfig iptables off
1. 使用getenforce命令查看是否关闭
2. 修改/etc/selinux/config 文件
将SELINUX=enforcing改成SELINUX=disabled,执行该命令后重启机器生效
#vi /etc/selinux/config
CentOS系统自带的OpenSSL存在bug,若是不更新OpenSSL在Ambari部署过程会出现没法经过SSH链接节点,使用以下命令进行更新:
#yum update openssl
1. 以root用户使用以下命令打开sshd_config配置文件
#vi /etc/ssh/sshd_config
开放三个配置,以下图所示:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
2. 配置后重启服务
#service sshd restart
使用以下命令增长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
1. 下载JDK1.7 64bit安装包
打开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. 把下载的安装包,使用1.1.3.1介绍的ssh工具上传到/usr/lib/java 目录下,使用以下命令进行解压
$tar -zxvf jdk-7u55-linux-x64.tar.gz
解压后目录以下图所示:
4. 使用root用户配置/etc/profile文件,并生效该配置
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
1. 下载Scala安装包
Scala2.10.4安装包下载连接为:http://www.scala-lang.org/download/2.10.4.html,由于在Scala2.11.4下IDEA有些异常,故在这里建议安装Scala2.10.4版本
2. 上传Scala安装文件
把下载的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. 使用root用户配置/etc/profile文件,并生效该配置
export SCALA_HOME=/app/scala-2.10.4
export PATH=$PATH:${SCALA_HOME}/bin
5. 从新登陆并验证
$exit
$scala -version
复制样板机生成其余两个节点,按照规划设置及其命名和IP地址,最后设置SSH无密码登陆。
复制样板机两份,分别为hadoop2和hadoop3节点
以root用户登陆,使用vi /etc/sysconfig/network 打开配置文件,根据1.2规划修改机器名,修改机器名后须要从新启动机器,新机器名在重启后生效
按照2.2.2配置方法修改机器IP地址
1. 使用hadoop用户登陆在三个节点中使用以下命令生成私钥和公钥;
$ssh-keygen -t rsa
2. 进入/home/hadoop/.ssh目录在三个节点中分别把公钥命名为authorized_keys_hadoop1、authorized_keys_hadoop2和authorized_keys_hadoop3,使用命令以下:
$cd /home/hadoop/.ssh
$cp id_rsa.pub authorized_keys_hadoop1
3. 把两个从节点(hadoop2、hadoop3)的公钥使用scp命令传送到hadoop1节点的/home/hadoop/.ssh文件夹中;
$scp authorized_keys_hadoop2 hadoop@hadoop1:/home/hadoop/.ssh
$scp authorized_keys_hadoop3 hadoop@hadoop1:/home/hadoop/.ssh
4. 把三个节点的公钥信息保存到authorized_key文件中
使用$cat authorized_keys_hadoop1 >> authorized_keys 命令
5. 把该文件分发到其余两个从节点上
使用$scp authorized_keys hadoop@hadoop2:/home/hadoop/.ssh把密码文件分发出去
6. 在三台机器中使用以下设置authorized_keys读写权限
$chmod 400 authorized_keys
7. 测试ssh免密码登陆是否生效
设置好集群环境后,可让集群运行在命令行模式下,减小集群所耗费的资源。以root用户使用#vi /etc/inittab,将 id:5:initdefault: 改成 id:3:initdefault:
Linux 系统任什么时候候都运行在一个指定的运行级上,而且不一样的运行级的程序和服务都不一样,所要完成的工做和所要达到的目的都不一样。CentOS设置了以下表所示的运行级,而且系统能够在这些运行级别之间进行切换,以完成不一样的工做。运行级说明
l 0 全部进程将被终止,机器将有序的中止,关机时系统处于这个运行级别
l 1 单用户模式。用于系统维护,只有少数进程运行,同时全部服务也不启动
l 2多用户模式。和运行级别3同样,只是网络文件系统(NFS)服务没被启动
l 3多用户模式。容许多用户登陆系统,是系统默认的启动级别
l 4留给用户自定义的运行级别
l 5多用户模式,而且在系统启动后运行X-Window,给出一个图形化的登陆窗口
l 6全部进程被终止,系统从新启动
在进行Hadoop2.X 64bit编译安装中因为使用到64位虚拟机,安装过程当中出现下图错误:
按F1 键进入BIOS 设置实用程序 使用箭头键security面板下找virtualization按Enter 键 进去Intel VirtualizationTechnology改为Enabled按F10 键保存并退出 选择Yes按Enter 键 彻底关机(关闭电源)等待几秒钟从新启动计算机此Intel虚拟化技术开启成功
当使用hadoop用户须要对文件夹进行赋权,使用chmod命令出现“hadoop is not in the sudoers file. This incident will be reported”错误,以下所示:
1. 使用su命令进入root用户
2. 添加文件的写权限,操做命令为:chmod u+w /etc/sudoers
3. 编辑/etc/sudoers文件,使用命令"vi /etc/sudoers"进入编辑模式,找到:"root ALL=(ALL) ALL"在起下面添加"hadoop ALL=(ALL) ALL",而后保存退出。