Centos7系统Hadoop集群cm5.9.0安装文档
安装包
cm包cloudera-manager-centos7-cm5.9.0_x86_64.tar.gz 下载地址:http://archive.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.9.0_x86_64.tar.gz
CDH安装包
地址:http://archive.cloudera.com/cdh5/parcels
本文基于CentOS7,下载的parcels包及manifest文件对应的版本为e17:
CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel
CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha1
JDBC包mysql-connector-java-5.1.42.zip 下载网址:http://download.softagency.net/MySQL/Downloads/Connector-J/
Java包oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm 下载网址:http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.9/RPMS/x86_64/
基于centos7系统
一、设置网络
修改成静态网络
/etc/sysconfig/network-scripts/ifcfg-ethX
然后
TYPE=Ethernet
BOOTPROTO=static
GATAWAY=192.168.44.1
IPADDR=192.168.44.100
NETMASK=255.255.255.0
ONBOOT=yes
二、挂载阿里yum
方法1
wget --no-check-certificate https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
方法2
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
三、修改主机名
etc/hosts
etc/hostname 修改主机名
192.168.44.100 master
192.168.44.101 node1
192.168.44.102 node2
四、配置ssh
生成公钥ssh-keygen -t rsa
传送公钥
举例
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.44.101 包括master自己
验证
ssh 'node1’
全部免秘钥登陆(包括自己)
五、防火墙关闭
systemctl stop firewalld.service # 关闭firewall
systemctl disable firewalld.service # 禁止firewall开机启动
六、Java安装
Wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.9/RPMS/x86_64/
下载包名oracle-j2sdk1.7
先删除原有jdk
通过rpm -qa | grep java命令
列出现有java安装文件
python-javapackages-3.4.1-5.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.51-2.4.5.5.el7.x86_64
tzdata-java-2014b-1.el7.noarch
javapackages-tools-3.4.1-5.el7.noarch
java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64
使用-e选项填入包名卸载
# rpm -e --nodeps packageName
下载jdk最新版本到master再传送到两个node上
scp oracle-j2sdk1.7 root@node1:/home/hadoop/Desktop/
yum –y install oracle-j2sdk1.7
#构建profile文件,设置JAVA_HOME环境变量
echo "JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera/" > /etc/profile.d/java.sh
source /etc/profile.d/java.sh
$JAVA_HOME/bin/java -version
#会显示
java version "1.7.0_67"
which java
/usr/bin/java
ln -s $JAVA_HOME/bin/java /usr/bin/java
七、关闭SELINUX
1、#setenforce 0
2、vim /etc/sysconfig/selinux
SELINUX=disabled
八、安装MySQL
CentOS 7的yum源中貌似没有正常安装mysql时的mysql-sever文件,需要去官网上下载
# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
# rpm -ivh mysql-community-release-el7-5.noarch.rpm
# yum install mysql-community-serve
之后执行yum -y install mysql mysql-server mysql-devel可顺利进行,如还不行根据报错查看原因。
启动MySQL
systemctl start mysqld.service
开机启动
systemctl enable mysqld.service
设置密码的方法
需要修改mysql登录密码:
解决:
mysql -uroot
修改MySQL的root用户的密码以及打开远程连接
mysql>use mysql;
mysql>desc user;
mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "mssroot"; //为root添加远程连接的能力。
mysql>update user set Password = password('mssroot') where User='root';
mysql>select Host,User,Password from user where User='root';
mysql>flush privileges;
mysql>exit
重新登录
mysql -uroot -pmssroot
建立以下数据库
mysql> create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
mysql> create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
mysql> create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database repo DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.01 sec)
把密码改为hadoop
执行此命令统一修改新建数据库用户登录密码 授权root用户在主节点拥有所有数据库的访问权限:
>grant all privileges on *.* to 'root'@'主机名' identified by 'msql密码' with grant option;
> flush privileges;
安装完成后心得:其实数据库不需要这个时候创建,在cm安装过程中创建也可以,只有有安装mysql并添加远程连接能力就可以。
九、安装MySQL JDBC driver
需要在所有机器上安装
Wget http://download.softagency.net/MySQL/Downloads/Connector-J/ mysql-connector-java-5.1.39.tar.gz
这个文件解压之后有两层目录
将子目录解压并重命名,放到
/usr/share/java/
以及
/opt/cm-5.9.0/share/cmf/lib/
修改文件名为mysql-connector-java.jar
复制master机上到node节点
scp -r master:/usr/share/java/mysql-connector-java.jar /usr/share/java/
十、主节点CM安装
解压:tar xzvf cloudera-manager*.tar.gz将解压后的cm-5.9和cloudera目录放到/opt目录下
执行
/opt/cm-5.9.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hmaster -uroot -pmssroot --scm-host master scm scm scm
如不成功根据报错提示进行修改
十一、Agent配置
修改/opt/cm-5.9.0/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名master。
同步Agent到其他所有节点: scp -r /opt/cm-5.9.0 root@node2:/opt/ 在所有节点创建cloudera-scm用户
十二、在所有节点创建cloudera-scm用户
useradd --system --home=/opt/cm-5.9.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment 'Cloudera SCM User' cloudera-scm
十三、安装CDH5
将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中(parcel-repo需要手动创建)。 相关的文件如下: CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha1 manifest.json 最后执行命令,重命名.sha文件# mv CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha1 CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha
十四、启动server和agent服务
# /opt/cm-5.9.0/etc/init.d/cloudera-scm-server start master机启动
# /opt/cm-5.9.0/etc/init.d/cloudera-scm-agent start 所有服务器都要启动
Cloudera Manager Server和Agent都启动以后,就可以进行CDH5的安装配置。
打开浏览器,访问master:7180/cmf/login
十五、ntp时间同步
安装ntp服务
yum install ntp
启动ntp服务systemctl start ntpd.service
修改/etc/ntp.conf
服务端添加:
#允许该网断来同步
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# 中国这边最活跃的时间服务器 : http://www.pool.ntp.org/zone/cn
server 210.72.145.44 perfer # 中国国家受时中心
server 202.112.10.36 # 1.cn.pool.ntp.org
server 59.124.196.83 # 0.asia.pool.ntp.org
# allow update time by the upper server
# 允许上层时间服务器主动修改本机时间
restrict 210.72.145.44 nomodify notrap noquery
restrict 202.112.10.36 nomodify notrap noquery
restrict 59.124.196.83 nomodify notrap noquery
# 外部时间服务器不可用时,以本地时间作为时间服务
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
客户端添加:
# vim /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
# 配置时间服务器为本地的时间服务器
server 192.168.1.135
restrict 192.168.1.135 nomodify notrap noquery
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
重启ntp服务
一般等待5-10分钟才能同步
如果时间出现偏差,在node节点使用以下命令
ntpdate -u master
如果还是时间不对,通过命令date -R查看时区
修改时区命令tzselect