zoukankan      html  css  js  c++  java
  • cdh部署

    supermicro安装环境

    本次安装基于无因特网的环境,共安装2个节点(一个master节点,一个data及节点),所用系统为centos7.x,所有安装过程均使用root用户。具体的节点信息如下:

    节点名称

    节点id

    mgmt

    192.168.111.134

    data1

    192.168.111.135

    安装步骤

    环境准备

    1. 1.       上传安装软件包到主机(仅主节点)

    在根目录创建soft文件夹:mkdir /soft

    通过scp工具将所有软件包上传

    1. 2.       网络配置(所有节点)

    修改主机名:vim /etc/sysconfig/network

    NETWORKING=yes 

    HOSTNAME={主机名称}

    例如:

    修改host名称:vi /etc/hostname

    修改ip与主机名的对应关系:vim /etc/hosts

    重启网卡:service network restart

    1. 3.       打通SSH,设置ssh无密码登陆(所有节点)

    以下命令在mgmt节点执行

    生成密钥:ssh-keygen -t rsa一直回车直至生成

    将公钥复制到已认证文件:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    更改authorized_keys权限:chmod 600 ~/.ssh/authorized_keys

    将authorized_keys复制到data1节点:scp ~/.ssh/authorized_keys root@data1:~/.ssh/

    以下命令在data1节点执行

    生成密钥:ssh-keygen -t rsa

    将本机密钥追加到mgmt公钥中:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    将新的authorized_keys重新复制回mgmt:scp ~/.ssh/authorized_keys root@mgmt:~/.ssh/

    这样,两台主机将能够免密码登录。这时两台主机的authorized_keys如下:

    1. 4.       安装jdk(所有节点)

    卸载自带的openjdk

    查看自带jdk版本:rpm -qa | grep java

    根据相依的版本卸载对应的jdk,如:rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

    如果/usr/java/文件夹不存在,则创建该文件夹:mkdir /usr/java

    以下命令在主节点执行

    解压jdk安装包: tar -xvf jdk*.tar.gz -C /usr/java/

    将jdk复制到各个子节点:scp -r /usr/java/ root@data1:/usr/

    以下命令在所有节点执行

    创建jdk软连接: ln -s /usr/java/jdk* /usr/java/default

    执行完毕后每一个节点的/user/java目录如下:

     

    配置环境变量/etc/profile,增加一下3行

    export JAVA_HOME=/usr/java/default

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

    export PATH=$PATH:$JAVA_HOME/bin

    调用命令使修改生效:source /etc/profile

    调用 java –version 查看jdk是否安装成功

    1. 5.       关闭防火墙和SELinux(所有节点)

    关闭防火墙

    停止firewall:systemctl stop firewalld.service

    禁止firewall开机启动:systemctl disable firewalld.service

    查看默认防火墙状态:firewall-cmd --state #(关闭后显示notrunning,开启后显示running)

     

    关闭SELinux: set enforce 0(临时生效)

    修改vi /etc/selinux/config下的

    SELINUX=disabled

    1. 安装数据库Mariadb(仅主节点)

    cd /soft/

    解压/soft/localReop.zip:unzip /soft/localRepo.zip

    备份本地yum配置:cp -r /etc/yum.repos.d /etc/yum.repos.d.back

    删除yun源配置:rm -rf /etc/yum.repos.d/*

    复制新的yum源:cp –r local_repo.repo /etc/yum.repos.d

    清除yum源缓存:yum clean all

    刷新yum源:yum repolist

    安装 mariadb:yum -y install mariadb mariadb-server

    启动mariadb:systemctl start mariadb

    通过命令: mysql -uroot进入Mariadb,并依次输入一下sql命令:

    use mysql;

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'mgmt' IDENTIFIED BY 'root' WITH GRANT OPTION;

    flush privileges;

    create database hive DEFAULT CHARSET latin1;

    create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 

    create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 

    create database rm DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

    create database nas DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

    create database nms DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

    至此准备工作全部结束。

    安装Cloudera Manager Server 和Agent

    解压Cloudera Manager安装包到/opt:tar -zxvf /soft/cloudera-manager-centos7-cm5.6.1_x86_64.tar.gz -C /opt/

    复制mysql驱动:cp /soft/mysql-connector-java-5.1.37.jar /opt/cm-5.6.1/share/cmf/lib/

    复制mysql驱动(不能要版本号):cp /soft/mysql-connector-java-5.1.37.jar /usr/share/java/mysql-connector-java.jar

    初始化cm数据库:/opt/cm-5.6.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hmgmt -uroot -proot --scm-host mgmt scm scm scm

    在这里后面的参数分别是:数据库类型数据库名称数据库主机名数据库用户名密码 --scm-host cmserver主机名 scm scm scm

    修改agent配置:vi /opt/cm-5.6.1/etc/cloudera-scm-agent/config.ini

    修改配置server_host=mgmt

     

    替换压缩包中的client_configs.py文件:cp /soft/client_configs.5.6.1.py /opt/cm-5.6.1/lib64/cmf/agent/src/cmf/client_configs.py

    同步Agent到其他所有节点:scp -r /opt/cm-5.6.1/ root@data1:/opt/

    以下命令在所有节点运行:

    在所有节点创建cloudera-scm用户:useradd --system --home=/opt/cm-5.6.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm 

    以下命令在主节点运行:

    cp /soft/CDH-5.6.1-1.cdh5.6.1.p0.3-el7.parcel /opt/cloudera/parcel-repo/

    cp /soft/CDH-5.6.1-1.cdh5.6.1.p0.3-el7.parcel.sha1 /opt/cloudera/parcel-repo/

    cp /soft/manifest.json /opt/cloudera/parcel-repo/

    mv /opt/cloudera/parcel-repo/CDH-5.6.1-1.cdh5.6.1.p0.3-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.6.1-1.cdh5.6.1.p0.3-el7.parcel.sha

     

    在主节点启动cloudera-scm-server服务:/opt/cm-5.6.1/etc/init.d/cloudera-scm-server start

    在所有节点启动cloudera-scm- agent服务:/opt/cm-5.6.1/etc/init.d/cloudera-scm-agent start

    在浏览器输入:http://mgmt:7180/cmf/login进入cdh安装界面。

    使用用户名:admin密码:admin进行登录。

     

     

    选择当前管理的主机,全部勾选,点击继续

     

    选择使用parcel包安装,并选择5.6.1版本,点击继续。

     

    等待分配激活。

     

    等待主机检查。

     

    选择所有服务。

     

    根据需求选择主机角色。

     

    设置各个组件数据库。

     

    其中HDFS配置时:NameNode选择name1,SecondaryNameNode选择name2,DataNode选择data节点。

     

    根据需求配置hdfs。

     

    等待集群初始化。

     

    DataNode数据目录需放最大的盘,其他位默认值,df命令查看磁盘空间。

     

    至此cdh安装完毕。

     

    当hive启动报错,出现mysql中不能自动建表,需要在hive的配置中添加如下代码:

    位置:

    hive-site.xml Hive 服务高级配置代码段(安全阀)

    Hive(服务范围) 

    添加代码:(实现mysql自动创表)

    <property> 

        <name>datanucleus.readOnlyDatastore</name> 

        <value>false</value> 

    </property> 

    <property>  

        <name>datanucleus.fixedDatastore</name> 

        <value>false</value>  

    </property> 

    <property>  

        <name>datanucleus.autoCreateSchema</name>  

        <value>true</value>  

    </property> 

    <property> 

        <name>datanucleus.autoCreateTables</name> 

        <value>true</value> 

    </property> 

    <property> 

        <name>datanucleus.autoCreateColumns</name> 

        <value>true</value> 

    </property> 

    hive-site.xml Hive 复制高级配置代码段(安全阀)

    <property> 

        <name>datanucleus.readOnlyDatastore</name> 

        <value>false</value> 

    </property> 

    <property>  

        <name>datanucleus.fixedDatastore</name> 

        <value>false</value>  

    </property> 

    <property>  

        <name>datanucleus.autoCreateSchema</name>  

        <value>true</value>  

    </property> 

    <property> 

        <name>datanucleus.autoCreateTables</name> 

        <value>true</value> 

    </property> 

    <property> 

        <name>datanucleus.autoCreateColumns</name> 

        <value>true</value> 

    </property> 

    并按下图进行配置:

     

    关机后,系统需要重新启动:

    1. 首先启动mariadb

    service mariadb start

    1. 然后启动cloudarer服务

    /opt/cm-5.6.1/etc/init.d/cloudera-scm-server start

    1. 查看启动状态

    /opt/cm-5.6.1/etc/init.d/cloudera-scm-server status

    4.同时启动agent

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

     

     

     

     

     

     

     

    设置开机启动:

    systemctl enable mariadb

    主节点上

    cp /opt/cm-5.6.1/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server

     

    vim /etc/init.d/cloudera-scm-server

    CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default}改为CMF_DEFAULTS=${CMF_DEFAULTS:-/opt/cm-5.6.1/etc/default}

     

    chkconfig --add cloudera-scm-server

    chkconfig cloudera-scm-server on

     

    所有节点上

    cp /opt/cm-5.6.1//etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent

     

    vim /etc/init.d/cloudera-scm-agent

    CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default}改为CMF_DEFAULTS=${CMF_DEFAULTS:-/opt/cm-5.6.1/etc/default}

     

    chkconfig --add cloudera-scm-agent

    chkconfig cloudera-scm-agent on

     

     

     

    针对hive创建库失败的修改:

    1. 需要在cdh的管理界面中点击hdfs,修改其中的权限。
    2. 点击配置,将检查 HDFS 权限去掉。
    3. 点击安全性,Hadoop 安全授权勾选,并且在授权的用户中添加要授权的root

    针对hive创建表失败的修改:

    1.需要连接hive的mysql,在hive的库中修改字符集,要使用latin1。

     

    安装过程中如果出错,需删除数据库cm,然后删除以下目录中的内容(所有节点):

    cd /opt/cm-5.6.1/run/cloudera-scm-agent/

    rm -rf  ./*

    然后初始化cm数据库:/opt/cm-5.6.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hmgmt -uroot -proot --scm-host mgmt scm scm scm

     

     

     

     

     

    选择空间比较大的盘来安装

     

    Sqoop从Oracle导入到hive

    将Oracle驱动包ojdbc6.jar放到 sqoop/lib下

     

     

    sqoop import --connect ‘jdbc:oracle:thin:@10.111.123.4:1521:orcl?useUnicode=true&characterEncoding=UTF-8’ --username CETC --password CETC123 --hive-drop-import-delims --table CETC2.KC21K1 --split-by id --hive-import

  • 相关阅读:
    FindData_查找数据库中所有相关的字符
    删除所有的视图,存储过程
    游标
    常用sql收藏
    Java学习笔记15--引用传递
    Java学习笔记14--动态代理
    Java学习笔记13--比较器(Comparable、Comparator)
    Java学习笔记11--Annotation
    Java学习笔记12--国际化
    Java学习笔记10--枚举
  • 原文地址:https://www.cnblogs.com/jycjy/p/9515385.html
Copyright © 2011-2022 走看看