CM安装

系统基本配置
CM搭建

集群大小:
测试集群
机器数量:5 台 - 10 台
机器配置:
>> 内存:24 G / 32 以上
>> 硬盘:4 TB 以上
>> CPU 核:6 核CPU 以上
>> 网卡:万兆

生产集群
>> 小型集群
20 台以下
>> 中型机群
50 台以下
>> 大型机群
50 台以上

基本组件:
* Zookeeper
分布式协作框架
节点数目
测试集群:3 个
生产集群:
>> 小型集群, 3 个或者 5个
>> 中型机群,5 个 或者 7个
>> 大型机群, 奇数个
* HDFS
存储海量数据
* YARN
集群资源管理
资源调度
* MapReduce
并行计算框架
思想:
分而治之
分:map
合:reduce
一、环境的准备
系统: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=bigdata01.com
i插入修改,esc退出,:wq保存退出,:w保存不退出,:q!强制退出
2)重启生效
# service network restart
3)验证
# hostname
4)查看文件信息并且追加信息(所有机器)
# vi /etc/hosts
192.168.75.101 bigdata01.com
192.168.75.102 bigdata02.com
192.168.75.103 bigdata03.com
192.168.75.104 bigdata04.com
192.168.75.105 bigdata05.com
5)验证
# ping www.baidu.com
# ping bigdata02.com
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= P A T H : PATH: PATH:JAVA_HOME/bin
4)配置生效(所有机器)
# source /etc/profile
5)拷贝给其他服务器(所有机器)
[root@bigdata01 modules]# scp -r ./ root@bigdata02.com:/opt/modules/
[root@bigdata01 modules]# scp -r ./ root@bigdata03.com:/opt/modules/
[root@bigdata01 modules]# scp -r ./ root@bigdata04.com:/opt/modules/
[root@bigdata01 modules]# scp -r ./ root@bigdata05.com:/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 bigdata01.com
	ssh  bigdata01.com
	exit
	ssh-copy-id -i ~/.ssh/id_rsa.pub bigdata02.com
	ssh  bigdata02.com
	exit
	ssh-copy-id -i ~/.ssh/id_rsa.pub bigdata03.com
	ssh  bigdata03.com
	exit
	ssh-copy-id -i ~/.ssh/id_rsa.pub bigdata04.com
	ssh  bigdata04.com
	exit
	ssh-copy-id -i ~/.ssh/id_rsa.pub bigdata05.com
	ssh  bigdata05.com
	exit
2)验证:
	# ssh bigdata02.com
	
注意:每次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@bigdata02.com:/etc/security/limits.conf 
	$ scp /etc/security/limits.conf root@bigdata03.com:/etc/security/limits.conf 
	$ scp /etc/security/limits.conf root@bigdata04.com:/etc/security/limits.conf 
	$ scp /etc/security/limits.conf root@bigdata05.com:/etc/security/limits.conf 
3)重启生效
	验证: # ulimit  -a

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

系统基本配置结束

部署规划开始
一、机器分配

192.168.75.101 server/agent mysql
192.168.75.102 agent namenode
192.168.75.103 agent namenode(备) resourcemanager
192.168.75.104 agent resourcemanager (备)
192.168.75.105 agent

192.168.75.101 server/agent mysql
192.168.75.102 agent namenode resourcemanager(备)
192.168.75.103 agent namenode(备) resourcemanger

部署规划结束====

数据库安装开始====
二、安装mysql数据库

1)选择服务器安装:bigdata01.com 
	版本要求:5.6 
	默认安装:5.1 yum 安装mysql的默认版本
2)检查服务器自带的mysql相关安装包
	[root@bigdata01 ~]# rpm -qa | grep mysql
	mysql-libs-5.1.66-2.el6_3.x86_64
	[root@bigdata01 ~]# rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64
3)使用yum方式安装mysql 
	编译安装-都需要外网
	下载mysql的yum源 
4)更新mysql的yum源	
	[root@bigdata01 soft]# rpm -Uvh mysql57-community-release-el6-8.noarch.rpm
5)修改源
	# vi /etc/yum.repos.d/mysql-community.repo
		# Enable to use MySQL 5.6
		[mysql56-community]
		enabled=1  //改成1,表示启用
		gpgcheck=1

		[mysql57-community]
		enabled=0  //改成0,禁用
		gpgcheck=1

	# vi /etc/yum.repos.d/mysql-community-source.repo
		[mysql56-community-source]
		enabled=1   //改成1,表示启用
		gpgcheck=1

		[mysql-tools-preview-source]
		name=MySQL Tools Preview - Source
		baseurl=http://repo.mysql.com/yum/mysql-tools-preview/el/6/SRPMS
		enabled=1   //改成1,表示启用
		gpgcheck=1
6)查看通过yum可以安装的软件包(只显示mysql相关的)
	# yum repolist enabled | grep mysql

7)yum安装mysql
	# yum -y install mysql-community-server 
	# yum makecache   更新缓存

8)启动mysql数据库的初始化
	# service mysqld status
	# service mysqld start
9)首次启动成功后,对访问用户进行设置(比如给root用户设置密码,去掉匿名用户)
	# mysql_secure_installation 

输入当前用户:回车

输入root密码:123456

production environment.

Remove anonymous users? [Y/n] y
… Success!

Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n
… skipping.

By default, MySQL comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] n
… skipping.

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
… Success!

安装MySQL(server节点)
-》如果需要重新安装MySQL
yum remove -y mysql-server
-》编译安装MySQL
-》安装依赖
yum -y install gcc gcc-c++ gdb cmake ncurses-devel bison bison-devel
-》下载解压,进入目录
-》预编译、编译、安装
cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/usr/local/mysql/data
-DSYSCONFDIR=/etc
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DMYSQL_TCP_PORT=3306
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-》编译:
make(20分钟)
-》安装:
make install
-》添加MySQL用户组及用户
groupadd mysql
useradd -r -g mysql mysql
-》初始化MySQL
cd /usr/local/mysql/scripts/
./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
-》配置MySQL使用service命令管理
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
-》配置MySQL环境变量
vim /etc/profile
#MYSQL
export MYSQL_HOME=/usr/local/mysql
export PATH= P A T H : PATH: PATH:MYSQL_HOME/bin
source /etc/profile
-》删除自带的配置文件
rm -rf /etc/my.cnf
-》启动MySQL服务
Starting MySQL. [ OK ]
-》重置root密码
-》mysql
-》set password=password(“123456”);
-》flush privileges;
数据库安装结束====

CM安装开始====
三、CM的安装

1)安装第三方依赖(在所有服务器上)
	yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs redhat-lsb
	
2)下载上传
	//下载地址:
	http://archive.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.3.6_x86_64.tar.gz

上传到/opt/softwares文件夹下

3)安装
	//先在server主节点上创建一个CM的解压目录
	# mkdir -p /opt/cloudera-manager
	//opt/cloudera-manager/cm-5.3.6  CM框架本身的配置、依赖库、启动脚本等文件
	# tar -zxf /opt/softwares/cloudera-manager-el6-cm5.3.6_x86_64.tar.gz -C /opt/cloudera-manager
	//在解压路径下 两个子目录cloudera  cm-5.3.6	
	//opt/cloudera-manager/cm-5.3.6  CM框架本身的配置、依赖库、启动脚本等文件
	
4)在server主节点上修改agent配置
# vi /opt/cloudera-manager/cm-5.3.6/etc/cloudera-scm-agent/config.ini	
# Hostname of the CM server.
	server_host=bigdata01.com  
# Port that the CM server is listening on.
	server_port=7182  //确认通信端口
		
5)拷贝CM解压后的包给其他服务器
	# scp -r /opt/cloudera-manager/ bigdata02.com:/opt/
	# scp -r /opt/cloudera-manager/ bigdata03.com:/opt/
	# scp -r /opt/cloudera-manager/ bigdata04.com:/opt/
	# scp -r /opt/cloudera-manager/ bigdata05.com:/opt/

6)创建cloudera Manager 专门用户 cloudera-scm(在agnet所有服务器节点)

	# useradd --system --home=/opt/cloudera-manager/cm-5.3.6/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm 

	useradd 
	--system  表示创建的是系统用户
	--home=/opt/cloudera-manager/cm-5.3.6/run/cloudera-scm-server  指定用户主目录路径
	--no-create-home   不创建用户主目录
	--shell=/bin/false  不作为一个登陆用户
	--comment "Cloudera SCM User"   
	cloudera-scm  用户名

	验证:
	# cat /etc/passwd | grep cloudera-scm

7)配置CM数据库的权限
	//登陆主节点msyql,
	# mysql -uroot -p123456

	//添加一个temp用户并属于相关权限(主节点,也即mysql安装的机器)
	mysql> grant all privileges on *.*  to 'temp'@'%' identified by 'temp' with grant option ;
            mysql> grant all privileges on *.* to 'temp'@'bigdata01.com' identified by 'temp' with grant option;
	mysql> flush privileges ;
	mysql> use  mysql ;
	mysql> select host ,user from user ;

	//在主节点上
	# cd /opt/cloudera-manager/cm-5.3.6/share/cmf/schema

	//目录下scm_prepare_database.sh执行脚本文件命令
	# ./scm_prepare_database.sh mysql -h bigdata01.com -utemp -ptemp --scm-host bigdata01.com scm scm scm

	//出现异常:
	java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
	//解决办法:在/usr/share/java目录放入 mysql的驱动jar包,并且要求将jar包名称改为“mysql-connector-java.jar”
	# cp mysql-connector-java-5.1.26-bin.jar /usr/share/java
	# mv mysql-connector-java-5.1.26-bin.jar mysql-connector-java.jar
	//成功显示:
	All done, your SCM database is configured correctly!	

8)将CDH源放到cloudera Manager 主节点服务器上
	CDH源:hadoop集群(hadoop、flume、hbase等等)的安装文件
	//在server主节点上创建,注意:目录名称不能变
	# mkdir -p /opt/cloudera/parcel-repo   
		
	//在agent主机节点上创建
	# mkdir -p /opt/cloudera/parcels 

	//移动CDH源到linux
	# mv CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel* /opt/cloudera/parcel-repo/  

	//移动CDH源,去掉校验码文件结尾的1
	# mv CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1 CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha 
	
	//更改parcel目录的所有人
	//server节点
	# chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/
	//agent节点(所有agent节点)
	# chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcels 

9)启动CM进程 
server进程:
	//CM的进程启动脚本目录
	# cd /opt/cloudera-manager/cm-5.3.6/etc/init.d  
	
	//启动命令,注意:至少需要8G内存
	# ./cloudera-scm-server  start 
	
	//server主进程的log日志目录	
	# cd /opt/cloudera-manager/cm-5.3.6/log/cloudera-scm-server 
	# tail -f cloudera-scm-server.log
	//CM控制台(等待5分钟)
	CM的jetty服务器操作界面的访问端口 7180  
	http://bigdata01.com:7180    //操作界面
	登陆  admin  admin 

	//查看端口占用情况
	# netstat -tlnup
	//Windows系统配置
	C:\Windows\System32\drivers\etc
		172.23.201.91  bigdata01.com 
		172.23.201.92  bigdata02.com 
		172.23.201.93  bigdata03.com 
		172.23.201.94  bigdata04.com 
		172.23.201.95  bigdata05.com 
agent从节点进程(在所有agent节点中启动):
	# cd /opt/cloudera-manager/cm-5.3.6/etc/init.d/
	# ./cloudera-scm-agent start 
	//看不到agent进程,因为是Python语言维护
	[root@bigdata02 ~]# jps
	[root@bigdata02 ~]# ps -ef | grep agent

gdm 2013 1961 0 Feb24 ? 00:00:00 /usr/libexec/polkit-gnome-authentication-agent-1
root 19512 1 3 10:26 ? 00:00:05 /opt/cloudera-manager/cm-5.3.6/lib64/cmf/agent/build/env/bin/python /opt/cloudera-manager/cm-5.3.6/lib64/cmf/agent/src/cmf/agent.py --package_dir /opt/cloudera-manager/cm-5.3.6/lib64/cmf/service --agent_dir /opt/cloudera-manager/cm-5.3.6/run/cloudera-scm-agent --lib_dir /opt/cloudera-manager/cm-5.3.6/lib/cloudera-scm-agent --logfile /opt/cloudera-manager/cm-5.3.6/log/cloudera-scm-agent/cloudera-scm-agent.log

	//启动好后 ,netstat -tlnup | grep 7180 查看是否正常开启了7180页面访问端口

	//通过浏览器访问
	http://bigdata01.com:7180
	http://bigdata02.com:7180/cmf/express-wizard/resume

	登录 admin admin

报错:
useradd: cannot lock /etc/group; try again later.
useradd: cannot lock /etc/gshadow ; try again later.

解决方法:删除group.lock ,删除gshadow.lock

==================================================================================================================================================

10)检查主机的正确性
	Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑/etc/sysctl.conf以在重启后保存该设置。您可以继续进行安装,但可能会遇到问题,Cloudera Manager 报告您的主机由于交换运行状况不佳。以下主机受到影响:
	//当前设置查看
	# more /proc/sys/vm/swappiness 
	//四台agent主机都执行(不适用磁盘作为内存交换区)
	# echo 0 > /proc/sys/vm/swappiness  
	

	已启用“透明大页面”,它可能会导致重大的性能问题。版本为“CentOS release 6.4 (Final)”且发行版为“2.6.32-358.el6.x86_64”的 Kernel 已将 enabled 设置为“[always] never”,并将 defrag 设置为“[always] never”。请运行“echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag”以禁用此设置,然后将同一命令添加到一个 init 脚本中,如 /etc/rc.local,这样当系统重启时就会予以设置。或者,升级到 RHEL 6.5 或更新版本,它们不存在此错误。将会影响到以下主机:
	(所有机器执行:)
	# echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
	# cat /sys/kernel/mm/redhat_transparent_hugepage/defrag
		always [never]

	# vi /etc/rc.local   //添加上面的echo命令 
	echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

CM安装结束====

四、 Cloudera manager service集群监控服务安装

页面上图表展示的数据  需要安装并且启动好Cloudera manager service服务
点击右上角的添加Cloudera Management Service》》》全部默认安装》》》结束

五、大数据各个组件的安装测试
基于CM管理平台安装配置hadoop,hive,oozie,sqoop,flume,hbase,spark等协作框架
1)安装hadoop(非HA模式):hdfs
步骤1、在主页集群中Cluster1中点击下拉,选择添加服务,并且选中HDFS
步骤2、 跳转到添加服务向导,并且配置HDFS中的namenode,datanode,secondarynamenode,HttpFS角色,如下分配:
namenode:bigdata02.com,接受客户端请求,管理管理源数据
datanode:所有主机安装,并且最好4台以上其中,不建议搞三台,因为hdfs备份三分,如果其中一台机器出现故障或者通信问题,整个系统出问题。
secondarynamenode:bigdata03.com,协助Namenode合并fsimage与edits文件
HttpFS:bigdata04.com,http服务,允许客户端以http的访问方式来访问hdfs,并且在Hue中也会用到。
balance:bigdata02.com负责集群的负载均衡的进程
步骤3、审核更改,默认
步骤4、升级安装,完成
步骤5、首页集群,HDFS解决警告(Namenode的Java堆栈大小(字节)),点击进入,NameNode Default Group/资源管理选项和secondarynamenode Default Group/资源管理选项,点击重置为默认值:1G即可,返回首页点击警告旁边的刷新按钮,进入Cluster1过期配置,点击右上角的重启集群即可,然后点击立即重启。
步骤6、主机警告,bigdata03.com: 内存调拨过度验证阈值,暂时忽略不处理
步骤7、从首页进入HDFS,“快速链接 NameNode Web UI (活动)”进入可以看到我们之前用的hadoop,文件监控查看控制台
步骤8、在bigdata02.com中输入hdfs查看命令行验证:
# hdfs dfs -ls -R /
# hdfs dfs -mkdir -p /user/bigdata
mkdir: Permission denied: user=root, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x
解决:
方法一:
# export HADOOP_USER_NAME=hdfs 让执行命令的用户针对hadoop框架临时变为hdfs用户
方法二:
配置hdfs配置文件,跳过权限的检查
hdfs组件主页面-》配置-》检查 HDFS 权限(打钩去掉)
2)安装hadoop:yarn
步骤1、选择YARN(MR2 Included),注:不要选择MapReduce,因为它是针对hadoop1的
步骤2、添加服务向导,选择一组依赖关系,选择hdfs,下一步
步骤3、定义角色ResourceManager,NodeManager,JobHistory Server角色,如下分配
ResourceManager:bigdata03.com,资源管理任务调度
NodeManager:与配置NameNode中的datanode对应
JobHistory Server:bigdata04.com,日志聚合功能
步骤3、审核默认,进入安装,安装完成
步骤4、点击快速链接可以分别进入yarn和JobHistory控制台监控页面

agent上面/opt/cloudera/parcels/CDH集中放置各框架命令执行文件、依赖Jar包,注:从parcels中解压提取安装文件到响应目录中
# cd /opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11
# ll

测试wordcount程序
	# cd ~
	# vi wc.txt
	编辑文件:放入用空格隔开的字符,
	如:hadoop spark sqoop
	# hdfs dfs -ls - R /
	# hdfs dfs -mkdir -p /user/bigdata/wordcount/input
	# hdfs dfs -put wc.txt /user/bigdata/wordcount/input
	# hdfs dfs -ls - R /
	# yarn jar /opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/jars/hadoop-examples-2.5.0-mr1-cdh5.3.6.jar wordcount /user/bigdata/wordcount/input/wc.txt /user/bigdata/wordcount/output
	# hdfs dfs -ls - R /user/bigdata/wordcount/output1
	# hdfs dfs -text /user/bigdata/wordcount/output/part-r-*
	注:
	1、四台机器,每台有两个reduce,总计有8个reduce
	官网wordcount案例Reduce个数使用的是配置里面的mapreduce.job.reduces也可以在带代码中通过job.setNumReducers设置。
	2、在CM中修改mapreduce.job.reduces个数
		在首页点击yarn,进入配置页面,搜索mapreduce.job.reduces,重置为默认一个,保存更改即可。然后首页点击yarn上面的重置,部署客户端配置,重启生效即可。配置重启后系统有延迟稍后刷新即可。

	//CM已经默认配置启用了压缩
	# hadoop checknative

3)hadoop HDFS的namenode HA模式
	3.1、安装zookeeper
		zookeep一般安装奇数台3、5、7,是为了容错
		前提条件:zookeeper 选举机制  超过半数以上
		总3其中2台可用集群可用  容错1台  容错率 1/3 = 30%
		总4其中3台可用集群可用  容错1台  容错率 1/4 = 25 %

	3.2、安装服务,配置默认,选择3-5台作为zookeep服务安装服务器
	注:安装后,有一个检测过程(Zookeeper Canary),需要等待一会

	3.2、进入zookeeper的客户端
		[root@bigdata03 ~]# /opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/bin/zookeeper-client
		[root@bigdata03 ~]# ls /

	3.3、在首页"hdfs"中的"操作"下来中找到"启用HA..."
		定义一个对外访问的入口,nameservice为mycluster
	3.4、分配角色
		namenode主机:
		主:bigdata-cdh02.com
		备:bigdata-cdh03.com
		journalNode:bigdata-cdh[03-05].com

	SecondaryNamenode:协助Namenode合并fsimage与edits文件	
	JournalNode:仅仅只是备份edits文件仅仅只是将edits文件从当前active namenode节点获取到(同步过来)
	Standby Namenode:需要从journalnode中获取到edits文件,合并fsimage与edits文件
	hdfs namenode -boostrapStandby:将fsimage文件从已经格式化好的Namenode上拷贝到当前这个Namenode上

	3.5、审核更改
		参数JournalNode编辑目录,三台分别设置为:/dfs/jn

	注:如果从已有的非HA的HDFS上升级为HA模式,出现格式目录已存在的错误,注意这是正常情况(启动时报当前namenode的名称目录进行格式化,目录不为空,操作失败),原因是我们已经前面格式化过了。

4)hadoop yarn的resource manager HA模式
	4.1、操作同hdfs
	4.2、启用 YARN (MR2 Included) 的 High Availability
		ResourceManager 主机:
			主:bigdata-cdh03.com
			备:bigdata-cdh04.com

	4.3、获取Hadoop的配置文件:
		“操作”下来菜单中的“下载客户端配置”

5)Hive
	元数据保存的数据库 与Cloudera Manager共用mysql
	远程方式:
		在其中一台服务器上启动 metastore 进程
		在其他服务器上启用hive客户端

	5.1、先在mysql创建hive要用的database,并且将所用的用户创建出来	
	# mysql -uroot -p123456
	mysql>create database hive default character set latin1;
	5.2、授权指定用户可以访问的资源
	mysql>grant all privileges on hive.* to 'hive'@'%' identified by 'hive';

	mysql>grant all privileges on hive.* to 'hive'@'bigdata01.com' identified by 'hive';
	5.3、刷新缓存
	mysql>flush privileges;
	5.4、JDBC驱动
	测试连接,如果遇到jdbc driver 缺失,在/usr/share/java目录放进去 mysql jdbc 驱动包mysql-connector-java.jar

	hive数据库主机名称:修改为mysql所在机器bigdata01.com

	审核更改默认

	进入配置的getway的机器(hive的客户端),使用hive
	# hive
	# show databases
	# show tables
	# 创建表,插入数据
	# beeline链接等操作

	5.5、如何修改hive的配置信息:
	进入hive主页面-》配置-》高级-》hive-site.xml->将配置信息填入-》保存-》重启集群

6)sqoop(此处安装的是sqoop2,我们学习的是sqoop1)
	6.1、安装配置都是默认,但是sqoop服务选择安装在第四台机器bigdata04.com
	

	6.2、sqoop 命令
	# sqoop help

	# sqoop list-databases --connect jdbc:mysql://bigdata01.com:3306 --username root --password 123456

	[root@bigdata01 java]# scp /opt/softwares/mysql-connector-java.jar  bigdata01.com:/usr/share/java

	16/09/01 14:09:25 ERROR manager.CatalogQueryManager: Failed to list databases
	java.sql.SQLException: Access denied for user 'root'@'bigdata04.com' (using password: YES)

	解决办法:
	# mysql -uroot -p123456
	mysql>grant all privileges on *.* to 'root'@'bigdata04.com' identified by '123456';
	mysql>flush  privileges;

7)flume agent
	7.1、flume agent包括三个组件source、channel、sink;
	一般flume在正式使用时需要自己编写好flume.conf文件。
	通常使用的有:exec source、memory channel、hdfs sink
	7.2、flume配置安装
		角色分配给四台机器bigdata[02-05].com,也即四台机器公用一个agent
	

	7.3、一个集群中可以添加配置多个flume服务,收集不同数据源


8)oozie
	8.1、安装配置oozie
		依赖关系选择有hive的,角色选择bigdata05.com,审核更改选择默认的,

	8.2、oozie server进程所在的服务器上:
	  
	# scp ext-2.2.zip bigdata05.com:/var/lib/oozie
	# cd /var/lib/oozie
	//解压zip包到oozie server进程所在的服务器上的/var/lib/oozie
	# unzip ext-2.2.zip 
	//在该目录下可以修改oozie-site.xml的配置文件,如时区等
	#  cd /opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/etc/oozie/conf.dist

	8.3、刷新oozie控制台页面

9)hbase
	9.3、分配角色
	master选择两个服务器
		master:bigdata02.com
		back-master:bigdata03.com
	hbase rest server 
		以rest接口的方式访问hbase
		bigdata05.com
	hbase thrift server 
		后面与hue整合时需要 
		bigdata04.com
	RegionServer
		所有bigdata[02-05].com

	9.4、审核更改默认
	9.5、过去配置,重启集群
	添加后hbase相关的进程默认是停止状态
	添加后需要重启集群(Cluster1) 

10)hue
	10.1、依赖关系
		选择比较多的依赖整合
	10.2、角色分配
		选择空闲的机器
		bigdata03.com
	hadoop为基础一个生态系统
		
11)spark
	11.1、spark部署模式的分类 
		spark (spark on yarn)
			作为yarn的一个应用由yarn管理spark的任务的调度及资源的分配使用yarn的resourcemanager。
		spark (standalone)
			spark自己的任务的调度及资源的分配框架
			master主节点
				bigdata02.com
			worker从节点
				bigdata[02-05].com
			History Server:日期收集
				bigdata04.com
			geteway:spark客户端
				bigdata[02-05].com
	11.2、spark案例
		//处理word count程序
		val wcrdd=sc.textFile("hdfs://mycluster/user/bigdata/wordcount/input/wc.input")
		val wc=wcrdd.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect

企业一般都有专业的运维人员来管理集群

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值