CDH搭建Hadoop分布式集群(超级小白)

1首先对于一个java还白的小白,先理解CDH与Hadoop的关系

一、Hadoop版本选择。

Hadoop大致可分为Apache Hadoop和第三方发行第三方发行版Hadoop,考虑到Hadoop集群部署的高效,集群的稳定性,

以及后期集中的配置管理,业界多使用Cloudera公司的发行版,简称为CDH。

下面是转载的Hadoop社区版本与第三方发行版本的比较:

Apache社区版本

优点:

  1. 完全开源免费。社区活跃文档、资料详实

缺点:

  1. 因为很活跃所以版本对应关系,各个版本层出不穷,让使用者不知所措,版本冲突兼容等。部署集群运维难度大。

第三方发行版本(如CDH,HDP,MapR等)

优点:

  1. 基于Apache协议,100%开源。
  2. 版本管理清晰。比如Cloudera,CDH1,CDH2,CDH3,CDH4等,后面加上补丁版本,如CDH4.1.0 patch level 923.142,表示在原生态Apache Hadoop 0.20.2基础上添加了1065个patch。
  3. 比Apache Hadoop在兼容性、安全性、稳定性上有增强。第三方发行版通常都经过了大量的测试验证,有众多部署实例,大量的运行到各种生产环境。
  4. 版本更新快。通常情况,比如CDH每个季度会有一个update,每一年会有一个release。
  5. 基于稳定版本Apache Hadoop,并应用了最新Bug修复或Feature的patch
  6. 提供了部署、安装、配置工具,大大提高了集群部署的效率,可以在几个小时内部署好集群。
  7. 运维简单。提供了管理、监控、诊断、配置修改的工具,管理配置方便,定位问题快速、准确,使运维工作简单,有效。

缺点:

  1. 涉及到厂商锁定的问题。(可以通过技术解决)

转自 http://itindex.net/detail/51484-自学-大数据-生产

因为要经常使用linux系统,安装虚拟机下面是地址https://blog.csdn.net/babyxue/article/details/80970526

二、硬件检查与系统配置

1.硬件检查

1)检查内存

2)检查所有磁盘挂载。将noatime参数写入/etc/fstab,并remount所有数据盘。这一步并不知道有什么用,看一下就行,有点像是清理磁盘,提高性能,这一步最好在新机器上,没有他用的时候执行,我觉得,有错请指正

3)检查磁盘读写

4)检测网卡设置

5)检测路由

6)检查系统版本

做这些目的是,保证没问题,看看即可,因为一些小细节可能就会出现整个框架不能使用

2.系统配置(centos7为例)

1)配置hostname与/etc/hosts(所有服务器)

设置的方法有很多 常用命令

查看  hostname

hostname  cdh1                        cdh1是我起的主机名

hostnamectl set-hostname cdh1

这两个命令的实质是修改 /etc/hostname  中的值  不同文件保存位置可能不一样有的保存在 /etc/hosts

2)所有节点安装SSH(所有服务器)/免密登录其他服务器节点

1可以选择CM server到agent通过用户名密码登录或者是公钥的方式。(推荐)

命令  ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/fdipzone/.ssh/id_rsa): 这里输入要生成的文件名 直接回车
Enter passphrase (empty for no passphrase):                       这里输入密码 直接回车
Enter same passphrase again:                                      这里重复输入密码  直接回车 

生成两个文件在 /root/.ssh/  下
id_rsa.pub    id_rsa

循环复制秘钥到每个服务器节点
for num in `seq 2 2`;do ssh-copy-id -i /root/.ssh/id_rsa.pub cdh$num;done   
 
 

2若使用用户名的方式,需保证所有服务器root用户名和密码一致。

3)安装Oracle JDK(所有服务器)

查看本机是否安装jdk

java -version                           rpm -qa|grep jdk

查看安装的java jdk  如果没有安装下面地址jdk,如果是openjdk就先卸载

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html  下载linux版本64位 rpm

下载之后上传到linux(使用rz sz命令),或者直接下载

我下载的是jdk-8u201-linux-x64.rpm  对应的1.8版本,不知道对不对

安装命令  rpm -ivh jdk-8u201-linux-x64.rpm

查看jdk版本  java -version

更改环境变量

首先找到jdk安装位置  一般在/usr/java/下

vim /etc/profile //打开环境变量文件

usr/java/jdk1.8.0_131  是jdk安装路径  CLASSPATH 中找到tools.jar 与dt.jar位置不要错  也有可能在 jre/lib下,还有几点需要注意,j

ar包位置不能错,环境变量引用使用$符合 windows中是%%

JAVA_HOME=/usr/java/jdk1.8.0_131

CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

export PATH CLASSPATH JAVA_HOME

将上面4行加入profile底部

source /etc/profile //重新载入

4)关闭防火墙和SELinux(所有服务器)

查看防火墙状态

firewall-cmd --state

停止防火墙

systemctl stop firewalld.service     或者    systemctl stop firewalld

禁止firewall开机启动

systemctl disable firewalld.service

关闭selinux

进入到/etc/selinux/config文件

将SELINUX=enforcing改为SELINUX=disabled

或者

sed -i ‘s/SELINUX=enforcing/SELINUX=disable/g‘ /etc/selinux/config

setenforce 0

实质一样,修改文件参数

5)设置swappiness(所有服务器)

sysctl -w vm.swappiness=0 /etc/sysctl.conf添加以下内容:vm.swappiness = 0

6)设置ulimit(所有节点)

ulimit -n 65535

sysctl -w vm.swappiness=0 /etc/sysctl.conf添加以下内容:vm.swappiness = 0

7)安装数据库

卸载自带的mariadb

[root@cdh1 /]# rpm -qa | grep mariadb
mariadb-libs-5.5.41-2.el7_0.x86_64[root@cdh1 /]# rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64

 安装mysql

[root@cdh1 /]# rpm -qa | grep mariadb
mariadb-libs-5.5.41-2.el7_0.x86_64
[root@cdh1 /]# rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64
[root@cdh1 /]# tar -xvf MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle.tar //mysql rpm包拷贝到服务器上然后解压
[root@cdh1 /]# rpm -ivh MySQL-*.rpm //安装释出的全部rpm
[root@cdh1 /]# cp /usr/share/mysql/my-default.cnf /etc/my.cnf
[root@cdh1 /]# vi /etc/my.cnf //在配置文件中增加以下配置并保存
[mysqld]
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = ‘SET NAMES utf8‘
character-set-server = utf8

[root@cdh1 /]# yum install -y perl-Module-Install.noarch
[root@cdh1 /]# /usr/bin/mysql_install_db //初始化mysql
[root@cdh1 /]# service mysql restart //启动mysql
ERROR! MySQL server PID file could not be found!
Starting MySQL... SUCCESS!
[root@cdh1 /]# cat /root/.mysql_secret //查看mysql root初始化密码
# The random password set for the root user at Fri Sep 22 11:13:25 2017 (local time): 9mp7uYFmgt6drdq3
[root@cdh1 /]# mysql -u root -p //登录进行去更改密码
mysql> SET PASSWORD=PASSWORD(‘123456‘);
mysql> update user set host=‘%‘ where user=‘root‘ and host=‘localhost‘; //允许mysql远程访问
Query OK, 1 row affected (0.05 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

[root@cdh1 /]# chkconfig mysql on //配置开机启动

[root@cdh1 /]# tar -zcvf mysql-connector-java-5.1.44.tar.gz // 解压mysql-connector-java-5.1.44.tar.gz得到mysql-connector-java-5.1.44-bin.jar
[root@cdh1 /]# mkdir /usr/share/java // 在各节点创建java文件夹
[root@cdh1 /]# cp mysql-connector-java-5.1.44-bin.jar /usr/share/java/mysql-connector-java.jar //将mysql-connector-java-5.1.44-bin.jar拷贝到/usr/share/java路径下并重命名为mysql-connector-java.jar

转字https://www.cnblogs.com/zhangleisanshi/p/7575579.html

待续,明天再写

原文地址:https://www.cnblogs.com/ken-admin/p/10525025.html

时间: 2024-10-12 07:34:55

CDH搭建Hadoop分布式集群(超级小白)的相关文章

Spark入门 - 1 搭建Hadoop分布式集群

安装Ubuntu系统 不论是通过虚拟机方式还是直接在物理机上安装Ubuntu系统,网上都有丰富的教程,此处不再赘述. 为了方便起见,此处设置的机器名最好与书本的设置一致:Master.Slave1和Slave2. 配置root用户登录 这里有一步与普通教程不同.在安装好系统,重启之后,完成了相关配置.可以进行这一步,设置使用root用户登录,方便以后多个服务器相互操作.如下所示. 为了简化权限问题,需要以root用户的身份登录使用Ubuntu系统.而在默认情况下,Ubuntu没有开启root用户

使用Docker在本地搭建Hadoop分布式集群

学习Hadoop集群环境搭建是Hadoop入门必经之路.搭建分布式集群通常有两个办法: 要么找多台机器来部署(常常找不到机器) 或者在本地开多个虚拟机(开销很大,对宿主机器性能要求高,光是安装多个虚拟机系统就得搞半天……). 那么,问题来了! 有没有更有可行性的办法? 提到虚拟化,Docker最近很是火热!不妨拿来在本地做虚拟化,搭建Hadoop的伪分布式集群环境.虽然有点大材小用,但是学习学习,练练手也是极好的. 文章比较长,建议先倒杯水,听我慢慢到来…… 先说一下我的思路吧: 先使用Dock

大数据系列之Hadoop分布式集群部署

本节目的:搭建Hadoop分布式集群环境 环境准备 LZ用OS X系统 ,安装两台Linux虚拟机,Linux系统用的是CentOS6.5:Master Ip:10.211.55.3 ,Slave Ip:10.211.55.4 各虚拟机环境配置好Jdk1.8(1.7+即可) 资料准备 hadoop-2.7.3.tar.gz 虚拟机配置步骤 以下操作都在两台虚拟机 root用户下操作,切换至root用户命令 配置Master hostname 为Master ; vi /etc/sysconfi

搭建Spark分布式集群

搭建Spark分布式集群 0.准备 先准备好以下软件: 软件 版本 ubuntu 14.04 64bit java jdk1.8.0_25 64bit hadoop 2.4.1 64bit scala 2.10.4 spark 1.1.0 maven 3.2.3 1.设置静态IP Ubuntu系统设置静态IP l 设置静态IP Sudogedit /etc/network/interfaces 修改文件: autolo ifaceio inet loop back autoeth0 ifacee

Hadoop分布式集群环境搭建

分布式环境搭建之环境介绍 之前我们已经介绍了如何在单机上搭建伪分布式的Hadoop环境,而在实际情况中,肯定都是多机器多节点的分布式集群环境,所以本文将简单介绍一下如何在多台机器上搭建Hadoop的分布式环境. 我这里准备了三台机器,IP地址如下: 192.168.77.128 192.168.77.130 192.168.77.134 首先在这三台机器上编辑/etc/hosts配置文件,修改主机名以及配置其他机器的主机名 [[email protected] ~]# vim /etc/host

Hadoop分布式集群搭建完全详细教程

Hadoop分布式集群环境搭建步骤如下 实验环境: 系统:win7 内存:8G(因要开虚拟机,内存建议不低于8G) 硬盘:建议固态 虚拟机:VMware 12 Linux:Centos 7 jdk1.7.0_67 hadoop-2.5.0.tar.gz 1.安装VMware虚拟机环境2.安装Centos操作系统3.修改主机名配置网络4.配置ssh无密码登录5.上传jdk配置环境变量6.上传hadoop配置环境变量7.修改hadoop配置文件8.格式化namenode9.启动hadoop并测试1安

Hadoop 分布式集群搭建 & 配置

一. 安装Java Java下载 官网下载合适的jdk,本人使用的是jdk-7u79-linux-x64.tar.gz,接下来就以该版本的jdk为例,进行Java环境变量配置 创建Java目录 在/usr/local目录下创建java目录,用于存放解压的jdk cd /usr/local mkdir java 解压jdk 进入java目录 cd java tar zxvf jdk-7u79-linux-x64.tar.gz 配置环境变量 编辑profile文件 cd /etc vim profi

在 Ubuntu 上搭建 Eadoop 分布式集群 Eclipse 开发环境

一直在忙Android FrameWork,终于闲了一点,利用空余时间研究了一下Hadoop,并且在自己和同事的电脑上搭建了分布式集群,现在更新一下blog,分享自己的成果. 一 .环境 1.操作系统:Ubuntu 12.04 LTS 64位 2.Java版本:openjdk-7-jdk 3.Hadoop版本:2.6.0 4.结点信息: 机器名 IP hostname 作用 master 10.13.14.83 rdcdz140395 NameNode and JobTracker slave-

基于HBase Hadoop 分布式集群环境下的MapReduce程序开发

HBase分布式集群环境搭建成功后,连续4.5天实验客户端Map/Reduce程序开发,这方面的代码网上多得是,写个测试代码非常容易,可是真正运行起来可说是历经挫折.下面就是我最终调通并让程序在集群上运行起来的一些经验教训. 一.首先说一下我的环境: 1,集群的环境配置请见这篇博文. 2,开发客户机环境:操作系统是CentOS6.5,JDK版本是1.7.0-60,开发工具是Eclipse(原始安装是从google的ADT网站下载的ADT专用开发环境,后来加装了Java企业开发的工具,启动Flas