前期准备:
第一步:装NTP
这个单独做了一个文档专门写NTP.
我擦。搞死了。一上午都在搞这个ntp。。。终于搞定了。
第二步:改Hosts文件
echo '10.10.106.156 edu-bigdata-01.novalocal' > /etc/hosts
echo '10.10.106.157 edu-bigdata-02.novalocal' >> /etc/hosts
echo '10.10.106.158 edu-bigdata-03.novalocal' >> /etc/hosts
echo '127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4' >> /etc/hosts
echo '::1 localhost localhost.localdomain localhost6 localhost6.localdomain6' >> /etc/hosts
第三步:关闭SELinux
# echo "SELINUX=disabled" > /etc/sysconfig/selinux ;
第四步:关闭防火墙
CentOS 6
# service iptables stop
# chkconfig iptables off
CentOS 7
service firewall stop # 关闭防火墙
chkconfig firewall off #开机不启动
第五步:修改transparent_hugepage参数,这一参数默认值可能会导致CDH性能下降
CentOS 6在/etc/rc.local 中增加一行:
# echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
CentOS 7 在/etc/rc.local中增加一行
echo never > /sys/kernel/mm/transparent_hugepage/defrag
或者使用root执行
# echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag
第六步:安装JDK
yum install -y java
第七步:外部数据库安装 mysql CentOS 7.2系统
安装
# yum install mysql – y
-y mysql-server
#yum install mysql-devel
这里有CentOS7 的问题。mysql-server 被替换成了mariadb
这里使用rpm的方式安装
#
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
#
rpm -ivh mysql-community-release-el7-5.noarch.rpm
#
yum install -yy mysql-community-server
设置开机启动
# chkconfig mysqld on
启动mysql数据库
# service mysqld start
设置MySQL的root用户设置密码
# mysql –uroot –p
新建的数据库,默认密码位空,直接回车即可
mysql>set password for root@localhost=password('123456');
开启远程访问
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'edu-bigdata-01.novalocal' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
第八步:配置免密登陆
ssh-keygen -t rsa
三次回车
生成的公私钥对在 ~/.ssh 目录下
将公钥复制到ip地址为10.10.106.156的远程机上:
ssh-copy-id -i /root/.ssh/id_rsa/pub root@ 10.10.106.156
~ /.ssh (700) ~/.ssh/authorized(600)
这里需要注意的一点。可能按规矩设置完了没有免密登陆
使用ls -l -a,可以看到两个目录
.
..
这两个的权限需要单独设置,如果有其他的权限的话,就会不能免密。
CM正式安装
第一步:准备 CDH 5.9.0的安装包。使用parcel的方式
下载地址为: https://archive.cloudera.com/cdh5/parcels/5.9.0/
首先在主服务器上安装httpd服务,可以对外暴漏服务。
yum install -y httpd
启动httpd
service httpd start
创建文件夹存放parcel
mkdir -p /var/www/html/cdh5/parcel/5.9.0
拷贝安装文件及配置到该目录下
cp CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel /var/www/html/cdh5/parcel/5.9.0/
cp CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha1 /var/www/html/cdh5/parcel/5.9.0
cp manifest.json /var/www/html/cdh5/parcel/5.9.0
并且将 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
mv /var/www/html/cdh5/parcel/5.9.0/CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha1 /var/www/html/cdh5/parcel/5.9.0/CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha
第二步:准备Cloudera-manager包
下载地址为:
下载cloudera-manager-centos7-cm5.9.0_x86_64.tar.gz
我们在/opt目录下安装,每个节点都把cloudera-manager-centos7-cm5.9.0_x86_64.tar.gz解压到/opt下。
最终形成的目录结构为
[root@edu-bigdata-01 opt]# pwd
/opt
[root@edu-bigdata-01 opt]# ll
总用量 570412
drwxr-xr-x. 4 1106 4001 4096 10月 6 2016 cloudera
-rw-r--r--. 1 root root 584088598 4月 24 20:05 cloudera-manager-centos7-cm5.9.0_x86_64.tar.gz
drwxr-xr-x. 9 1106 4001 4096 10月 6 2016 cm-5.9.0
第三步:下载jdbc driver .
下载地址为: https://dev.mysql.com/downloads/connector/j/
tar zxvf mysql-connector-java- 5.1 . 38 .tar.gz
cp mysql-connector-java- 5.1 . 38 /mysql-connector-java- 5.1 . 38 -bin.jar /usr/share/java/mysql-connector-java.jar
第四步:初始化CM使用的数据库
通过cm的数据库脚本初始化数据库。
/opt/cm- 5.9 . 0 /share/cmf/schema/scm_prepare_database.sh mysql scm -hlocalhost -uroot -p123456 --scm-host localhost scm scm scm
# All done, your SCM database is configured correctly!
第五步:准备 parcel。
每个节点都创建cloudera-scm用户
主节点上执行:
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
每个agent节点上执行:
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中(parcel-repo需要手动创建)。
相关的文件如下:
- -rwxrwxrwx. 1 root root 1492922238 4月 25 15:04 CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel
- -rwxrwxrwx. 1 root root 41 4月 25 15:04 CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha1
- -rw-r--r--. 1 root root 63988 4月 25 16:22 manifest.json
最后将 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 ,这点必须注意,否则,系统会重新下载CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel文件。
mv
第五步:启动Cloudera Manager
cloudera-scm,启动时候需要
useradd --system --home=/opt/cm- 5.9 . 0 /run/cloudera-scm-server --shell=/bin/ false --comment "Cloudera SCM User" cloudera-scm
在CM Server上创建目录
mkdir /var/lib/cloudera-scm-server
mkdir /var/log/cloudera-scm-server
chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-server
Server启动
/opt/cm-5.9.0/etc/init.d/cloudera-scm-server start
开机自启动
cp /opt/cm- 5.9 . 0 /etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server
chkconfig cloudera-scm-server on
修改/etc/init.d/cloudera-scm-server文件的内容,将CMF_DEFAULTS 的值由 ${CMF_DEFAULTS:-/etc/default} 改为/opt/cm-5.9.0/etc/default
Agent启动
首先配置Agent的
vi /opt/cm-5.9.0/etc/cloudera-scm-agent/config.ini
server_host=10.10.106.156
启动
/opt/cm-5.9.0/etc/init.d/cloudera-scm-agent start
开机自启动
cp /opt/cm- 5.9 . 0 /etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent
chkconfig cloudera-scm-agent on
修改/etc/init.d/cloudera-scm-agent文件的内容,将CMF_DEFAULTS 的值由 ${CMF_DEFAULTS:-/etc/default} 改为/opt/cm-5.9.0/etc/default
注意:如果CM Server主机上也要启动CM Agent,则也要执行上述命令
第六步:访问CMServer:7180
这块需要把刚才第五步好好看看。这个图不是太必须貌似。但是 免密登陆一定要设置。
此时可以通过agent的log查看信息
tail -200f /opt/cm-5.9.0/log/cloudera-scm-agent/cloudera-scm-agent.log
还是遇到了一些问题。
主机间免密登陆是一定要设置的。而且设置时候需要注意文件加的权限 ls -l -a
另外cloudera-scm用户也要创建。
无脑继续了
一个个的绿色✔️。
完成。
真是坎坷的过程。虽然已经第二次安装了。每次都能遇到不同的坑。哈哈。
下一步该配置Kerberos了。虽然也配置过了,但是也是充满冒险的旅程。开始吧。
各位同道如果有任何问题,可以找我。