CDH集群安装
1 软硬件准备
1.1 准备三个节点
序号 | 主机名 | 内存 | CPU | IP地址 | 角色 |
1 | cdh1 | 8G | 8核心 | 192.168.5.78 | cloudera-scm-server,mysql |
2 | cdh2 | 4G | 8核心 | 192.168.5.79 | cloudera-scm-agent |
3 | cdh2 | 4G | 8核心 | 192.168.5.80 | cloudera-scm-agent |
1.2 软件版本信息
2 主机环境准备
2.1 搭建yum源
[root@hadoop1 ~]# mount /dev/cdrom /mnt

[root@hadoop1 yum.repos.d]# cat rhel-source.repo
[rhel-source]
name=RedHat
baseurl=file:///mnt

[root@hadoop1 yum.repos.d]# yum clean all
[root@hadoop1 yum.repos.d]# yum makecache
[root@hadoop1 yum.repos.d]# yum list | more

[root@hadoop1 yum.repos.d]# yum whatprovides \*rz
[root@hadoop1 yum.repos.d]# yum install lrzsz-0.12.20-27.1.el6.x86_64 -y


2.2 配置JDK
[root@hadoop1 ~]# java -version
[root@hadoop1 ~]# rpm -qa | grep java
[root@hadoop1 ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
[root@hadoop1 ~]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
[root@hadoop1 ~]# rpm -e --nodeps tzdata-java-2013g-1.el6.noarch

[root@hadoop1 java]# mkdir /usr/java
[root@hadoop1 java]# tar -xzvf jdk-7u79-linux-x64.tar.gz -C /usr/java/
[root@hadoop1 data]# cd /usr/java/
[root@hadoop1 java]# mv jdk1.7.0_79 default

[root@hadoop1 default]# vim /etc/profile
export JAVA_HOME=/usr/java/default
export JRE_HOME=/usr/java/default/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
[root@hadoop1 default]# source /etc/profile

[root@hadoop1 default]# scp -r /usr/java/default/* root@192.168.5.79:/usr/java/default/
[root@hadoop1 default]# scp -r /usr/java/default/* root@192.168.5.80:/usr/java/default/

[root@hadoop2 default]# tail -4/etc/profile
export JAVA_HOME=/usr/java/default
export JRE_HOME=/usr/java/default/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH

2.3 修改主机名

[root@hadoop1 default]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.5.78 cdh1
192.168.5.79 cdh2
192.168.5.80 cdh3

2.4 配置SSH免密码认证
[root@cdh1 ~]#/usr/bin/ssh-keygen -t rsa -N ""

# cat /root/.ssh/id_rsa.pub | ssh 192.168.5.78 'cat >> .ssh/authorized_keys'
# cat /root/.ssh/id_rsa.pub | ssh 192.168.5.79 'cat >> .ssh/authorized_keys'
# cat /root/.ssh/id_rsa.pub | ssh 192.168.5.80 'cat >> .ssh/authorized_keys' (注意, 本机也要做免密码认证)


2.5 关闭防火墙
# service iptables stop
# chkconfig iptables off
# chkconfig --list | grep iptables

# vim /etc/sysconfig/selinux
# setenforce 0


2.6 配置内核参数
# echo 0 > /proc/sys/vm/swappiness
# echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
# vim /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"

2.7 配置NTP服务
restrict 192.168.5.0 mask 255.255.255.0 nomodify notrap
server 127.127.1.0# local clock
fudge 127.127.1.0 stratum 10
#server 0.rhel.pool.ntp.org iburst
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
server 192.168.5.78
restrict 192.168.5.78 nomodify notrap noquery
[root@cdh1 ~]# service ntpd restart
[root@cdh1 ~]# ntpdate -u 0.rhel.pool.ntp.org
16Feb14:13:39 ntpdate[32551]: step time server 85.199.214.101 offset -27310.823198 sec
[root@cdh1 ~]# date
2017年02月16日星期四14:13:41 CST
# service ntpd restart
# ntpdate -u 192.168.5.78


3、编译安装MySQL
3.1 检查并卸载本机的MySQL
# rpm -qa | grep mysql
# yum -y remove mysql-libs-5.1.71-1.el6.x86_64

3.2 配置用户、目录和环境
[root@cdh1 ~]# useradd mysql

[root@cdh1 ~]# mkdir -p /home/u01/my3306/data
[root@cdh1 ~]# mkdir -p /home/u01/my3306/log/iblog
[root@cdh1 ~]# mkdir -p /home/u01/my3306/log/binlog
[root@cdh1 ~]# mkdir -p /home /u01/my3306/run
[root@cdh1 ~]# mkdir -p /home/u01/my3306/tmp
[root@cdh1 ~]# chown -R mysql:mysql /home/u01/my3306/
[root@cdh1 ~]# chmod -R 755/home/u01/my3306/
export PATH=$PATH:/home/u01/my3306/bin

[root@cdh1 data]# yum install -y cmake gcc gcc-c++ ncurses-devel bison zlib libxml openssl libxml2 libxml2-devel openssl-devel

3.3 安装MySQL
[root@cdh1 data]# tar -xzvf mysql-5.6.35.tar.gz -C /home/u01

cmake \
-DCMAKE_INSTALL_PREFIX=/home/u01/my3306 \
-DINSTALL_DATADIR=/home/u01/my3306/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_SSL=yes \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/home/u01/my3306/run/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DSYSCONFDIR=/etc \
-DWITH_READLINE=on

# make

# make install


[client]
port=3306
socket=/home/u01/my3306/mysql.sock
[mysql]
pid_file=/home/u01/my3306/run/mysqld.pid
[mysqld]
autocommit=1
general_log=off
explicit_defaults_for_timestamp=true
# system
basedir=/home/u01/my3306
datadir=/home/u01/my3306/data
max_allowed_packet=1g
max_connections=3000
max_user_connections=2800
open_files_limit=65535
pid_file=/home/u01/my3306/run/mysqld.pid
port=3306
server_id=101
skip_name_resolve=ON
socket=/home/u01/my3306/run/mysql.sock
tmpdir=/home/u01/my3306/tmp
#binlog
log_bin=/home/u01/my3306/log/binlog/binlog
binlog_cache_size=32768
binlog_format=row
expire_logs_days=7
log_slave_updates=ON
max_binlog_cache_size=2147483648
max_binlog_size=524288000
sync_binlog=100
#logging
log_error=/home/u01/my3306/log/error.log
slow_query_log_file=/home/u01/my3306/log/slow.log
log_queries_not_using_indexes=0
slow_query_log=1
log_slave_updates=ON
log_slow_admin_statements=1
long_query_time=1
#relay
relay_log=/home/u01/my3306/log/relaylog
relay_log_index=/home/u01/my3306/log/relay.index
relay_log_info_file=/home/u01/my3306/log/relay-log.info
#slave
slave_load_tmpdir=/home/u01/my3306/tmp
slave_skip_errors=OFF
#innodb
innodb_data_home_dir=/home/u01/my3306/log/iblog
innodb_log_group_home_dir=/home/u01/my3306/log/iblog
innodb_adaptive_flushing=ON
innodb_adaptive_hash_index=ON
innodb_autoinc_lock_mode=1
innodb_buffer_pool_instances=8
#default
innodb_change_buffering=inserts
innodb_checksums=ON
innodb_buffer_pool_size=128M
innodb_data_file_path=ibdata1:32M;ibdata2:16M:autoextend
innodb_doublewrite=ON
innodb_file_format=Barracuda
innodb_file_per_table=ON
innodb_flush_log_at_trx_commit=1
innodb_flush_method=O_DIRECT
innodb_io_capacity=1000
innodb_lock_wait_timeout=10
innodb_log_buffer_size=67108864
innodb_log_file_size=1048576000
innodb_log_files_in_group=4
innodb_max_dirty_pages_pct=60
innodb_open_files=60000
innodb_purge_threads=1
innodb_read_io_threads=4
innodb_stats_on_metadata=OFF
innodb_support_xa=ON
innodb_use_native_aio=OFF
innodb_write_io_threads=10
[mysqld_safe]
datadir=/home/u01/my3306/data
[root@cdh1 home]# chown -R mysql:mysql ./u01/my3306

./scripts/mysql_install_db --defaults-file=/home//u01/my3306/my.cnf --datadir=/home/u01/my3306/data --user=mysql

[root@cdh1 my3306]# cd bin/
[root@cdh1 bin]#./mysqld_safe --defaults-file=/home/u01/my3306/my.cnf --user=mysql &


3.4 配置MySQL权限等
[root@cdh1 bin]# mysqladmin -u root password 123456


mysql> grant all privileges on *.* to root@'localhost' identified by'123456'with grant option;
mysql> grant all privileges on *.* to root@'127.0.0.1' identified by'123456'with grant option;
mysql> grant all privileges on *.* to root@'%' identified by'123456'with grant option;
mysql> flush privileges;


4 安装Cloudera Manager
4.1 上传并解压cloudera-manager
[root@cdh1 data]# tar xzvf cloudera-manager-el6-cm5.6.0_x86_64.tar.gz -C /opt/
# cp mysql-connector-java-5.1.38-bin.jar /opt/cm-5.6.0/share/cmf/lib/
4.2 修改配置文件的主机名
[root@cdh1 data]# sed -i 's/server_host=localhost/server_host=cdh1/g'/opt/cm-5.6.0/etc/cloudera-scm-agent/config.ini
4.3 修复安装包bug(此BUG会导致在集群安装YARN时失败)
# vim /opt/cm-5.6.0/lib64/cmf/agent/src/cmf/util.py --该文件第365行
pipe = subprocess.Popen(['/bin/bash','-c',". %s; %s; env"%(path, command)],
stdout=subprocess.PIPE, env=caller_env)
改成
pipe = subprocess.Popen(['/bin/bash','-c',". %s; %s; env | grep -v { | grep -v }"%(path, command)],
stdout=subprocess.PIPE, env=caller_env)
4.4 创建系统用户(在所有的节点)
# useradd --system --home=/opt/cm-5.6.0/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "cloudera scm user" cloudera-scm

4.5 配置MySQL数据库
[root@cdh1 data]#/opt/cm-5.6.0/share/cmf/schema/scm_prepare_database.sh mysql -h192.168.5.78-uroot -p123456 --scm-host 192.168.5.78 cm cm cm
[root@cdh1 data]# mysql -h192.168.5.78-uroot -p123456 -e "show databases;"

[root@cdh1 data]# mysql -h192.168.5.78-uroot -p123456
mysql> create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql> create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql> create database hue default charset utf8 collate utf8_general_ci;
mysql> create database Oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql> grant all on *.* to 'root'@'%' identified by '123456';--授权server主机
mysql> flush privileges;
4.6 将cm复制到agent
[root@cdh1 opt]# scp -r cm-5.6.0/ root@cdh2:/opt
[root@cdh1 opt]# scp -r cm-5.6.0/ root@cdh3:/opt
4.7 准备parcels安装包到/opt/cloudera/parcel-repo/
# cp CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel /opt/cloudera/parcel-repo/
# cp CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel.sha1 /opt/cloudera/parcel-repo/
# cp manifest.json /opt/cloudera/parcel-repo/
# cd /opt/cloudera/parcel-repo/
# mv CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel.sha1 CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel.sha

4.8 启动服务
# /opt/cm-5.6.0/etc/init.d/cloudera-scm-server start
# /opt/cm-5.6.0/etc/init.d/cloudera-scm-agent start
# /opt/cm-5.6.0/etc/init.d/cloudera-scm-agent start
[root@cdh1 opt]# ps -ef | grep scm

# netstat -tunlp|grep java

5 在界面配置
5.1 同意License

5.2 选择Cloudera Express版本
5.3 软件列表信息, 继续

5.4 选择安装的主机

5.5 继续,Parcel从cdh1分发到其他节点
5.6 检查主机正确性




5.7 选择需要安装的服务

5.8 集群设置


5.9 设置数据库的信息

5.10 集群设置

5.11 配置和启动服务




5.12 安装结束

6 验证
6.1 验证HDFS的功能

6.2 验证Spark引擎

6.3 验证MR引擎

6.4 验证Hive on Spark




附件列表
CDH集群安装的更多相关文章
- CDH集群安装&测试总结
0.绪论 之前完全没有接触过大数据相关的东西,都是书上啊,媒体上各种吹嘘啊,我对大数据,集群啊,分布式计算等等概念真是高山仰止,充满了仰望之情,觉得这些东西是这样的: 当我搭建的过程中,发现这些东西是 ...
- CDH集群安装配置(七)--CDH组件的安装和配置
1. Clouder Manger页面的配置 访问主节点IP:(cdh1)192.168.80.81:7180 默认用户名和密码:admin,admin 选择一个版本 选择集群的服务器(agent), ...
- CDH集群安装配置(三)- 集群时间同步(主节点)和 免密码登录
集群时间同步(主节点) 1. 查看是否安装ntp服务,如果没有安装 rpm -qa |grep ntpd查看命令 yum install ntp安装命令 2. 修改配置 vi /etc/ntp.con ...
- CDH集群安装配置(五)- Cloudera Manager Server
在线安装 sudo yum install cloudera-manager-daemons cloudera-manager-server 离线安装 资源下载地址 https://archive.c ...
- CDH集群安装配置(四)- mysql 的安装
安装mysql,并且创建相关的表(只需要在chd1上面安装而且需要root权限)1.1 查看Centos自带mysql是否已经安装 yum list installed | grep mysql 卸载 ...
- CDH集群安装配置(六)CDH agent
在线安装 sudo yum install cloudera-manager-agent cloudera-manager-daemons 离线安装 上传三个server的资源包到cdh1节点上(所有 ...
- CDH集群安装配置(二)- 公共环境的配置和虚拟机的克隆
1. 配置网络-ip地址设置静态 vi /etc/sysconfig/network-scripts/ifcfg-eth33 增加如下配置 ONBOOT=yes BOOTPROTO=static IP ...
- CDH集群安装配置(一)-集群规划和NAT网络配置
三台物理机或者虚拟机. cdh1,cdh2,cdh3. 内存要求大于8GB,cdh1的物理磁盘要求多余50G. 每台虚拟机安装centos 7 系统.
- Cloudera Manager安装_搭建CDH集群
2017年2月22日, 星期三 Cloudera Manager安装_搭建CDH集群 cpu 内存16G 内存12G 内存8G 默认单核单线 CDH1_node9 Server || Agent ...
随机推荐
- 在Android Studio配置google protobuf
1.在project的build.gradle中配置 buildscript { repositories { jcenter() mavenCentral() } dependencies { cl ...
- Streaming-大数据的未来
分享一篇关于实时流式计算的经典文章,这篇文章名为Streaming 101: The world beyond batch 那么流计算如何超越批处理呢? 从这几个方面说明:实时流计算系统,数据处理模式 ...
- peewee
字段查看http://docs.peewee-orm.com/en/latest/peewee/models.html#fields 方法使用https://blog.csdn.net/qq_3962 ...
- bootstrap-datetimepicker时间插件使用
html头部引入相关的js和css <link rel="stylesheet" type="text/css" href="css/boots ...
- RobotFrameWork Web自动化测试环境搭建
前言 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行.主要用于轮次很多的验收 ...
- 集成 Spring Boot 常用组件的后台快速开发框架 spring-boot-plus 国
spring-boot-plus是一套集成spring boot常用开发组件的后台快速开发框架 Purpose 每个人都可以独立.快速.高效地开发项目! Everyone can develop pr ...
- TortoiseGit的NetWork中的Enale proxy Server的作用
NetWork中的Enale proxy Server 如果是局域网的代码管理需打勾: 如否是网路上的代码管理如:github是,要取消打勾: 否则回报:Couldn't resolve proxy ...
- textRNN & textCNN的网络结构与代码实现!
1. 什么是textRNN textRNN指的是利用RNN循环神经网络解决文本分类问题,文本分类是自然语言处理的一个基本任务,试图推断出给定文本(句子.文档等)的标签或标签集合. 文本分类的应用非常广 ...
- C#数据结构_排序
/** * 冒泡排序 * * @param array * @return */ public static int[] bubbleSort(int[] array) { if (array.len ...
- volatile、Synchronized实现变量可见性的原理,volatile使用注意事项
变量不可见的两个原因 Java每个线程工作都有一个工作空间,需要的变量都是从主存中加载进来的.Java内存模型如下(JMM): 线程访问一个共享的变量时,都需要先从主存中加载一个副本到自己的工作内存中 ...