【分布式】hadoop安装篇(8)在Ubuntu中使用CDH安装hadoop集群(上)

安装拓扑

我们将采用parcel的安装方式,如果采用手动命令行安装,可以参考 https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.6.4/bk_command-line-installation/content/ref-e7d8d791-4022-432b-9203-666bbaa1b2cb.1.html

安装参考:https://www.cloudera.com/documentation/enterprise/latest/topics/configure_cm_repo.html

安装的版本

我们可以查看 https://archive.cloudera.com/cdh5/parcels/ 当中的相关版本的manifest.json,里面可以查看版本,例如最新的CDH 5.14.2.3和5.15.0.21都是hadoop 2.6版本。

安装

cloudera-scm-server安装在wei001

cloudera-scm-agent安装在wei001,wei002,wei003。

1)机器间可通过域名互相访问

在所有机器上的在/etc/hosts中进行设置

127.0.0.1       localhost
191.8.2.93      wei001
191.8.2.50      wei002
191.8.2.51      wei003

2)安装jdk和mysql-connector

hadoop是基于java的,安装jdk8

# 预先下载jdk-8u172-linux-x64.tar.gz
$ sudo mkdir /usr/java
$ sudo tar xvfz jdk-8u172-linux-x64.tar.gz -C /usr/java

设置java的全局变量,在文件/etc/profile的最后加上

JAVA_HOME="/usr/java/jdk1.8.0_172"
PATH="$JAVA_HOME/bin:$PATH"
# 使用java -version 进行检查确认,需要重新开启ssh连接(重新进行用户登录)进行验证

使用java -version 进行检查确认,需要重新开启ssh连接(重新进行用户登录)进行验证。

我们将使用mysql作为外置数据库,为java访问mysql而提供mysql-connector-java.jar

# 预先从Mysql的官网中下载最新的connector,加压后获得mysql-connector-java-5.1.46-bin.jar,
# 将名字改为mysql-connector-java.jar,防止在cloudera中缺省的connector目录/usr/share/java下。
$ sudo ln -s ~/downloads/mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar

3)一些必要的准备

【安装ntp】对于集群而言,ntp的时间同步都是非常重要的。

# 虽然这三天虚机都处于同一台物理机器上,按理应该无需进行使用同步,但是规范地还是要进行安装
$ sudo apt-get install ntp
# 设置/etc/ntp.conf,本例子,将指向本地的一台机器。屏蔽所有的pool,添加server 191.8.2.168

     $ cat /etc/ntp.conf
     ... ...
     # pool 0.ubuntu.pool.ntp.org iburst
     # pool 1.ubuntu.pool.ntp.org iburst
     # pool 2.ubuntu.pool.ntp.org iburst
     # pool 3.ubuntu.pool.ntp.org iburst

     # Use Ubuntu's ntp server as a fallback.
     # pool ntp.ubuntu.com 
     server 191.8.2.168

# 启动ntp服务
$ sudo systemctl restart ntp

CDH5使用python2.6/2.7

$ sudo apt-get install python2.7

4)在wei001上安装mysql作为外部数据库

$ sudo apt-get install mysql-server

mysql为cloudera提供cloudera-scm管理的数据库,同时提供hadoop组建的其他相关数据局,例如hive,hue,oozie。这些数据库,我们统一使用wei001的mysql数据库,我们编辑/etc/mysql/mysql.conf.d/mysqld.cnf。

[mysqld]
#这个有助于解决在安装和配置Cluster过程中C3P0报告的APPARENT DEADLOCK!!!出现的现象
transaction-isolation = READ-COMMITTED  

# 允许外部访问数据库,将bind-address注释掉,或者修改为0.0.0.0
# bind-address          = 127.0.0.1

# 修改下面几个参数,以提升数据库的性能
key_buffer_size         = 32M
max_allowed_packet      = 32M
thread_stack            = 256K
thread_cache_size       = 64
max_connections         = 1000
query_cache_limit       = 8M
query_cache_size        = 32M

#这是官网中对hue和oozie中mysql配置的建议。
sql_mode                = STRICT_ALL_TABLES

重启mysql服务

$ sudo service mysql restart

5)在apt中加入clouders的源

clouders的源在cloudera的官网https://www.cloudera.com/documentation/enterprise/release-notes/topics/cm_vd.html中得到Ubuntu Xenial 16.04的repo,基于这个链接,我们同时下载其key,具体如下:

$ wget https://archive.cloudera.com/cm5/ubuntu/xenial/amd64/cm/cloudera.list
$ wget https://archive.cloudera.com/cm5/ubuntu/xenial/amd64/cm/archive.key
$ sudo cp cloudera.list /etc/apt/sources.list.d/cloudera-manager.list
$ sudo apt-key add archive.key
$ sudo apt-get update 

6)在wei001安装cloudera-scm-server

(A)安装cloudera-scm-server

sudo apt-get install cloudera-manager-daemons cloudera-manager-server

(B)创建cloudera-scm管理数据库scm

向localhost的mysql中通过用户root创建数据库scm,用户为scm,密码为scm

$ sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql -h localhost -uroot -p --scm-host wei001 scm scm scm

我们去查看相关的配置文件

$ sudo cat /etc/cloudera-scm-server/db.properties
# Auto-generated by scm_prepare_database.sh on Wed Jun 13 15:38:42 CST 2018
#
# For information describing how to configure the Cloudera Manager Server
# to connect to databases, see the "Cloudera Manager Installation Guide."
#
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=localhost
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.setupType=EXTERNAL
com.cloudera.cmf.db.password=scm

我们需要确认scm用户访问数据库的权限:

$ mysql -u scm -p -h wei001

进去后,看看能否访问数据库scm,如果权限有问题,在root用户下进行设置:

mysql> grant all on scm.* to 'scm'@'%' identified by 'scm' with grant option;

7)在wei001,wei002,wei003上安装cloudera-scm-agent

sudo apt-get install cloudera-manager-agent cloudera-manager-daemons

安装后,修改/etc/cloudera-scm-agent/config.ini中的Hostname of the CM server

server_host=wei001

8)用户权限

将当前用户加入到组cloudera-scm中,以便该用户可以去查看相关的log文件,需要重启登录生效

$ sudo usermod -aG cloudera-scm wei

猜你喜欢

转载自blog.csdn.net/flowingflying/article/details/80760100
今日推荐