CDH 离线安装



相关包下载
cloudera manager
http://archive.cloudera.com/cm5/cm/5/

CDH parcel
https://archive.cloudera.com/cdh5/parcels/

调整时间
同步时间,时区
ntpdate 192.168.10.1 && hwclock -w
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

配置ntpd

子节点加入同步时间的计划任务
crontab -e
*/30 * * * * /usr/sbin/ntpdate 192.168.10.1 && /usr/sbin/hwclock --systohc >/dev/null 2>&

1. 修改网络配置(所有节点)
1.1 修改hostname
#vim /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=node1

改好后执行
service network restart
生效

###
centos 7.2,直接用hostnamectl修改,无需重启
##systemctl restart network.service

hostnamectl set-hostname node1

###
1.2 修改hosts文件(所有节点)
#vim /etc/hosts
插入上面设计好的hosts文件(必须包含本机IP与主机名的映射)
192,168.110.60 node1
192,168.110.61 node2
192,168.110.100 node3
192,168.110.101 node4
192,168.110.102 node5

2.关闭防火墙和selinux(每个节点)
2.1 关闭防火墙
service iptables stop
chkconfig iptables off
centos7版本
查看防火墙 systemctl list-unit-files|grep enabled|grep fire 
关闭防火墙 systemctl stop firewalld.service
禁用防火墙 systemctl disable firewalld.service

2.2 关闭selinux(重启生效)
#setenforce 0
#vim /etc/selinux/config
SELINUX=disabled

################################
3.ssh无密码登录

3.1安装ssh(每个节点)
ssh-keygen -t rsa 一路回车结束

3.2将公钥加入到authorized_keys(只需master操作)

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

3.3 修改权限
chmod 600 ~/.ssh/authorized_keys

3.4 将authorized_keys从master分发到各个slave

scp ~/.ssh/authorized_keys root@node2:~/.ssh/

测试确认
#ssh node2
如果没有提示密码, 直接登录了node2则说名配置成功了
############################

4.jdk安装(此次使用)

1)卸载自带java
rpm -qa |grep java
yum remove java*(删除自带的java)

卸载其他自己安装的JDK就直接用rpm -e 
卸载rpm版的jdk:

#rpm -qa|grep jdk

显示:jdk-1.6.0_10-fcs
卸载:#rpm -e --nodeps jdk-1.6.0_10-fcs

2)上传jdk(个人是放到home)安装jdk(每个节点rpm安装)
rpm -ivh jdk-8u121-linux-x64.rpm

3)配置java环境(每个节点配置,当然可以一个节点配置完了使用scp分发)
在/etc/profile中加入:
export JAVA_HOME=/usr/java/jdk1.8.0_121
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin

4)使配置生效(每个节点)
source /etc/profile

#################################
3.1 下载 JDK
#cd /home
#wget ftp://192.168.10.211/public/jdk-7u79-linux-x64.rpm
3.2 安装 JDK
#rpm -ivh jdk-7u80-linux-x64.rpm
# echo "JAVA_HOME=/usr/java/latest/" >> /etc/environment
3.3 删除 JDK 安装文件
#rm -rf jdk-7u79-linux-x64.rpm
#################################

5.ntp时间同步

1)如果没有ntp,安装NTP(每个节点)
yum install ntp

2)配置NTP

#####################
对于rhel7,采用如下方式进行配置时间同步
http://lorysun.blog.51cto.com/1035880/1606530/

chronyd有点问题,重新使用ntpd来进行
1.停掉chronyd
systemctl stop chronyd.service
systemctl disable chronyd.service

rpm -qa |grep ntpdate
rpm -e --nodeps ntpdate
rpm -ivh ntpdate....
rpm -ivh ntp...

systemctl enable ntpd.service
systemctl start ntpd.service

查看ntpd是否连通
watch ntpq -p

ntpdate -d 192.168.110.11

#########################

##初始
ntpdate 192.168.10.1 && hwclock -w
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

##master配置:
vim /etc/ntp.conf

server 192.168.110.11 prefer
restrict 192.168.110.1 mask 255.255.255.0 nomodify
(restrict 192.168.110.0 mask 255.255.255.0 nomodify notrap这句是手动增加的,意思是从192.168.1.1-192.168.1.254的服务器都可以使用我们的NTP服务器来同步时间)

启动ntpd
service ntpd restart
chkconfig ntpd on

******************************
centos7
systemctl restart ntpd.service
*****************************

##slave配置:(同步master)
vim /etc/ntp.conf

增加
server node1

开启NTP服务
service ntpd start
chkconfig ntpd on

##查看同步效果
命令:ntpstat

##定时同步时间(子节点)
在node2和 node3上配置crontab定时同步时间
crontab -e
*/30 * * * * /usr/sbin/ntpdate 192.168.10.1 && /usr/sbin/hwclock --systohc >/dev/null 2>&

6. 安装 mysql connector (master)

下载tar包到/home

### MySql Driver
$ tar zxvf mysql-connector-java-5.1.40.tar.gz
$ sudo mkdir -p /usr/share/java/
$ sudo cp mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar /usr/share/java/mysql-connector-java.jar

7. 安装mysql(master)
7.1 http://www.thinksaas.cn/topics/0/394/394802.html
卸载系统自带的mysql

##################################
Step1: 检测系统是否自带安装mysql
#yum list installed | grep mysql
Step2: 删除系统自带的mysql及其依赖 命令:
# yum -y remove mysql-libs.x86_64
#############################
最新版!!!!######

检测系统是否自带mysql
rpm -qa |grep mysql

mysql-devel-5.1.71-1.el6.x86_64
mysql-libs-5.1.71-1.el6.x86_64
mysql-5.1.71-1.el6.x86_64

卸载mysql (不卸载crontab) 

rpm -e --nodeps mysql-devel-5.1.71-1.el6.x86_64
rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64
rpm -e --nodeps mysql-5.1.71-1.el6.x86_64

注意,一定要加:--nodeps,否则也会将crontab等依赖卸掉,这样就不是我们的初衷了。

最新版!!!!###################
##############################
rhel7.1 ,特殊情况
需要先删除mariadb
rpm -qa |grep mysql
rpm -e --nodeps .....
然后按照mysql
根据提示一个一个rpm安装
mysql-community-common
mysql-community-libs
mysql-community-client
mysql-community-server
##############################
7.2 安装mysql
(参考:http://blog.sina.com.cn/s/blog_7d39186f0101fcwv.html)
1、将MySQL-5.7.12-1.el6.x86_64.rpm-bundle.tar上传到服务器
我这里是上传到home目录
解压tar文件
#tar -xvf MySQL-5.7.12-1.el6.x86_64.rpm-bundle.tar
2、安装rpm文件
将当前目录下关于所有mysql的rpm安装
#rpm -ivh MySQL-*.rpm
############################
遇到perl的问题
http://blog.csdn.net/yy20071313/article/details/50410418
http://blog.csdn.net/typa01_kk/article/details/49059729
############################
yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes
参考这个成功
http://blog.sina.com.cn/s/blog_53bd284b0102wql5.html
mysqld --initialize --user=mysql
**************
systemctl start mysqld.service
**************
启动:service mysqld start
找到密码 vim /var/log/mysqld.log
修改密码 mysqladmin -uroot -p password
修改密码

密码:********

8. 安装cloudera manager
8.1从内网FTP上下载CM5(放到/home), 并解压到/opt

#sudo tar xzf cloudera-manager*.tar.gz -C /opt/

8.2 修改agent配置
#vim /opt/cm-5.12.0/etc/cloudera-scm-agent/config.ini
server_host=node1

8.3 拷贝agent到各datanode节点
#scp -r /opt/* root@node2:/opt/

8.4 准备好scm帐户(每个节点)

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

#####################
/etc/passwd,几台的cloudera-scm 用户id和组id确保相同
#####################

##########################################################
安装过老版本的话,cloudera-scm权限可能造成新版本安装出现权限问题

方法一:
删除目录 /var/log/cloudera-scm-*,重建,cloudera-scm权限重新赋值
删除目录 /var/lib/cloudera-scm/host/service-....,

方法二:
直接针对相关目录 cloudera-*,重新给用户cloudera-scm 赋权限

样例:
chown -R cloudera-scm:cloudera-scm /opt/cloudera/
chown -R cloudera-scm:cloudera-scm /opt/cm-5.7.0/

##########################################################
8.5 创建Cloudera Manager Server本地文件存储地址(master)
$ sudo mkdir /var/log/cloudera-scm-server
$ sudo chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-server

###################
8.6 准备 Parcels,CDH安装包放到每个节点parcel-repo文件夹下
#cd /opt/cloudera/parcel-repo/
#wget ftp://192.168.10.211/public/CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel
#wget ftp://192.168.10.211/public/CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel.sha
#wget ftp://192.168.10.211/public/manifest.json)
##################
sha1 改为sha
sudo chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo

8.7 初始化数据库(master)

/opt/cm-5.12.0/share/cmf/schema/scm_prepare_database.sh mysql cm -uroot -p******** --scm-host node1 root ********

##############################################
cdh的mapreduce启动不起来,可能是这个bug
参考http://www.aboutyun.com/thread-12431-1-1.html

注:修改一个bug
vim /opt/cm-5.7.0/lib64/cmf/agent/build/env/lib/python2.6/site-packages/cmf-5.7.0-py2.6.egg/cmf/util.py
修改 365行

pipe = subprocess.Popen(['/bin/bash', '-c', ". %s; %s; env" % (path, command)],
替换成
pipe = subprocess.Popen(['/bin/bash', '-c', ". %s; %s; env | grep -v { | grep -v }" % (path, command)],
##################################

8.8 启动主节点Clouder Manager Server
$ /opt/cm-5.12.0/etc/init.d/cloudera-scm-server start

agent 运行状况不良
rm -rf /opt/cm-5.12.0/lib/cloudera-scm-agent/cm_guid
/opt/cm-5.12.0/etc/init.d/cloudera-scm-agent restart

8.9 启动每个节点的Clouder Manager Agent
$ mkdir /opt/cm-5.12.0/run/cloudera-scm-agent
$ /opt/cm-5.12.0/etc/init.d/cloudera-scm-agent start

8.10 设置自动启动Agent
$ cp /opt/cm-5.12.0/etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent
$ chkconfig cloudera-scm-agent on

CREATE USER 'amon'@'%' IDENTIFIED BY '********';
CREATE USER 'sentry'@'%' IDENTIFIED BY '********';
CREATE USER 'hive'@'%' IDENTIFIED BY '********';
#CREATE USER 'oozie'@'%' IDENTIFIED BY '********';
#CREATE USER 'hue'@'%' IDENTIFIED BY '********';
create database amon DEFAULT CHARACTER SET utf8;grant all on amon.* TO 'amon'@'%' IDENTIFIED BY '********';
create database hive DEFAULT CHARACTER SET utf8;grant all on hive.* TO 'hive'@'%' IDENTIFIED BY '********';
create database sentry DEFAULT CHARACTER SET utf8;grant all on sentry.* TO 'sentry'@'%' IDENTIFIED BY '********';
#create database oozie DEFAULT CHARACTER SET utf8;grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY '********';
#create database hue DEFAULT CHARACTER SET utf8;grant all on hue.* TO 'hue'@'%' IDENTIFIED BY '********';


设置hue的外部数据库为mysql(默认为sqlite)
cloudera manager方式配置
http://www.cloudera.com/documentation/enterprise/latest/topics/cm_mc_hue_service.html#cmig_topic_15_1

cmd_line方式配置
http://www.cloudera.com/documentation/enterprise/latest/topics/cdh_ig_hue_database.html#cdh_ig_hue_database_mysql


1. stop所有服务(cm里面cluster界面和cms界面,各节点cm server/agent stop)
2. 删除数据库cm,amon,hive
3. 改host文件
4. ssh免密测试(正常ok)
5. 删除opt下面的cm-5.7.0,cloudera文件夹
6. 删除/data/data01... 目录内容(可能导致重装时,hdfs启动失败)
7. 重启?(注意是否有残留java进程)

rm: 无法删除"cm-5.7.0/run/cloudera-scm-agent/process": 设备或资源忙
需要先卸载: umount cm-5.7.0/run/cloudera-scm-agent/process 卸载完成后,即可删除。

6. 从 8. 安装cloudera manager 开始后面步骤。

cdh的mapreduce启动不起来,可能是这个bug
参考http://www.aboutyun.com/thread-12431-1-1.html

注:修改一个bug
vim /opt/cm-5.7.0/lib64/cmf/agent/build/env/lib/python2.6/site-packages/cmf-5.7.0-py2.6.egg/cmf/util.py
修改 365行

pipe = subprocess.Popen(['/bin/bash', '-c', ". %s; %s; env" % (path, command)],
替换成
pipe = subprocess.Popen(['/bin/bash', '-c', ". %s; %s; env | grep -v { | grep -v }" % (path, command)],

############################################################
安装完成后,出现impala-shell:command not found,查看/usr/bin/
$ cd /usr/bin
$ ll impala*
发现软链接失效
impalad -> /etc/alternatives/impalad
impala-shell -> /etc/alternatives/impala-shell

进入目标文件夹
$ cd /etc/alternatives
$ ll impala*

一些软链指向了旧版本的CDH,删除重新加软链,可解决
rm -rf impala-conf
ln -s /opt/.../CDH-5.8.0../impala/conf.dist impala-conf

同理,重链 impalad,impala-shell

终极解决方案

alternatives中config设置

/var/lib/alternatives中,找到对应闪红的超链接,删除这些文件,重启angent后会自动生成。
参考
http://blog.csdn.net/sdcxyz/article/details/45078717
###################################################################################

可能遇到的警告----网络接口速度
这个问题是由于安装了虚拟网卡造成。
virsh net-list查看虚拟网卡名称 
virsh net-destroy default 移除虚拟网卡为“default”的网卡 重启后无效
virsh net-start default 重新开启虚拟网卡
virsh net-undefine default 彻底删除网卡
###############################################################
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值