centos7安装CDH记录

https://blog.csdn.net/qq_37667074/article/details/78731529

1、下载文件

1.1 下载jdk

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 
下载jdk1.8

下载cdh

下载mysql

mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz 
mysql-connector-java-5.1.44-bin.jar

https://dev.mysql.com/downloads/file/?id=476936 
点击下载

2、Centos7安装

  • 用户名/密码 
    root/**** root用户 
    */**** 普通用户
  • 主机ip 
    master 192.168.10.101 
    slave1 192.168.10.102 
    slave2 192.168.10.103

  • 配置/etc/hostname 
    分别是maser和slave1和slave2

  • 3台都配置/etc/hosts 
    加入:
 
  1. 192.168.111 master
  2. 192.168.121 slave1
  3. 192.168.131 slave2

注:安装过程都使用root用户 
CDH 安装在/opt。 
CDH在var目录会放文件,要预留空间 
数据保存在/data

3、配置ssh无密码登录

1.查看是否安装openssh和rsync

rpm -qa | grep openssh 
rpm -qa | grep rsync

2. 3台都运行

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
(-t dsa:表示使用密钥的加密类型,可以为'rsa'和'dsa')

3.配置authorized文件

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 
这一步,把本机的密钥写入authorized_keys文件 
然后要将其他2台的密钥写入本机的authorized_keys文件

4. 各个节点都相互配置

master运行 
scp ~/.ssh/id_dsa.pub root@slave1:~/.ssh/ authorized_keys_from_master 
scp ~/.ssh/id_dsa.pub root@slave2:~/.ssh/ authorized_keys_from_master 
slave1 运行 
cat .ssh/authorized_keys_from_master >> ~/.ssh/authorized_keys 
slave2 运行 
cat .ssh/authorized_keys_from_master >> ~/.ssh/authorized_keys 
slave1运行 
scp ~/.ssh/id_dsa.pub root@master:~/.ssh/authorized_keys_from_slave1 
scp ~/.ssh/id_dsa.pub root@slave2:~/.ssh/authorized_keys_from_slave1 
master运行 
cat .ssh/authorized_keys_from_slave1 >> ~/.ssh/authorized_keys 
slave2 运行 
cat .ssh/authorized_keys_from_slave1 >> ~/.ssh/authorized_keys 
slave2运行 
scp ~/.ssh/id_dsa.pub root@master:~/.ssh/authorized_keys_from_slave2 
scp ~/.ssh/id_dsa.pub root@slave1:~/.ssh/authorized_keys_from_slave2 
master运行 
cat .ssh/authorized_keys_from_slave2 >> ~/.ssh/authorized_keys 
slave2 运行 
cat .ssh/authorized_keys_from_slave2 >> ~/.ssh/authorized_keys 
最后3台的authorized_keys文件,内容都有3个key 
测试SSH无密码登陆 
在任意一台上,ssh slave1 都可以无密码登陆

4、同步各时间节点

1 将3台服务器时间同步,若hbase各节点时间差距过大会报错(默认30秒)

关闭3台的防火墙(centos6方法) 
service iptables stop 
chkconfig iptables off 重启后也生效

重启防火墙 (centos7方法) 
firewall-cmd --reload #重启firewall 
systemctl stop firewalld.service #停止firewall 
systemctl disable firewalld.service #禁止firewall开机启动 
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

配置时间同步

参考这篇文章 
https://www.cnblogs.com/Csir/p/6912527.html

5、安装JDK

1 检查并写在openjdk

检查命令:java -version 或 rpm -qa | grep java 
卸载命令:rpm –e --nodeps(忽略依赖) 安装包名 
或yum -y remove 安装包名 
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

2 解压安装

Jdk版本:jdk-7u80-linux-x64.tar.gz 
解压到/usr/local : 
cd /usr/local; 
tar –zxvf jdk-7u80-linux-x64.tar.gz

3 配置环境变量

3台都编辑/etc/profile文件:vim /etc/profile 
加入

set java environment

 
  1. export JAVA_HOME=/usr/local/jdk1.8.0_80
  2. export LASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  3. export PATH=$PATH:$JAVA_HOME/bin

使配置生效:source /etc/profile

6、安装mysql

mysql安装在slave2

1、检查是否存在mysql库文件

检查命令:rpm –qa | grep mysql 
若存在则卸载:rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64

2 检查是否存在mysql用户和组

检查命令:cat /etc/group | grep mysql; 
cat /etc/passwd | grep mysql 
若不存在则创建:groupadd mysql; 
useradd –r –g mysql mysql 
(-r参数表示mysql用户是系统用户,不可用于登录系统)

3 创建数据、日志存储目录

命令:mkdir -p /data/mysql/data; mkdir /var/lib/mysql/log 
更改所属用户: 
chown –R mysql:mysql /data/mysql 
chown –R mysql:mysql /usr/local/mysql

4 解压并初始化

解压安装包: 
/usr/local目录 
tar –zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz 
改目录名 
mv mysql-5.6.36-linux-glibc2.5-x86_64 mysql 
初始化参数: 
到mysql目录 
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data 
复制配置文件 
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf 
修改 
vi /etc/init.d/mysql 
basedir=/usr/local/mysql 
datadir=/data/mysql/data 
vi /etc/my.cnf 
basedir =/usr/local/mysql 
datadir =/data/mysql/data 
character_set_server=utf8 
在usr/local/mysql/script目录运行 
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data

5 添加环境变量

编辑文件:vim /etc/profile

 
  1. export PATH=/usr/local/bin:$PATH
  2. export PATH=/usr/local/mysql/bin:$PATH

6 配置mysql自动启动

 
  1. chmod 755 /etc/init.d/mysql
  2. chkconfig --add mysql

设置在运行级别为3和5时mysql自动启动:

 
  1. chkconfig --level 35 mysql on

7 启动mysql

命令:bin/mysqld_safe --user=mysql & 
登录mysql 
bin/mysql --user=root -p 
设置root密码 
set password=password('anjian123'); 
允许root在任何主机登录:grant all privileges on . to 'root'@'%' identified by 'anjian123' with grant option; 
grant all privileges on . to 'root'@'master' identified by 'anjian123' with grant option; 
刷新权限表:flush privileges;

8 创建以下数据库

create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

9 报错处理

mysql报错 
https://blog.csdn.net/gaojing2240/article/details/77336287 
还有可能是防火墙未关闭导致的,centos7 防火墙

 
  1. systemctl stop firewalld.service
  2. [root@slave2 usr]# systemctl disable firewalld.service
  3. Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service
  4. .
  5. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service
  6. .
  7. [root@slave2 usr]# systemctl stop firewalld.service
  8. [root@slave2 usr]# systemctl list-unit-files|grep firewalld.service

关于防火墙,参考https://www.linuxidc.com/Linux/2016-12/138979.htm

7、安装CDH

1、安装Cloudera Manager Server 和Agent

主节点解压安装 
cloudera manager的目录默认位置在/opt下,解压:tar xzvf cloudera-manager*.tar.gz将解压后的cm-5.11.0和cloudera目录放到/opt目录下。 
复制mysql-connector-java-5.1.44-bin.jar到目录/usr/share/java和/opt/cm-5.11.0/share/cmf/lib/ 
并改名成mysql-connector-java.jar

2 创建用户cloudera-scm

在所有节点上执行 
useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

3 agent配置

主节点,修改/opt/cm-5.11.0/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。

Hostname of the CM server.

server_host=master 
同步Agent到其他所有节点: 
scp -r /opt/cm-5.11.0 root@slave1:/opt/ 
scp -r /opt/cm-5.11.0 root@slave2:/opt/

4 在主节点初始化CM5数据库

运行 
/opt/cm-5.11.0/share/cmf/schema/scm_prepare_database.sh mysql cm -h slave2 -uroot -panjian123 --scm-host master scm scm scm 
-h后是mysql的主机名 
--scm-host 后是SCM server的主机名(主节点) 
如果有报错,一般是msyql的权限设置没设好,root不能远程登录 
还碰到java_home not found的情况 
需要设置java_home,在下面的文件内都加入: 
export JAVAH_HOME=/usr/local/jdk1.8.0_80

/opt/cm-5.11.0/share/cmf/schema 
/scm_database_functions.sh 
/opt/cm-5.11.0/etc/init.d 
cloudera-scm-agent cloudera-scm-server 
注意拷贝jdbc到制定目录

5 准备Parcels,用以安装CDH5

将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中 
相关的文件如下: 
CDH-5.11.2-1.cdh5.11.2.p0.4-el7.parcel 
CDH-5.11.2-1.cdh5.11.2.p0.4-el7.parcel.sha1 
manifest.json 
最后将CDH-5.11.2-1.cdh5.11.2.p0.4-el7.parcel.sha1,重命名为CDH-5.11.2-1.cdh5.11.2.p0.4-el7.parcel.sha

6 启动脚本

主节点:通过/opt/cm-5.11.0/etc/init.d/cloudera-scm-server start启动服务端。 
所有节点(包括主节点):通过/opt/cm-5.11.0/etc/init.d/cloudera-scm-agent start启动Agent服务 
注: 
停止可以用/init.d/cloudera-scm-server stop 
启动成功后,可以用ps –ef|grep cloudera看到这2个进程 
cloudera-scm-agent 的log如果报错: 
[04/Sep/2017 16:29:38 +0000] 2983 MainThread agent ERROR Heartbeating to master:7182 failed. 
一般是主节点防火墙没关闭

7、安装CDH

登录如下网址 
http://192.168.10.101:7180/cmf/login 
用户名和密码都是admin 
选择免费版本 

输入主机,master,slave1,slave2,点搜索 
 
出现下面的情况,有的是当前受管为否的,说明有问题 

是由于在master节点,启动过agent,然后scp至其他salve节点,agent启动后会有uid生成,scp至各个节点后,各个节点的uid就相同了,所以导致上面的情况。 
解决方案: 
删除/opt/cm-5.1.3/lib/cloudera-scm-agent/目录下的所有文件。 
清空主节点CM数据库,重新初始化数据库,重新安装 
如果所有机器都处于受管状态,选中三台主句,就可以进行继续安装了 

接下来选中Parcel安装,点击继续 
点击,继续,如果配置本地Parcel包无误,那么下图中的已下载,应该是瞬间就完成了,然后就是耐心等待分配过程就行了,大约10多分钟吧,取决于内网网速。 

接下来检查安装环境 

接下来是服务器检查,可能会遇到以下问题: 
Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。您可以继续进行安装,但可能会遇到问题,Cloudera Manager 报告您的主机由于交换运行状况不佳。以下主机受到影响: 
通过echo 0 > /proc/sys/vm/swappiness即可解决。 
按照提示的方法进行处理,重新检查数据

选中安装的服务 
配置环境 

数据库设置 

集群检查 

检查过程中,提示java_home问题,同样如上面的处理 
/opt/cloudera/parcels/CDH-5.11.2-1.cdh5.11.2.p0.4/bin/hdfs 
增加如下 
export JAVA_HOME=/usr/local/jdk1.8.0_171 
如果namenode初始化后有问题,重新检查安装会提示目录下有数据,要清除,按照提示删除目录下的文件。

最后访问安装后的集群 

错误: 
pstree: command not found

yum -y install psmisc

碰到的localhost.admin 的问题 
https://blog.csdn.net/shirdrn/article/details/6562292

报错java_home 找不到的信息 
/opt/cloudera/parcels/CDH-5.11.2-1.cdh5.11.2.p0.4/bin/hdfs 
增加如下 
export JAVA_HOME=/usr/local/jdk1.8.0_171


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值