cdh部署
supermicro安装环境
本次安装基于无因特网的环境,共安装2个节点(一个master节点,一个data及节点),所用系统为centos7.x,所有安装过程均使用root用户。具体的节点信息如下:
节点名称 |
节点id |
mgmt |
192.168.111.134 |
data1 |
192.168.111.135 |
安装步骤
环境准备
- 1. 上传安装软件包到主机(仅主节点)
在根目录创建soft文件夹:mkdir /soft
通过scp工具将所有软件包上传
- 2. 网络配置(所有节点)
修改主机名:vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME={主机名称}
例如:
修改host名称:vi /etc/hostname
修改ip与主机名的对应关系:vim /etc/hosts
重启网卡:service network restart
- 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如下:
- 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是否安装成功
- 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
- 安装数据库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>
并按下图进行配置:
关机后,系统需要重新启动:
- 首先启动mariadb
service mariadb start
- 然后启动cloudarer服务
/opt/cm-5.6.1/etc/init.d/cloudera-scm-server start
- 查看启动状态
/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创建库失败的修改:
- 需要在cdh的管理界面中点击hdfs,修改其中的权限。
- 点击配置,将检查 HDFS 权限的√去掉。
- 点击安全性,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
cdh部署的更多相关文章
- CDH部署日志
CDH部署时出现如图所示的错误 可去服务器查看:/opt/cm-5.5.0/run/cloudera-scm-agent/process/ccdeploy_hbase-conf_etchbasecon ...
- CDH 5.16.1 离线部署 & 通过 CDH 部署 Hadoop 服务
参考 Cloudera Enterprise 5.16.x Installing Cloudera Manager, CDH, and Managed Services Installation Pa ...
- CDH 部署 Hadoop:5.开始安装
Cloudera Enterprise 6.2.x 或者参考https://blog.csdn.net/shawnhu007/article/details/52579204 第零步:优化相关 e ...
- 离线部署 Cloudera Manager 5 和 CDH 5.12.1 及使用 CDH 部署 Hadoop 集群服务
Cloudera Manager Cloudera Manager 分为两个部分:CDH和CM. CDH是Cloudera Distribution Hadoop的简称,顾名思义,就是cloudera ...
- CM记录-CDH部署手册
1.安装环境和软件准备 CentOS release 7.4 JDK1.8.0_121 mysql-connector-java-5.1.40-bin.jar CDH-5.10.2-1.cdh ...
- CDH部署StreamSets
StreamSets是一个大数据采集工具,数据源支持包括结构化和半/非结构化,目标源支持HDFS,HBase,Hive,Kudu,Cloudera Search, ElasticSearch等.它包括 ...
- CDH部署(以5.7.5为例)
博客园首发,转载请注明出处https://www.cnblogs.com/tzxxh/p/9120020.html 一.准备工作(下面的内容括号内写master的表示仅在master节点执行,all代 ...
- 使用Windows Azure的VM安装和配置CDH搭建Hadoop集群
本文主要内容是使用Windows Azure的VIRTUAL MACHINES和NETWORKS服务安装CDH (Cloudera Distribution Including Apache Hado ...
- 【CDH篇】---CDH从初识到搭建到应用
一.前述 CDH(Cloudera's Distribution, including Apache Hadoop)是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache ...
随机推荐
- Bicriterial routing 双调路径 HYSBZ - 1375(分层最短路)
Description 来越多,因此选择最佳路径是很现实的问题.城市的道路是双向的,每条道路有固定的旅行时间以及需要支付的费用.路径由连续的道路组成.总时间是各条道路旅行时间的和,总费用是各条道路所支 ...
- git各种撤销提交
Git的几种状态 未修改 工作区 已修改 ↓ 工作区 已暂存 ↓ 暂存区 已提交 ↓ 本地仓库 已推送 ↓ 远程仓库 已修改 未暂存 已经修改了文件,还未进行git add 恢复方法 使用一下任意 ...
- SharePoint 2013 批量导入、删除帐号
删除一个group里所有的帐号: cls ########################### # "Enter the site URL here" $SITEURL = &q ...
- bzoj3209 花神的数论题——数位dp
题目大意: 花神的题目是这样的 设 sum(i) 表示 i 的二进制表示中 1 的个数.给出一个正整数 N ,花神要问你 派(Sum(i)),也就是 sum(1)—sum(N) 的乘积. 要对1000 ...
- C# String类&Math类&DateTime类
String类: String a = "abcdefghijklmnopqrstuvwxyz"; int length = a.length; //获取字符串的长度: a = ...
- 基本数据类型对象包装(Integer等)
基本数据类型 包装类 byte Byte short Short int Integer long Long boolean Boolean float ...
- 1.C和C++的区别
C和C++的区别 C语言语法简单,但使用不易 C++语法非常庞大复杂,但使用方便,更注重的是它的编程思想(面向对象). 一.第一个C++程序 1.文件扩展名 C++源文件扩展名 .cpp,C ...
- DOJO常用的函数
DOJO常用的: 1,通过dojo.require以类似C编程中#include或者Java中import的方式加载所需的部件如dojo.require("dojo.parser" ...
- HDU5367 思维map // 动态线段树
地主毛毛有n座山,这些山在地主家门前排成一条直线.这些山一开始均有相同的高度. 每一天,毛毛都会要求花花开挖机把几座山挖掉一定高度,或者给一些山堆上一些高度.并且要求花花报告现在有多少座山属于“高山 ...
- Python全栈问答小技巧_2
Python全栈测试题(二) 作者:尹正杰 声明:答案如有偏差,欢迎指正!欢迎加入高级运维工程师之路:598432640 本文答题用的Python版本是:Python 3.5.2,请知晓! 1. 计算 ...