cdh部署

2024-08-30 18:32
文章标签 部署 cdh

本文主要是介绍cdh部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

 

posted @ 2018-08-22 01:31 酸奶加绿茶 阅读( ...) 评论( ...) 编辑 收藏

这篇关于cdh部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1121602

相关文章

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

nginx部署https网站的实现步骤(亲测)

《nginx部署https网站的实现步骤(亲测)》本文详细介绍了使用Nginx在保持与http服务兼容的情况下部署HTTPS,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录步骤 1:安装 Nginx步骤 2:获取 SSL 证书步骤 3:手动配置 Nginx步骤 4:测

Tomcat高效部署与性能优化方式

《Tomcat高效部署与性能优化方式》本文介绍了如何高效部署Tomcat并进行性能优化,以确保Web应用的稳定运行和高效响应,高效部署包括环境准备、安装Tomcat、配置Tomcat、部署应用和启动T... 目录Tomcat高效部署与性能优化一、引言二、Tomcat高效部署三、Tomcat性能优化总结Tom

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee