一、前言

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

那么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. 讲解开源项目:5分钟搭建私人Java博客系统

    本文适合刚学习完 Java 语言基础的人群,跟着本文可了解和运行 Tale 项目.示例均在 Windows 操作系统下演示 本文作者:HelloGitHub-秦人 HelloGitHub 推出的< ...

  2. LD_PRELOAD和ld --wrap

    前言 LD_PRELOAD和ld --wrap都能实现不修改原始代码,替换指定函数的实现.通常我们会使用这些方法,替换如malloc)()/free().read()/write()等函数,并在替换函 ...

  3. Xcodebuild命令使用

    Xcodebuild简介 Xcodebuild是命令行工具包的其中一项. 命令行工具包(Command Line Tools)是一个轻量的.可以与XCode分开的.在Mac上单独下载的命令行工具包. ...

  4. c# NPOI 导出23万条记录耗时12秒

    先上测试代码: string connectionString = "Server=localhost;Initial Catalog=******;User ID=sa;Password= ...

  5. 浅谈Http与Https

    大家都知道,在客户端与服务器数据传输的过程中,http协议的传输是不安全的,也就是一般情况下http是明文传输的.但https协议的数据传输是安全的,也就是说https数据的传输是经过加密. 在客户端 ...

  6. Kafka到底有几个Offset?——Kafka核心之偏移量机制

    ​ Kafka是由LinkIn开源的实时数据处理框架,目前已经更新到2.3版本.不同于一般的消息中间件,Kafka通过数据持久化和磁盘读写获得了极高的吞吐量,并可以不依赖Storm,SparkStre ...

  7. [WPF自定义控件库] 关于ScrollViewr和滚动轮劫持(scroll-wheel-hijack)

    1. 什么是滚动轮劫持 这篇文章介绍一个很简单的继承自ScrollViewer的控件: public class ExtendedScrollViewer : ScrollViewer { prote ...

  8. 三行脚本让 asp.net core 附加进程调试不再头痛

    在将项目升级到 asp.net core 2.2 后,很少使用 IIS Express 运行项目了,基本都是控制台运行或者写个脚本批量启动要运行的接口(多个输出项目),一直以为是我机器的 bug 关于 ...

  9. python入门(三)列表、元组、range()、字典

    列表(list) 列表简介:列表(list)是处理一组有序项目的数据结构.用方括号[]表示.可以进行添加,删除,替换,搜索操作.是可变的数据类型.列表可以嵌套和支持索引. name=[12," ...

  10. OpenCV学习笔记(一)、VS2015+OpenCV-4.1.1环境配置(Windows10)

    1.登陆OpenCV官网,点击打开Releases,会看到各个版本的OpenCV安装文件,选择自己想要的版本下载即可.下载网址:https://opencv.org/releases/ 2.配置环境变 ...