Centos7及Cloudera Manager安装教程

时间:2022-01-09 15:12:54

CentOS7系统下的平台搭建

 

一、简介

CentOS是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。 Ubuntu是一个以桌面应用为主的Linux操作系统。CentOS简约,命令行下的人性化做得比较好,稳定,有着强大的英文文档与开发社区的支持。Ubuntu近些年的使用率有所增加,它用户界面漂亮、管理系统完善、软件源支持强大、技术社区丰富,对硬件的兼容性也不错。然而,服务器更需要的并非这些,如果是开发还是建议用centos。

二、硬件基础

一台服务器,一台工作站。即一个master节点与一个slave节点。

三、安装centos7操作系统

3.1、分别用U盘启动服务器和工作站,在显示器出现log图信息时按下相应的按键进入初始化界面。(本工作站按F12进入。服务器正常情况F12也可进入,也可按F11进入选择窗口选择U盘启动)。

###安装界面出现dracut如下图

此时的处理方法:

方法一:如果是用U盘安装,检查一下U盘的label是否含有中文或者空格,有的话就改掉。

方法二: 输入以下命令
dracut:/# cd dev

dracut:/# ls

找到代表你U盘的文件名并记下,例如sdb、sdc等。(查找U盘方法:在进入初始化选择界面后可以按Tab键,此时将屏幕下方的字符改成vmlinuz initrd=initrd.img linux dd quiet,Enter之后会很轻易的识别出代表自己U盘的文件)。

然后重启计算机,再次进入初始化界面后按下Tab键,将屏幕下方的字符改为append initrd=initrd.img repo=hd:/dev/我的U盘文件名:/ quiet,然后启动。

3.2、进入centos7的安装界面。依次设置语言、键盘、时间及安装位置、网路主机名等。

###若出现安装源问题

 

3.3、设置好后点击重启即可重启进入centos系统。

###安装好系统后如果出现不能上网的情况

首先进入终端界面,在根目录下输入ls /etc/sysconfig/network-scripts/。找到ifcfg-eno, 输入vi /etc/sysconfig/network-scripts/ifcfg-eno,如果显示“ONBOOT=no”则改为“ONBOOT=yes”. 用root账户,输入“shutdown -r now"或”rboot”,然后重启系统就可以了。

四、系统环境配置

4.1、设置hosts

输入指令vi/etc/hosts

添加master与slave格式如下

 

192.168.1.10    master

192.168.1.11    slave1

192.168.1.12    slave2

 

4.2、关闭防火墙

systemctl stop firewalld.service      停止firewall

systemctl disable firewalld.service    禁止firewall开机启动

 

4.3、安装JDK1.7   

首先检查系统是否有openJDK,若有则先卸载

rpm -qa | grep openjdk | grep -v grep 查找系统中的JDK

rpm -e --nodeps    通过指令依次卸载

然后进入网址下载JDK1.7http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

解压tar –zxvf  jdk-7u75-linux-x64.tar.gz 

创建java目录mkdir /usr/java 

 

4.4、配置JDK1.7 
编辑/etc/profile文件 
vi /etc/profile 

在/etc/profile文件尾部添加 
export JAVA_HOME=/usr/java/jdk1.7.0_75 
exportCLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

 

使用source /etc/profile命令重新加载/etc/profile文件,使修改的内容在当前shell窗口中生效。(永久生效,重启系统或注销用户)

(若同时配置主机master可:向主机传文件 scp –r /本机目录  + 主机用户@主机名/主机目录)

 

4.4、所有节点免密码SSH登陆

使用ssh-keygen 和ssh-copy-id 实现SSH无密码登陆

1、在各个节点使用产生公钥私钥对
bigdata@master:ssh-keygen -t rsa –P(非主节点私钥用ssh-keygen -t rsa)

(此时~/.ssh下会生成id_rsa.pub和id_rsa,其中id_rsa文件起到唯一标识你的客户机的作用,不要随意更改这两个文件名。)

(注意,秘钥不要生成在根目录下,~表示目录为home/bigdata/)

 

(指令ls –a显示全部文件,.ssh可能是隐藏文件)

 

修改sshd配置文件(/etc/ssh/sshd_config).
找到以下内容,并去掉注释符”#“

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys

2、配置authorized_keys文件.
若“~/.ssh/authorized_keys”不存在,则建立.ssh文件夹和authorized_keys文件.
将上文中客户机id_rsa.pub的内容拷贝到authorized_keys中.
(可以在客户机中执行命令来拷贝:
cat ~/.ssh/id_rsa.pub | ssh user@host “cat - >> ~/.ssh/authorized_keys”)

 

注意:
1) .ssh目录的权限必须是700
2) .ssh/authorized_keys文件权限必须是600 

(如:chmod 700 文件名)



    然后重启sshd. ($ /etc/init.d/sshd restart)

3、将各个节点上公钥复制到master上

bigdata@slave1:ssh-copy-id-i ~/.ssh/id_rsa.pub master

4、查看各个节点的公钥是否追加到了主节点上
bigdata@master:cat~/.ssh/authorized_keys

把主节点上的authorized_keys文件发送到各个节点实现无密码登陆(master)
bigdata@master:scp~/.ssh/authorized_keys bigdata@bigdata-slave1:/home/bigdata/.ssh/

5、修改ssh配置文件使能够在root用户也能免密码采用(所有节点)不然后面安装会报错
root@master:vi /etc/ssh/sshd_config
找到PermitRootlogin 一行把后面修改成yes(有些情况是去掉注释#)

6、重启ssh  (root@master:/etc/init.d/ssh restart或者service ssh restart

4.5、关闭selinux

  打开cd /etc/selinux/config 改为SELINUX=disable

4.6设置时间同步

参考  http://www.centoscn.com/CentOS/config/2015/1105/6385.html

 首先查看master与slave上是否有压缩包 rpm –q ntp

  若没有则yum –y install ntp

设置服务器:

配置前先使用命令:ntpdate -u cn.pool.ntp.org,同步服务器

编辑/etc/ntp.conf文件

*****************

重启ntpd服务systemctlrestart ntpd

使用ntpq -p查看网络中的NTP服务器,同时显示客户端和每个服务器的关系

设置ntp客户端

安装ntp服务并设置为自动启动,和前面的设置方式相同。

然后编辑/etc/ntp.conf文件

***********

重启ntp服务   systemctl restart ntpd

4.7、Master主节点上安装mysql

参考http://www.mamicode.com/info-detail-503994.html

1、CentOS7的yum源中默认应该是没有mysql的,所以需要去网址上下载

$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2、安装这个包$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm     安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。

3、安装Mysql  

$ sudo yum install mysql-server

不过安装完成后,没有密码,需要重置密码。

4、重置密码前首先要登录  $ mysql -u root

###若登录是报错则:( ERROR 2002 (HY000): Can‘t connect to local MySQL server throughsocket ‘/var/lib/mysql/mysql.sock‘ (2))

原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:$ sudo chown -R openscanner:openscanner /var/lib/mysql

然后重启服务:$ service mysqld restart

5、完成上述步骤后登录重置密码:$ mysql -u root

mysql > use mysql; mysql > update user set password=password(‘123456‘) whereuser=‘root‘;

mysql > exit;

 

(shutdown -r now 立刻重启    shutdown-r 10 过10分钟自动重启    shutdown -r 20:35 在时间为20:35时候重启   shutdown -h now 立刻关机    shutdown -h 10 10分钟后自动关机)

五、主节点安装CM

5.1、下载CM

Cloudera Manager : http://archive.cloudera.com/cm5/cm/5/

5.2、把下载的CM包解压到opt下

tar -xcvfcloudera-manager-trusty-cm5.6.0_amd64.tar.gz /opt

    -zxvf

5.3、添加mysql connector包  

mv mysql-connector-java-5.1.38-bin.jar/opt/cm-5.6.0/share/cmf/lib

5.4、所有节点创建cloudera-scm用户

 

(远程复制指令:

例如将主节点上的文件复制到slave上某个指定的文件夹中:

sudo scp-r /文件所在目录@slave1:~/

5.5、Agent 配置

用vi /opt/cm-5.6.0/etc/cloudera-scm-agent/config.ini

将其中的server_host为主节点的主机名
5.6、Parcels离线包设置(仅主节点)

将下载好的CDH-5.6.0-1.cdh5.6.0.p0.45-trusty.parcel                                                           
      CDH-5.6.0-1.cdh5.6.0.p0.45-trusty.parcel.sha
      manifest.json文件移至/opt/cloudera/parcel-repo/中,没有这个目录的话,手动       创建。

5.7、启动Cloudera Manager                            

 主节点  

/opt/cm-5.6.0/etc/init.d/cloudera-scm-serverstart/opt/cm-5.6.0/etc/init.d/cloudera-scm-agent start
从节点
/opt/cm-5.6.0/etc/init.d/cloudera-scm-agent start

重启server 过程中需要查看日志 cd /opt /…./log /….  Cat cloudera…. 确认下是否重启成功

Cd /opt/cm-5.7.0/etc/init.d/cloudera-scm-agentstop

Cd /opt/cm-5.7.0/etc/init.d/cloudera-scm-agentstart

在mysql中创建一个库来提供给CM服务.

初始化CM5的数据库(仅主节点)

/opt/cm-5.6.0/share/cmf/schema/scm_prepare_database.shmysql cm -hlocalhost -uroot -p123456 --scm-host localhost scm scm

主节点把CM与server发给各个节点

 

若出现agent启动失败的情况:

5.8、Web端设置

六、安装CDH5

ClouderaManager Server和Agent都启动以后,就可以进行CDH5的安装配置了。根据自己的操作系统下载CDH包:

http://archive.cloudera.com/cdh5/parcels/latest/

1、这时可以通过浏览器访问主节点的7180端口测试一下了(由于CM Server的启动需要花点时间,这里可能要等待一会才能访问),默认的用户名和密码均为admin:

 

2、

3、

各个Agent节点正常启动后,可以在当前管理的主机列表中看到对应的节点。选择要安装的节点,点继续。

 

4、接下来,出现以下包名,说明本地Parcel包配置无误,直接点继续就可以了。

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

6、接下来是服务器检查

###可能会遇到以下问题:Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。您可以继续进行安装,但可能会遇到问题,Cloudera Manager 报告您的主机由于交换运行状况不佳。以下主机受到影响:

通过指令echo 0 > /proc/sys/vm/swappiness解决。

7、

8、保持默认配置就可以。

9、接下来是数据库的设置,检查通过后就可以进行下一步的操作了:

10、下面是集群设置的审查页面,我这里都是保持默认配置的

11、到安装各个服务的地方,注意:这里安装Hive的时候可能会报错,因为我们使用了MySql作为hive的元数据存储,hive默认没有带mysql的驱动,通过以下命令拷贝一个就行了:

Cp  /opt/cm-5.1.3/share/cmf/lib/mysql-connector-java-5.1.33-bin.jar/opt/cloudera/parcels/CDH-5.1.3-1.cdh5.1.3.p0.12/lib/hive/lib/

12、服务的安装过程大约半小时内就可以完成