Hadoop安装流程

目录

Hadoop安装流程... 1

虚拟机安装设置... 1

设置网卡... 1

共享文件夹... 2

虚拟机安装过程... 2

基础环境安装... 4

赋予用户root权限... 5

VirtualBox Extension Pack安装(目的:共享文件夹)... 6

挂载共享文件夹... 7

JAVA环境安装、设置... 7

MySQL-Server安装... 8

SSH设置... 9

配置NDP服务(目的保持所有机器时间同步)... 11

Hadoop安装... 11

虚拟机安装设置

虚拟机安装前的设置

设置网卡

设置之后虚拟机就像一台真实的机器介入路由器,有自己的IP,可以和主机通讯

共享文件夹

宿主机可和虚拟机之间的共享文件夹

虚拟机安装过程

1、默认就可以

2、全新安装选Yes就可以(放弃原数据)

3、全新安装选择“使用所有空间”

基础环境安装

虚拟机安装后,Hadoop安装前的相关必要项的安装

网络设置

赋予用户root权限

  1. 以root用户登录
  2. 添加修改权限:chmod u+w /etc/sudousers
  3. 执行:vi /etc/sudousers

3、将自己的用户设置为拥有超级权限

5、保存后移除权限:chmod u-w /etc/sudousers

VirtualBox Extension Pack安装(目的:共享文件夹)

  1. 如图加载安装盘

(或者直接加载C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso)

  1. 进入光盘目录执行安装:/media/VBOXADD…../VBoxLinuxAdditions.run
  1. 执行出错的处理(查看/var/log/VBoxGuestAdditions.log看错误信息)

错误大致分一下几种:

  1. gcc、make没安装

处理:安装或更新gcc、make

命令:yum install gcc 或yum update gcc

yum install make 或 yum update make

  1. Linux核心文件不是最新(kernel等,主要看错误提示)

处理:安装或更新kernel相关的包

使用yum list kernel* 查看可用的更新和安装,根据情况安装货更新

命令:yum update kernel

yum update kernel-headers

yum install kernel-devel

如果仍然不行,则将上除了kernel之外所有的包都卸载,重新安装

挂载共享文件夹

  1. 建共享文件夹

mkdir ~/ShareFolder

  1. 挂载共享文件

mount –t vboxsf VBShareFolder ~/ShareFolder

VBShareFolder:在VirtualBox中定义的共享文件夹名称(指向宿主机的文件夹)

~/ShareFolder:虚拟机中对应的文件夹

JAVA环境安装、设置

  1. 确认当前安装的java

rpm –qa|grep java

  1. 删除OpenJDK

rpm –e java-1.6.0-openjdk-……

rpm –e java-1.70-openjdk-……

1.5不能删,系统有用到。

是否删除成功可以用:java –version验证

  1. 安装OracleJDK
  1. 将rpm安装包放到共享文件
  2. 在虚拟机中安装rpm包

rpm -ivh jdk-7u79-linux-x64.rpm

  1. 设置环境变量

vi /etc/profile

  1. 在最后追加

JAVA_HOME=/usr/java/jdk1.7.0.79

PATH=${JAVA_HOME}/bin:${PATH}

export JAVA_HOME PATH

  1. 保存后执行:source /usr/profile 重新加载profile

此时可用java –verison验证,如果版本仍然不对,则使用以下方法:

  1. 定位到当前实际起效的java位置

查看名字为java的程序:whereis java

查看PATH下java的第一个执行位置:which java

  1. 看出具体位置,定向到该目录,并查看java

cd /usr/bin

ll java

发现具体的link位置

  1. 可改变指向的位置,也可直接重命名该java链接

MySQL-Server安装

可根据自身情况选择是否安装最新的MySQL-Server

  1. 查看当前已安装的mysql-server版本:rpm –qa|grep mysql

  1. 查看可安装的版本:yum list mysql-server

  1. 更新或安装 yum update mysql-server
  2. 设置开机自启动MySQL服务

chkconfig mysqld on

  1. 启动/关闭/重启MySQL服务

service mysqld start/stop/restart

  1. 默认没有密码,需要设置root密码

/usr/bin/mysqladmin –u root password ‘新密码’

  1. 登录数据库

mysql –u root –p

  1. 设置忽略大小写

用root帐号登录后,在/etc/my.cnf中的[mysqld]后添加lower_case_table_names=1,

重启MYSQL服务,这时已设置成功:不区分表名的大小写。

  1. 配置防火墙开启3306端口

vi /etc/sysconfig/iptables

增加如下

  1. 配置用户可以远程连接

语法:grant all privileges on *.* to '用户名'@'机器名或IP地址' identified by '用户密码' with grant option;

设置root用户可以在任何地方访问数据库

grant all privileges on *.* to 'root'@'%' identified by 'root的密码' with grant option;

flush privileges;

SSH设置

  1. 安装SSH

service sshd status

或rpm –qa|grep ssh

可以确定ssh是否已经安装,没装就yum货rpm安装:

yum install openssh-server

  1. 配置免密登录

    1. 在控制机上调用PuttyGen.exe生成公钥和私钥

Save public key:保存公钥

Save private key:保存私钥

  1. 在被控机上生成密钥

ssh-keygen –t rsa

  1. 将控制机上生成的公钥内容添加至被控机

cat ~/ShareFolder/key.pub ~/.ssh/authorized.keys

authorized.keys文件不存在将会自动创建

  1. 配置登录方式及密钥文件

vi /etc/ssh/sshd_config

修改如下设置

禁止root登录:PermitRootLogin no

开启公钥登录:PublicAuthentication yes

公钥文件位置:AuthorizedKeysFile .ssh/authorized_keys

  1. 为响应文件夹、文件设置权限

chmod 700 ~/.ssh 
chmod 600 ~/.ssh/authorized_keys

  1. 启动/停止/重启SSH服务

service sshd start/stop/restart

  1. 设置服务开机自启动

chkconfig sshd on

配置NDP服务(目的保持所有机器时间同步)

  1. 安装或更新NTP

yum install ntp 或 yum update ntp

  1. 设置开机启动

chkconfig ntpd on

  1. 设置主机的同步事件服务器

打开配置文件 vi /ect/ndp.conf

server time.windows.com prefer

server time.nist.gov iburst

server 0.centos.pool.ntp.org iburst

server 1.centos.pool.ntp.org iburst

server 2.centos.pool.ntp.org iburst

server 3.centos.pool.ntp.org iburst

  1. 手动同步时间命令

ntpdate -u time.windows.com

  1. 重启服务,查看

service ntpd restart

ntpstat

  1. 如果有问题

    1. 可以在ntp.conf文件做以下修改

restrict default nomodify notrap nopeer noquery

restrict ::1

interface listen eth0

interface ignore ipv6

  1. 然后打开iptables配置,放开端口123的UPD

Hadoop安装

安装Cloudera Manager Server

主节点解压安装

cloudera manager的目录默认位置在/opt下,解压: tar xzvf cloudera-manager*.tar.gz 将解压后的cm-5.1.3和cloudera目录放到/opt目录下。

Cloudera Manager 5建立数据库

首先需要去MySql的官网下载JDBC驱动,MySQL :: Download Connector/J ,解压后,找到mysql-connector-java-5.1.33-bin.jar,放到/opt/cm-5.1.3/share/cmf/lib/中。

在所有节点创建cloudera-scm用户

useradd --system --home=/opt/cm-5.1.3/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

在主节点初始化CM5的数据库:

/opt/cm-5.1.3/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -pxxxx --scm-host localhost scm scm scm

安装Cloudera Manager Agent

修改/opt/cm-5.1.3/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。

同步Agent到其他节点

scp -r /opt/cm-5.1.3 root@n2:/opt/

准备Parcels,用以安装CDH5

将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中(parcel-repo需要手动创建)。

相关的文件如下:

  • CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel
  • CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha1
  • manifest.json

最后将CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha1,重命名为CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha,这点必须注意,否则,系统会重新下载CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel文件。

相关启动脚本

通过 /opt/cm-5.1.3/etc/init.d/cloudera-scm-server start 启动服务端。

通过 /opt/cm-5.1.3/etc/init.d/cloudera-scm-agent start 启动Agent服务。

我们启动的其实是个service脚本,需要停止服务将以上的start参数改为stop就可以了,重启是restart。

CDH5的安装配置

echo 0 > /proc/sys/vm/swappiness(原始值为60)

启动所有DataNode节点的Agent服务:

/opt/cm-5.1.3/etc/init.d/cloudera-scm-agent start

Cloudera Manager Server和Agent都启动以后,就可以进行CDH5的安装配置了。

这时可以通过浏览器访问主节点的7180端口测试一下了(由于CM Server的启动需要花点时间,这里可能要等待一会才能访问),默认的用户名和密码均为admin:

可以看到,免费版本的CM5已经没有原来50个节点数量的限制了。

各个Agent节点正常启动后,可以在当前管理的主机列表中看到对应的节点。选择要安装的节点,点继续。

接下来,出现以下包名,说明本地Parcel包配置无误,直接点继续就可以了。

点击,继续,如果配置本地Parcel包无误,那么下图中的已下载,应该是瞬间就完成了,然后就是耐心等待分配过程就行了,大约10多分钟吧,取决于内网网速。

接下来是服务器检查,可能会遇到以下问题:

Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。您可以继续进行安装,但可能会遇到问题,Cloudera Manager 报告您的主机由于交换运行状况不佳。以下主机受到影响:

通过 echo 0 > /proc/sys/vm/swappiness 即可解决。

接下来是选择安装服务:

服务配置,一般情况下保持默认就可以了(Cloudera Manager会根据机器的配置自动进行配置,如果需要特殊调整,自行进行设置就可以了):

接下来是数据库的设置,检查通过后就可以进行下一步的操作了:

下面是集群设置的审查页面,我这里都是保持默认配置的:

终于到安装各个服务的地方了,注意,这里安装Hive的时候可能会报错,因为我们使用了MySql作为hive的元数据存储,hive默认没有带mysql的驱动,通过以下命令拷贝一个就行了:

cp /opt/cm-5.1.3/share/cmf/lib/mysql-connector-java-5.1.33-bin.jar /opt/cloudera/parcels/CDH-5.1.3-1.cdh5.1.3.p0.12/lib/hive/lib/

服务的安装过程大约半小时内就可以完成:

安装完成后,就可以进入集群界面看一下集群的当前状况了。

这里可能会出现 无法发出查询:对 Service Monitor 的请求超时 的错误提示,如果各个组件安装没有问题,一般是因为服务器比较卡导致的,过一会刷新一下页面就好了:

测试

在集群的一台机器上执行以下模拟Pi的示例程序:

sudo -u hdfs hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 10 100

执行过程需要花一定的时间,通过YARN的后台也可以看到MapReduce的执行状态:

MapReduce执行过程中终端的输出如下:

Number of Maps  = 10

Samples per Map = 100

Wrote input for Map #0

Wrote input for Map #1

Wrote input for Map #2

Wrote input for Map #3

Wrote input for Map #4

Wrote input for Map #5

Wrote input for Map #6

Wrote input for Map #7

Wrote input for Map #8

Wrote input for Map #9

Starting Job

14/10/13 01:15:34 INFO client.RMProxy: Connecting to ResourceManager at n1/192.168.1.161:8032

14/10/13 01:15:36 INFO input.FileInputFormat: Total input paths to process : 10

14/10/13 01:15:37 INFO mapreduce.JobSubmitter: number of splits:10

14/10/13 01:15:39 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1413132307582_0001

14/10/13 01:15:40 INFO impl.YarnClientImpl: Submitted application application_1413132307582_0001

14/10/13 01:15:40 INFO mapreduce.Job: The url to track the job: http://n1:8088/proxy/application_1413132307582_0001/

14/10/13 01:15:40 INFO mapreduce.Job: Running job: job_1413132307582_0001

14/10/13 01:17:13 INFO mapreduce.Job: Job job_1413132307582_0001 running in uber mode : false

14/10/13 01:17:13 INFO mapreduce.Job:  map 0% reduce 0%

14/10/13 01:18:02 INFO mapreduce.Job:  map 10% reduce 0%

14/10/13 01:18:25 INFO mapreduce.Job:  map 20% reduce 0%

14/10/13 01:18:35 INFO mapreduce.Job:  map 30% reduce 0%

14/10/13 01:18:45 INFO mapreduce.Job:  map 40% reduce 0%

14/10/13 01:18:53 INFO mapreduce.Job:  map 50% reduce 0%

14/10/13 01:19:01 INFO mapreduce.Job:  map 60% reduce 0%

14/10/13 01:19:09 INFO mapreduce.Job:  map 70% reduce 0%

14/10/13 01:19:17 INFO mapreduce.Job:  map 80% reduce 0%

14/10/13 01:19:25 INFO mapreduce.Job:  map 90% reduce 0%

14/10/13 01:19:33 INFO mapreduce.Job:  map 100% reduce 0%

14/10/13 01:19:51 INFO mapreduce.Job:  map 100% reduce 100%

14/10/13 01:19:53 INFO mapreduce.Job: Job job_1413132307582_0001 completed successfully

14/10/13 01:19:56 INFO mapreduce.Job: Counters: 49

File System Counters

FILE: Number of bytes read=91

FILE: Number of bytes written=1027765

FILE: Number of read operations=0

FILE: Number of large read operations=0

FILE: Number of write operations=0

HDFS: Number of bytes read=2560

HDFS: Number of bytes written=215

HDFS: Number of read operations=43

HDFS: Number of large read operations=0

HDFS: Number of write operations=3

Job Counters

Launched map tasks=10

Launched reduce tasks=1

Data-local map tasks=10

Total time spent by all maps in occupied slots (ms)=118215

Total time spent by all reduces in occupied slots (ms)=11894

Total time spent by all map tasks (ms)=118215

Total time spent by all reduce tasks (ms)=11894

Total vcore-seconds taken by all map tasks=118215

Total vcore-seconds taken by all reduce tasks=11894

Total megabyte-seconds taken by all map tasks=121052160

Total megabyte-seconds taken by all reduce tasks=12179456

Map-Reduce Framework

Map input records=10

Map output records=20

Map output bytes=180

Map output materialized bytes=340

Input split bytes=1380

Combine input records=0

Combine output records=0

Reduce input groups=2

Reduce shuffle bytes=340

Reduce input records=20

Reduce output records=0

Spilled Records=40

Shuffled Maps =10

Failed Shuffles=0

Merged Map outputs=10

GC time elapsed (ms)=1269

CPU time spent (ms)=9530

Physical memory (bytes) snapshot=3792773120

Virtual memory (bytes) snapshot=16157274112

Total committed heap usage (bytes)=2856624128

Shuffle Errors

BAD_ID=0

CONNECTION=0

IO_ERROR=0

WRONG_LENGTH=0

WRONG_MAP=0

WRONG_REDUCE=0

File Input Format Counters

Bytes Read=1180

File Output Format Counters

Bytes Written=97

Job Finished in 262.659 seconds

Estimated value of Pi is 3.14800000000000000000

检查Hue

首次登陆Hue会让设置一个初试的用户名和密码,设置好,登陆到后台,会做一次检查,一切正常后会提示:

到这里表明我们的集群可以使用了。

我的Hadoop安装流程相关推荐

  1. 大数据基础系列 4:伪分布式 Hadoop 在 Ubuntu 上的安装流程完整步骤及易错点分析

    文章目录 前言 一.创建 Ubuntu 用户 二.安装 Java 2.1.查看本地 Java 版本 2.2.验证 Java 在本地的配置情况 三.安装 ssh 服务 3.1.安装 openssh-se ...

  2. Hadoop安装教程_分布式集群

    安装前的准备 伪分布式的设置 集群的规划 集群的初始设置 网络配置 SSH无密码登陆 java及apache环境设置 安装流程 主机的安装 集群的安装 效果与验证 安装注意 模式切换 参考资料 安装前 ...

  3. ubuntu18.04下hadoop安装与集群配置

    ubuntu18.04下hadoop安装与集群配置 hadoop安装_单机/伪分布式配置 环境 创建hadoop用户 更新apt 安装SSH.配置SSH无密码登陆 安装Java环境 安装 Hadoop ...

  4. Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

    给力星 追逐内心的平和 首页 笔记 搜藏 代码 音乐 关于 Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04 2014-08-09 (updated: 2016 ...

  5. HIVE学习系列——windows Hadoop安装(上)

    文章目录 整体流程概览 jre环境 jre安装 jre环境变量配置 Hadoop安装与配置 官网下载步骤 清华镜像下载步骤 Hadooponwindows下载 配置系统变量 hadoop初始文件配置 ...

  6. 最详细的Hadoop安装教程

    最详细的Hadoop安装教程 前言 Hadoop 在大数据技术体系中的地位至关重要,Hadoop 是大数据技术的基础,对Hadoop基础知识的掌握的扎实程度,会决定在大数据技术道路上走多远. 这是一篇 ...

  7. 超详细 Hadoop 安装(内附ssh免密登录,图文详解,小白必看)

    Hadoop 伪分布安装 (内附ssh免密登录,收藏起来看哦) 目录 Hadoop 伪分布安装 (内附ssh免密登录,收藏起来看哦) 一:   安装前准备 二:    jdk 安装,java环境配置 ...

  8. vue-devTools插件安装流程

    vue-devTools插件安装流程 本文主要介绍 vue的调试工具 vue-devtools 的安装和使用 工欲善其事, 必先利其器, 快快一起来用vue-devtools来调试开发你的vue项目吧 ...

  9. 2016cocoapods安装流程及使用

    一:参考安装流程:http://blog.csdn.NET/showhilllee/article/details/38398119/. 二:我的安装步骤. 1:安装cocoapods需要ruby,先 ...

最新文章

  1. linux网站权限怎么设置好,linux网站权限设置方法,网站安全配置,linux网站权限...
  2. ONES 万事联合创始人 amp; CTO 冯斌:企业服务产品的探索实践
  3. 《C++面向对象高效编程(第2版)》——导读
  4. jQuery选择器案例之——index.js
  5. mysql主从复制不同步案例_Mysql主从不同步问题处理案例
  6. java final 变量只读_java final的使用总结
  7. Ubuntu输入密码登陆后又跳回到登录界面
  8. 主从切换_“摸一摸”,乐在其中 | 雷柏i100蓝牙TWS耳机,主从切换,可单耳使用,也可双耳使用...
  9. Java集合框架之三:HashMap源码解析
  10. 2022 Moonriver全球黑客松优胜项目名单
  11. android 百度地图骑行路线颜色及宽度更改
  12. 造成笔记本电池损耗的主要原因
  13. js中深克隆与浅克隆
  14. Ubuntu18中调用cv2.imshow及PIL库遇到的bug “: cannot connect to X server”及display-im6.q16: unable to open X。。。
  15. 简单说 通过CSS的滤镜 实现 火焰效果
  16. Quoted-printable1(BUCTF在线评测)
  17. 逆向破解之160个CrackMe —— 023-024
  18. 关于此博客更名和改版的说明
  19. 100% 解决 VMware Workstation 与 Hyper-V 不兼容。请先从系统中移除 Hyper-V 角色
  20. 如何有效建立触摸屏与PLC之间无线通讯?

热门文章

  1. IDEA 设置SVN提交忽略文件
  2. redis集群伸缩【转】
  3. python 显示界片_任何快速的python图形用户界面都可以显示摄像机的实时图像
  4. Design a Facebook NewsFeed
  5. 4个基本不等式的公式高中_不等式链(高中4个基本不等式链推导)
  6. python中如何打出字符π
  7. 1020:Anniversary Cake
  8. 关于overflow适配IE的问题
  9. SpringDataJPA+Hibernate框架源码剖析(六)@PersistenceContext和@Autowired注入EntityManager的区别
  10. Nodejs 服务端MVC架构