一、前言

由于线下测试的需要,需要在公司线下(测试)环境搭建大数据集群。

那么CDH是什么?

hadoop是一个开源项目,所以很多公司再这个基础上进行商业化,不收费的hadoop版本主要有三个,分别是:

(1)Apache,最原始的版本,所有发行版均基于这个版本进行改进

缺点:版本部署混乱,部署过程繁杂,升级过程繁杂,兼容性差,安全性差

(2)CDH版本,在Apache基础上,进行了封装,处理了不同版本的兼容问题。有用户管理界面

(3)Hotnowork版本。

由于公司测试环境的内存有限(8G),cloudera manager需要大量的内存运行服务,所以这里我们选择cdh的tar包安装的方式

二、集群准备

至少三台linux机器,我的配置是:

Linux软件版本:Red Hat Enterprise Linux Server release 6.8 (Santiago)

硬件配置:8核 8G内存120G磁盘空间

一下操作三台机器都需要

(1)所有的安装包都在普通用户下安装,所以要新增一个用户:

useradd hadoop

passwd hadoop

(2)设置普通用户hadoop的sudo权限(root用户)

chmod u+w /etc/sudoers

vi /etc/sudoers

(在首行加入)

hadoop ALL=(root)NOPASSWD:ALL

chmod u-w /etc/sudoers

(3)修改主机名(切换到普通hadoop用户)

sudo vi /etc/sysconfig/netword

(修改:)

HOSTNAME=hadoop001

(其他两台机器修改为hadoop002,hadoop003)

(4)Ip与主机名的映射

sudo vi /etc/hosts

(最末尾加入)

hadoop001 10.7.131.1

hadoop002 10.7.131.2

hadoop003 10.7.131.3

(5)关闭防火墙

sudo service iptables stop
sudo chkconfig iptables off
(6)禁用Ipv6
sudo vi /etc/sysconfig/selinux
(修改为其中的选项)
SELINUX=disabled
(7)设置文件打开数量和用户最大进程数
sudo vi /etc/security/limits.conf
(最末尾加上)
* soft nofile 65535
* hard nofile 65535
* soft nproc 32000
* hard nproc 32000
(8)配置机器和集群之间的无密码访问
在三台机器上生成密钥
ssh-keygen -t rsa
一路回车即可
 
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
分别配置三台机器两两之间的无密码登录
在hadoop001上:
ssh-copy-id hadoop002
ssh-copy-id hadoop003
验证:
ssh hadoop002
ssh hadoop003
其他两台机器同理
(9)集群时间同步
选择hadoop001作为时间服务器
sudo vi /etc/ntp.conf

第一个红框处:

restrict 后面的变成机器的网段,比如目前的机器ip是10.7.131.1,那么就填入10.7.131.0

第二个红框处:

注释掉原来的

第三个红框处:

去掉两行注释

sudo vi /etc/sysconfig/ntpd

(首行加入)

SYNC_HWCLOCK=yes

启动ntpd服务

sudo service ntpd status

sudo service ntpd start

sudo chkconfig ntpd on

让hadoop001时间和国家授时中心保持同步(root用户)

 crontab -e
(加入)
0-59/5 * * * * sudo /usr/sbin/ntpdate -u ntp.api.bz
重启crond服务
service crond restart
 
最后,其他两台机器保持和hadoop001时间同步(root用户)
crontab -e
0-59/5 * * * * /usr/sbin/ntpdate hadoop001
 
(10)最后,重启三台机器
reboot
 

三、安装hadoop

1.目录准备

在hadoop用户目录下,规划好目录

app 应用软件安装的地方

software 应用软件包

shell 运行的脚本

data 所有的数据

1.下载hadoop 安装包

http://archive.cloudera.com/cdh5/cdh/5/

所有大数据组件都可以从这里下载到

打开,找到hadoop-2.6.0-cdh5.11.1.tar.gz,下载到本地,并上传到服务器上/home/hadoop/software下

2.解压

tar -zxvf /home/hadoop/software/hadoop-2.6.0-cdh5.11.1.tar.gz -C /home/hadoop/app/

mv /home/hadoop/software/hadoop-2.6.0-cdh5.11.1.tar.gz hadoop

3.hadoop各组件规划

4.配置

1.创建hadoop临时目录

mkdir -p /home/hadoop/app/hadoop/tmp

2.修改hadoop-env.sh

export JAVA_HOME=/home/hadoop/app/jdk

3.修改core-site.xml(/home/hadoop/app/hadoop/etc/hadoop)

<configuration>
  <property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop001:8020</value>
</property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/app/hadoop/tmp</value>
</property>
  <property>
    <name>fs.trash.interval</name>
    <value>4320</value>
</property>
  <property>
<name>hadoop.proxyuser.hue.hosts</name>
<value>*</value>
  </property>
  <property>
    <name>hadoop.proxyuser.hue.groups</name>
    <value>*</value>
</property>
</configuration>

3.修改hdfs-site.xml

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>hadoop002:50090</value>
</property>
</configuration>

4.修改mapred-env.sh

同样是修改jdk

export JAVA_HOME=/home/hadoop/app/jdk

5.修改mapred-site.xml

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop002:10020</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop002:19888</value>
</property>
</configuration>

6.修改yarn-env.sh

if [ "$JAVA_HOME" != "" ]; then
#echo "run java in $JAVA_HOME"
JAVA_HOME=/home/hadoop/app/jdk
fi

7.修改yarn-site.xml

<configuration>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop002</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>4096</value>
  </property>
  <property>
    <name>yarn.nodemanager.resource.cpu-vcores</name>
    <value>4</value>
  </property>
  <!--下面两个配置使日志聚集功能,使日志上传到hdfs上-->
  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>
  <property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>640800</value>
  </property>
</configuration>

8.格式化hdfs文件系统

bin/hdfs namenode -format

9.启动hdfs

sbin/start-dfs.sh

10.验证

jps

11.启动yarn

sbin/start-yarn.sh

12.启动jobhistoryserver,运行oozie任务的时候,需要

sbin/mr-jobhistory-daemon.sh start historyserver

12.hdfs web界面访问

hadoop001:50070

13.yarn web界面访问

hadoop002:8088

  

  

  

大数据平台搭建 - cdh5.11.1 - hadoop集群安装的更多相关文章

  1. 大数据平台搭建 - cdh5.11.1 - hbase集群搭建

    一.简介 HBase是一种构建在HDFS之上的分布式.面向列的存储系统.在需要实时读写.随机访问超大规模数据集时,可以使用HBase. 尽管已经有许多数据存储和访问的策略和实现方法,但事实上大多数解决 ...

  2. 大数据平台搭建 - cdh5.11.1 - oozie安装

    一.简介 oozie是hadoop平台开源的工作流调度引擎,用来管理hadoop作业,属于web应用程序,由oozie server 和oozie client构成. oozie server运行与t ...

  3. 大数据平台搭建 - cdh5.11.1 - hue安装及集成其他组件

    一.简介 hue是一个开源的apache hadoop ui系统,由cloudear desktop演化而来,最后cloudera公司将其贡献给了apache基金会的hadoop社区,它基于pytho ...

  4. 大数据平台搭建 - cdh5.11.1 - spark源码编译及集群搭建

    一.spark简介 Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎,Spark 是一种与 hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同 ...

  5. 大数据平台搭建 - cdh5.11.1 - hive客户端安装

    一.简介 hive是基于hadoop的一种数据仓库工具,可以将结构化的文件映射成为数据库的一张表,并提供简单sql查询功能,底层实现是转化为MapReduce任务计算. 二.安装 (1)下载 从cdh ...

  6. 流式大数据计算实践(2)----Hadoop集群和Zookeeper

    一.前言 1.上一文搭建好了Hadoop单机模式,这一文继续搭建Hadoop集群 二.搭建Hadoop集群 1.根据上文的流程得到两台单机模式的机器,并保证两台单机模式正常启动,记得第二台机器core ...

  7. [大数据学习研究] 错误排查,Hadoop集群部分DataNode不能启动

    错误现象 不知道什么原因,今天发现我的hadoop集群启动后datanode只有一台了,我的集群本来有三台的,怎么只剩一台了呢? 用jps命令检查一下,发现果然有两台机器的DataNode没有启动. ...

  8. 大数据学习系列(7)-- hadoop集群搭建

    1.配置ssh免登陆 #进入到我的home目录 cd ~/.ssh ssh-keygen -t rsa 执行完这个命令后,会生成两个文件id_rsa(私钥).id_rsa.pub(公钥) 将公钥拷贝到 ...

  9. Spark项目之电商用户行为分析大数据平台之(二)CentOS7集群搭建

    一.CentOS7集群搭建 1.1 准备3台centos7的虚拟机 IP及主机名规划如下: 192.168.123.110 spark1192.168.123.111 spark2192.168.12 ...

随机推荐

  1. 【模板】质数判断(Miller_Rabin)

    题意简述 给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内) 题解思路 费马小定理: n是一个奇素数,a是任何整数(\(1≤ a≤n-1\)) ,则\(a^{p-1}≡1 ...

  2. html5 placeholder属性兼容ie11

    placeholder 属性是html5的属性,用于提供描述输入字段预期值的提示信息(hint). 简单例子: <!DOCTYPE HTML> <html> <body& ...

  3. Mac 安装 homebrew 流程 以及 停在 Updating Homebrew等 常见错误解决方法

    懒人操作顺序:S_01>>>S_02>>>S_03 首先这是homebrew的官网 https://brew.sh/index_zh-cn 安装方法是在终端中输入 ...

  4. 简述关于ASP.NET MVC与.NET CORE 的区别

    简述关于ASP.NET MVC与.NET CORE的区别1.关于ASP.NET 关于MVC刚开始接触这个技术的时候我经常不理解他们的名字,我相信许多学ASP.NET开发人员开始接触MVC应该也和我一样 ...

  5. 【译】为什么要了解HTTP

    原文地址:Why should I care about HTTP? 原作信息:by Devon Campbell. Dec 15 '18 Originally published at raddev ...

  6. Appium+python自动化(三十三)- 环境(超详解)

    简介 在前边所有涉及启动app的时候有这样一行代码driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps),很多小 ...

  7. 史上最全面的SignalR系列教程-5、SignalR 实现一对一聊天

    1.概述 通过前面几篇文章 史上最全面的SignalR系列教程-1.认识SignalR 史上最全面的SignalR系列教程-2.SignalR 实现推送功能-永久连接类实现方式 史上最全面的Signa ...

  8. Ubuntu 图形界面入门

    Ubuntu 图形界面入门 一.目标 熟悉 Ubuntu 图形界面的基本使用 二..Ubuntu 的任务栏 三. 窗口操作按钮 四. 窗口菜单条

  9. java 判断 string 转 integer 判断

    NumberUtils.isDigits("1") NumberUtils.isDigits("/") 根据返回 true false 再确定是否转换即可 需要 ...

  10. 盘一盘 NIO (三)—— Selector解析

    Selector是个啥? Selector是Java NIO核心组件中的选择器,用于检查一个或多个Channel(通道)的状态是否处于可读.可写.实现一个单独的线程可以管理多个channel,从而管理 ...