博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CDH 安装
阅读量:6952 次
发布时间:2019-06-27

本文共 9023 字,大约阅读时间需要 30 分钟。

hot3.png

1、环境准备

   

系统:CentOS 6.5版本,64位
      内存:24GB
      硬盘:60GB
      CPU:10核

1、检查服务器资源

    # free -m
    # df -h
    //查看物理cpu个数    
    # cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

    //每个物理cup的核数

    # cat /proc/cpuinfo| grep "cpu cores"| uniq
                上面两个结果相乘=cup总核数
    //结果一共有几核cpu
    # cat /proc/cpuinfo| grep "processor"| wc -l
                结果一共有几核cpu

2、配置ip、hostname、映射 (所有服务器)

    1)查看文件信息并且追加信息
        # vi /etc/sysconfig/network
        HOSTNAME=cdh1
        i插入修改,esc退出,:wq保存退出,:w保存不退出,:q!强制退出
    2)重启生效 
        # service network restart
    3)验证 
        # hostname
    4)查看文件信息并且追加信息(所有机器)
        # vi /etc/hosts
        172.23.201.91  cdh1
        172.23.201.92  cdh2 
        172.23.201.93  cdh3
    5)验证
        # ping www.baidu.com
        # ping cdh1
    6)检查映射是否配好
            
3、禁用ipv6 
    1)查看文件信息并且追加信息
        vi /etc/modprobe.d/dist.conf
        # echo "alias net-pf-10 off">>/etc/modprobe.d/dist.conf 
        # echo "alias ipv6 off">>/etc/modprobe.d/dist.conf
    2)重启生效
        ip a 验证是否成功

4、禁用selinux 和关闭防火墙

    1)禁用selinux 
        # getenforce    查看selinux状态 
        # vi /etc/sysconfig/selinux 
            SELINUX=disabled
        重启生效
        验证:[root@bigdata01 ~]# getenforce 
            Disabled
    2)关闭防火墙:
        # service iptables stop    
        # 设置成开机不启动
        # chkconfig iptables off

5、JDK安装(所有机器)    

    1)卸载系统自带的相关安装包        
        # rpm -qa | grep java        
        # rpm -e --nodeps tzdata-java-2012j-1.el6.noarch java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64 java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64    
    2)创建目录,上传解压jdk
        # mkdir -p /opt/modules
        # mkdir -p /opt/softwares
        # tar zxf jdk-7u67-linux-x64.tar.gz -C /opt/modules    
    3)配置java环境变量(所有机器)
        # vi /etc/profile
        export JAVA_HOME=/opt/modules/jdk1.7.0_67
        export PATH=$PATH:$JAVA_HOME/bin
    4)配置生效(所有机器)
        # source /etc/profile
    5)拷贝给其他服务器(所有机器)    
        [root@bigdata01 modules]#  scp -r ./ root@cdh2:/opt/modules/
        [root@bigdata01 modules]#  scp -r ./ root@cdh3:/opt/modules/
    6)验证
        # java -version

6、ssh免密码登录 (所有服务器) 

    0)ssh 针对用户,并且首先保证ssh localhost正常通畅
        ssh localhost
    1) 在每台服务器上生成公私密钥
        ssh-keygen
    2)分发公钥(注意:每次ssh登录后,事情做完后,记得exit)
        ssh-copy-id -i ~/.ssh/id_rsa.pub localhost
        ssh localhost
        exit

        ssh-copy-id -i ~/.ssh/id_rsa.pub cdh1

        ssh  cdh1
        exit
        ssh-copy-id -i ~/.ssh/id_rsa.pub cdh2
        ssh   cdh2
        exit
        ssh-copy-id -i ~/.ssh/id_rsa.pub cdh3
        ssh   cdh3
        exit
    2)验证:
        # ssh cdh2
        
    注意:每次ssh登录后,事情做完后,记得exit

6、集群系统的时间同步

    1)启动ntpd进程服务
        service ntpd start
        chkconfig ntpd on
        chkconfig --list | grep ntpd 
    2)修改时间服务器的配置文件
        # vi /etc/ntp.conf
        注释打开,然后修改为本集群的网段
        18 # restrict 172.23.201.0 mask 255.255.255.0 nomodify notrap         
        注释掉
        22 #server 0.centos.pool.ntp.org
        23 #server 1.centos.pool.ntp.org
        24 #server 2.centos.pool.ntp.org
        注释打开,如果系统没有下面信息,需要手动添加
        server  127.127.1.0     # local clock
        fudge   127.127.1.0 stratum 10
    3)所有机器启动并且配置开机时启动
        # service ntpd start && chkconfig ntpd on && chkconfig --list | grep ntpd 
    4)更新本地时间
        [root@bigdata01 java]# ntpdate -u 202.120.2.101 
        24 Feb 15:24:11 ntpdate[2408]: step time server 202.112.10.60 offset 4.004597 sec
            
        ntp.sjtu.edu.cn 202.120.2.101 (上海交通大学网络中心NTP服务器地址)
        s1a.time.edu.cn 北京邮电大学
        s1b.time.edu.cn 清华大学 

7、设置用户能打开的文件最大数量、进程最大数据、能使用的内存量 (所有服务器)(soft:警告;hard:停机)

    1)查看文件信息并且修改
        # vi /etc/security/limits.conf         
*               soft    nofile          32728
*               hard    nofile          1024567
*               soft    nproc           65535
*               hard    nproc           unlimited
*               soft    memlock         unlimited
*               hard    memlock         unlimited    
    2)bigdata01复制limits.conf到其他各台机器
        # scp /etc/security/limits.conf root@cdh2.com:/etc/security/limits.conf 
        # scp /etc/security/limits.conf root@cdh3.com:/etc/security/limits.conf
    3)重启生效
        验证: # ulimit  -a

    注:强调该文件,严格按照格式来改最好通过复制修改,如果limits.conf配置错误,linux重启不能进入,解决办法是单用户进入修改《Linux进入单用户模式.pdf》

==========================系统基本配置结束==============================

 

 

一、准备三台机器

cdh1   内存6g  cm server   db server agent

cdh2  内存2g agent

cdh3 内存2g agent

二、cm的安装

1、分别修改三台机器的hostname  如下图

153834_jv1k_2995717.png

153847_VLUk_2995717.png

153858_lw71_2995717.png

2、通过 service network restart 重启网络服务生效

3、分别修改三台机器的 ip 与主机名的对应关系

vi /etc/hosts

154616_Y6tg_2995717.png

4、配置cdh1到cdh2和cdh3的ssh免密码登陆

生成无密码密钥对  命令  ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

cdh1 上分别执行      

 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

scp ~/.ssh/id_dsa.pub cdh2:~/.ssh/authorized_keys

scp ~/.ssh/id_dsa.pub cdh3:~/.ssh/authorized_keys

5、所有机器都要关闭防火墙

临时关闭:

service iptables stop
重启后生效:
chkconfig iptables off

6、所有机器都要关闭 SELINUX

临时关闭:

setenforce 0
修改配置文件/etc/selinux/config(重启生效):
将 SELINUX=enforcing 改为 SELINUX=disabled
查看 SELINUX 状态:
1、/usr/sbin/sestatus –v
SELinux status: enabled(enabled:开启;disabled:关闭)
2、使用命令:getenforce

7、所有机器都要重启机器 命令reboot

8、所有机器都要安装jdk

1、检查liunx自带的jdk  命令 rpm -qa|grep java

163222_Dfzq_2995717.png

2、卸载liunx自带的jdk

rpm --nodeps -e java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.i686

 rpm  --nodeps -e  java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.i686

rpm --nodeps -e tzdata-java-2012j-1.el6.noarch

3、安装jdk 

 (1)、在/usr/local/下新建一个java文件夹  命令mkdir /usr/local/java。

 (2)、解压jdk-7u80-linux-x64.tar.gz  命令 tar -zxvf jdk-7u80-linux-x64.tar.gz

(3)、删除压缩文件  命令 rm jdk-7u80-linux-x64.tar.gz

(4)、修改文件名 命令  mv jdk1.7.0_80/ jdk

(5)、配置java环境变量  命令 vi /etc/profile  添加内容

export JAVA_HOME=/usr/local/java/jdk

export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOMdE/lib/dt.jar:$JAVA_HOME/lib/tools.jar

 保存退出   让刚才的设置立即生效  命令 source /etc/profile。

(6)、把jdk软连接到/usr/java/default首先查看是否有/usr/java目录,没有的话新建此目录:mkdir /usr/java。然后添加软连接到/usr/java/default,命令如下:ln -s /usr/local/java/jdk  /usr/java/default

为什么要添加软连接到/usr/java/default?这是因为有些软件,不会去找环境变量的java,而是找/usr/java下的,比如说cloudera manager在部署最后的spark时,一直报“上的客户端配置 (id=3) 已使用 1 退出,而预期值为 0”这个错误,其中一个原因就是访问java访问不到,参考:cloudera manager报错“客户端配置 (id=3) 已使用 1 退出,而预期值为 0”

9、所有机器都要设置ntp时间同步

所有节点安装 NTP:

yum -y install ntp
配置开机启动:
chkconfig ntpd on
检查是否设置成功:
chkconfig --list ntpd (2-5 为 on 状态则成功)
设置同步:
ntpdate -u ntp.sjtu.edu.cn(时钟服务器根据实际环境设置、本文采用 210.72.145.44-国家授时
中心服务器 IP 地址)

10、在cdh1上安装 MySql  

         rpm -qa | grep mysql     查看机器上的mysql信息

         rpm -e mysql-libs-5.1.66-2.el6_3.i686 --nodeps   删除已安装的mysql

         rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm   --force --nodeps   安装mysql   服务端

         rpm -ivh MySQL-client-5.1.73-1.glibc23.i386.rpm   --force --nodeps     安装mysql  客户端

        mysql> use mysql;

        mysql> UPDATE user SET password=password("root") WHERE user='root';   修改mysql密码 

        mysql>GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;     允许用mysql客户端远程登陆mysql服务

                        mysql> flush privileges;

                        mysql> exit;  

         登陆mysql

         mysql -u root -proot

 

也可以通过yum install -y mysql-server mysql mysql-devel安装 

安装好后通过service mysqld restart 启动mysql服务

如果启动失败 尝试下面方法

  1. rm -fr /var/lib/mysql/*  
  2. m /var/lock/subsys/mysqld   
  3. killall mysqld
  4. 在重启 service mysqld start    
  5. yum的方式安装mysql第一次没有密码

11、所有机器都要下载依赖包

yum -y install chkconfig

yum -y install python                     (2.6 required for CDH 5)
yum -y install bind-utils
yum -y install   psmisc
yum -y install   libxslt
yum -y install   zlib
yum -y install  sqlite
yum -y install  cyrus-sasl-plain
yum -y install  cyrus-sasl-gssapi
yum -y install  fuse
yum -y install  portmap
yum -y install  fuse-libs
yum -y install  redhat-lsb

12、Cloudera Manager Server和Agent 

(1) 、 安装 Cloudera Manager Server&Agent

拷贝 cloudera-manager-el6-cm5.4.3_x86_64.tar.gz 到所有 Server、Agent 节点

创建 cm 目录:
mkdir /opt/cloudera-manager
解压 cm 压缩包:
tar xvzf cloudera-manager*.tar.gz -C /opt/cloudera-manager

(2) 、 创建用户 cloudera-scm ( 所有节点)

执行:
useradd --system --home=/opt/cloudera-manager/cm-5.4.3/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

(3)、  配置 CM Agent

修改所有机器文件/opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini 中

server_host 以及 server_port

134319_2PYK_2995717.png

(4)、 在cdh1上 配置 CM Server  的 数据库

• 拷贝mysql jar文件到目录 /usr/share/java/

• 注意jar包名称要修改为mysql-connector-java.jar
• 在mysql客户端上mysql库执行grant all on *.* to 'temp'@'%' identified by 'temp' with grant option;
来创建一个临时账户  表示 允许任意机器用temp用户的temp密码来登录mysql数据库

140727_bcab_2995717.png

• cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema/
• ./scm_prepare_database.sh mysql temp -h cdh1 -uroot -proot --scm-host cdh1 scm scm scm
• 格式:数据库类型、数据库、数据库服务器、用户名、密码、cm server服务器

出现如下图表示配置成功

140755_Bn7C_2995717.png

• drop user 'temp'@'%';

(5)、 创建 Parcel 目录

在server端(cdh1)  节点创建目录/opt/cloudera/parcel-repo,执行:

mkdir -p /opt/cloudera/parcel-repo
chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
将下载好的文件(CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel、CDH-5.4.0-1.cdh5.4.0.p0.27-
el6.parcel.sha、manifest.json)拷贝到该目录下。

CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel.sha 这个文件下载下来的时候是CDH-5.4.0-1.cdh5.4.0.p0.27-

el6.parcel.sha1  要把后面的1去掉

如果没有CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel.sha这个文件需要制作 制作方法如下

制作CDH本地源

• 下载好文件CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel以及manifest.json,将这两个文件放到server节点的
/opt/cloudera/parcel-repo下。
• 打开manifest.json文件,里面是json格式的配置,找到与下载版本相对应的hash码,新建文件,文件名与你的
parel包名一致,并加上.sha后缀,将hash码复制到文件中保存。

Agent  (所有机器)节点创建目录/opt/cloudera/parcels,执行:
mkdir -p /opt/cloudera/parcels
chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcels

(6)、 启动 CM Manager和Agent 

执行:

Server端(cdh1):/opt/cloudera-manager/cm-5.4.3/etc/init.d/cloudera-scm-server start

查看日志文件/opt/cloudera-manager/cm-5.4.3/log/cloudera-scm-server/cloudera-scm-server.log

出现如下图表示server启动成功

153143_DrL0_2995717.png

Agents端(所有节点):/opt/cloudera-manager/cm-5.4.3/etc/init.d/cloudera-scm-agent start
访问:http://192.168.52.151:7180,若可以访问(用户名、密码:admin),则安装成功。

Manager 启动成功需要等待一段时间,过程中会在数据库中创建对应的表需要耗费一些时间。

153444_AvNe_2995717.png

三、CDH5 5 

1、免费版本的 CM5 已经去除 50 个节点数量的限制。

142143_rqjc_2995717.png

142221_j264_2995717.png

142330_Mumc_2995717.png

142419_qpbL_2995717.png

093931_HSYP_2995717.png

094133_WzpM_2995717.png

通过在所有机器上执行命令echo 0 > /proc/sys/vm/swappiness 即可解决上面的问题。

在点击094649_e2Q6_2995717.png问题解决

094928_YOUD_2995717.png

 

选择要添加的组件

095701_YCzu_2995717.png

根据自己需要分配主机

095912_Rrrg_2995717.png

一直点继续 

104850_9NwN_2995717.png

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

四、cdh 安装hive

1、添加服务

180130_4pdB_2995717.png

2、选择hive

180221_UXpJ_2995717.png

3、选择hive的依赖

180247_dEEF_2995717.png

4、选择在哪个机器上安装hive

180350_iWKK_2995717.png

5、添加数据库

create database hive DEFAULT CHARACTER SET utf8;

grant all on hive.* TO 'root'@'%' IDENTIFIED BY 'root';

181031_rx49_2995717.png

181116_c875_2995717.png

6、选择 hive的仓库目录

181158_LUFA_2995717.png

7、检查环境

182332_1zUh_2995717.png

8、出现如下界面表示安装成功

 

 

转载于:https://my.oschina.net/xiaozhou18/blog/841579

你可能感兴趣的文章
环境配置就是安装软件,修改软件的配置文件,安装软件就是文件的复制,与新增--linux下一切皆文件...
查看>>
11.27号
查看>>
c++ STL模板(一)
查看>>
JAVA面向对象概述
查看>>
mysql触发器
查看>>
UVA 10441 Catenyms 欧拉道路
查看>>
wpf 进度条 下拉
查看>>
python之 模块与包
查看>>
x = cos x 的解析形式
查看>>
base64工具类
查看>>
UUIDGenerator
查看>>
NUC1931 Problem D 区间素数【素数筛选】
查看>>
webpack编译流程漫谈
查看>>
oracle锁
查看>>
Android攻略--单位转化器UC--Units Converter(学习笔记)
查看>>
js 的强制 类型 转换cast, 伪对象?
查看>>
jsfl 全选
查看>>
MySQL安装与配置
查看>>
为什么开发移动端web不使用jQuery
查看>>
查询结果列传行
查看>>