cloudera cdh 6.3 安装配置

张映 发表于 2019-11-28

分类目录: hadoop/spark/scala

标签:, ,

cdh在国内用的比较多。不管是cloudera+cdh或者是ambari+hdp,建议初学者不要用,还是从原生的开始。网上说原生的不稳定,配置复杂。

我用的hadoop2.7.7稳定,以及以hadoop2.7.7为基础构建的生态圈很稳定,在线率100%,到目前为止还没有出现过突发故障。

以hadoop为基础构建一套生态圈,是很复杂。但是拆分开了,采取蚂蚁搬家的方式,就简单多了。并且能了解各组件间是怎么协同工作的。

一,服务器说明

  1. 10.0.40.237 bigserver1   //namenode  
  2. 10.0.40.222 bigserver2   //datanode  
  3. 10.0.40.193 bigserver3   //datanode  
  4. 10.0.40.200 bigserver4   //SecondaryNameNode  

cdh版,根以前独立版的hadoop服务器(测试服务器)有一台机器不一样。175换成了200

二,设置hostname,所有节点

  1. # hostname bigserver1   
  2.   
  3. # vim /etc/hosts //添加以下内容,所有节点都一样  
  4.   
  5. 10.0.40.237 bigserver1  
  6. 10.0.40.222 bigserver2  
  7. 10.0.40.193 bigserver3  
  8. 10.0.40.200 bigserver4  

三,关闭防火墙和selinux,所有节点

  1. # systemctl stop firewalld //停止  
  2. # systemctl disable firewalld //取消启动   
  3.   
  4. # cat /etc/sysconfig/selinux  
  5. SELINUX=disabled //关闭  

操作完,最好是所有节点重启一下

四,ssh免密码登录,所有节点

  1. # ssh-keygen -t rsa   
  2.   
  3. # ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.40.222 -p 22  
  4. # ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.40.193 -p 22  
  5. # ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.40.200 -p 22   
  6.   
  7. # scp ~/.ssh/id_rsa root@10.0.40.222:/root/.ssh/  
  8. # scp ~/.ssh/id_rsa root@10.0.40.193:/root/.ssh/  
  9. # scp ~/.ssh/id_rsa root@10.0.40.200:/root/.ssh/   
  10.   
  11. 登录到222,193,175后  
  12. # cd ~/.ssh/  
  13. chmod 600 id_rsa  

注意:各主机间先用私钥登录一下,这样known_hosts才会有值。

五,配置时间服务器,所有节点

请参考:centos7 hadoop2.7.7 hbase1.4安装配置详解

六,安装jdk,所有节点

  1. # yum install epel-release   //这个库,包很多  
  2. # yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel  

建议使用oracle jdk,我没用是因为以前装独立hadoop就用的openjdk。

Cloudera Enterprise Version Supported Oracle JDK Supported OpenJDK
5.3 -5.15 1.7, 1.8 none
5.16 and higher 5.x releases 1.7, 1.8 1.8
6.0 1.8 none
6.1 1.8 1.8
6.2 1.8 1.8
6.3 1.8 1.8, 11.0.3 or higher

七,cdh6.3.1组件介绍

Component Component Version
Apache Avro 1.8.2
Apache Flume 1.9.0
Apache Hadoop 3.0.0
Apache HBase 2.1.4
HBase Indexer 1.5
Apache Hive 2.1.1
Hue 4.3.0
Apache Impala 3.2.0
Apache Kafka 2.2.1
Kite SDK 1.0.0
Apache Kudu 1.10.0
Apache Solr 7.4.0
Apache Oozie 5.1.0
Apache Parquet 1.9.0
Parquet-format 2.4.0
Apache Pig 0.17.0
Apache Sentry 2.1.0
Apache Spark 2.4.0
Apache Sqoop 1.4.7
Apache ZooKeeper 3.4.5

八,配置cloudera离线库,并安装cloudera-manager,bigserver1节点

1,安装nginx和createrepo

  1. # yum install nginx createrepo  
  2. mkdir -p /var/www/html/cloudera-repos  //cloudera rpm路径  
  3. # vim /etc/nginx/conf.d/cloudera.conf  //nginx配置  
  4. server  
  5. {  
  6.  listen 80;  
  7.  server_name bigserver1;  
  8.  root /var/www/html;  
  9.  autoindex on;  
  10.  autoindex_exact_size off;  
  11.  autoindex_localtime on;  
  12.  charset utf-8;  
  13. }  
  14.   
  15. # systemctl restart nginx  //重启nginx  

2,下载cloudera-manager

https://archive.cloudera.com/cm6/6.3.1/redhat7/yum/RPMS/x86_64/

allkeys.asc
cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm

下载oracle-j2sdk1.8-1.8.0,其实是为了java版本的统一。并且可以直接yum安装。

allkeys.asc不要忘下,不然后面会报错。报错信息忘下来了。

3,创建本地离线cloudera库

  1. # mv *.rpm /var/www/html/cloudera-repos   //rpm包移动到仓库路径下  
  2. # mv allkeys.asc /var/www/html/cloudera-repos  
  3. # cd /var/www/html/cloudera-repos && createrepo . //创建repo,注意有个点  
  4. Spawning worker 0 with 2 pkgs  
  5. Spawning worker 1 with 2 pkgs  
  6. Workers Finished  
  7. Saving Primary metadata  
  8. Saving file lists metadata  
  9. Saving other metadata  
  10. Generating sqlite DBs  
  11. Sqlite DBs complete  
  12.   
  13. # vim /etc/yum.repos.d/cloudera-manager.repo  
  14. [cloudera-manager]  
  15. name=Cloudera Manager 6.3.1  
  16. baseurl=http://bigserver1/cloudera-repos/  
  17. gpgcheck=0  
  18. enabled=1  

不用copy到cloudera-manager.repo到其他节点,其他节点不用安装cloudera-manager-agent,图形界面的时候,会自动copy,并安装。

不用copy到cloudera-manager.repo到其他节点,其他节点不用安装cloudera-manager-agent,图形界面的时候,会自动copy,并安装。

不用copy到cloudera-manager.repo到其他节点,其他节点不用安装cloudera-manager-agent,图形界面的时候,会自动copy,并安装。

4,安装cloudera-manager

  1. # yum clean all && yum makecache  
  2. # yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server  

注意:如果以前单独装cdh中的组件要删除掉,确认一个纯净的安装。后面环境检查,也不会有问题

已有cdh的组件就删除

已有cdh的组件就删除

  1. # rpm -qa |grep impala //查找所有implala,然后删除  
  2.   
  3. # rpm -e impala-2.12.0+cdh5.16.2+0-1.cdh5.16.2.p0.22.el7.x86_64 --nodeps  
  4. # rpm -e impala-udf-devel-2.12.0+cdh5.16.2+0-1.cdh5.16.2.p0.22.el7.x86_64 --nodeps  
  5. # rpm -e impala-catalog-2.12.0+cdh5.16.2+0-1.cdh5.16.2.p0.22.el7.x86_64 --nodeps  
  6. # rpm -e impala-state-store-2.12.0+cdh5.16.2+0-1.cdh5.16.2.p0.22.el7.x86_64 --nodeps  
  7. # rpm -e impala-shell-2.12.0+cdh5.16.2+0-1.cdh5.16.2.p0.22.el7.x86_64 --nodeps  

九,配置离线parcel库,bigserver1节点

1,下载parcels

https://archive.cloudera.com/cdh6/6.3.1/parcels/

CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel
CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha1
manifest.json

CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha1要重命名为CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha

2,建立parcel-repo离线库

  1. chown cloudera-scm:cloudera-scm -R /opt/cloudera/parcel-repo  
  2. # ll  
  3. 总用量 2035080  
  4. -rw-r--r-- 1 cloudera-scm cloudera-scm 2083878000 11月 25 12:34 CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel  
  5. -rw-r--r-- 1 cloudera-scm cloudera-scm 40 10月 11 16:45 CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha  
  6. -rw-r--r-- 1 cloudera-scm cloudera-scm 33887 10月 11 16:44 manifest.json  

注意:/opt/cloudera/parcel-repo,这个目录,不是手动创建的。安装完cloudera-manager-server,就会有。图形界面安装时,会自动同步给其他节点。

十,安装mysql5.7

1,安装mysql,bigserver1节点

参考:hive mysql 安装配置

my.cnf官方推荐配置

  1. # vim /etc/my.cnf  
  2. [mysqld]  
  3. datadir=/var/lib/mysql  
  4. socket=/var/lib/mysql/mysql.sock  
  5. transaction-isolation = READ-COMMITTED  
  6. # Disabling symbolic-links is recommended to prevent assorted security risks;  
  7. # to do so, uncomment this line:  
  8. symbolic-links = 0  
  9.   
  10. key_buffer_size = 32M  
  11. max_allowed_packet = 32M  
  12. thread_stack = 256K  
  13. thread_cache_size = 64  
  14. query_cache_limit = 8M  
  15. query_cache_size = 64M  
  16. query_cache_type = 1  
  17.   
  18. max_connections = 550  
  19. #expire_logs_days = 10  
  20. #max_binlog_size = 100M  
  21.   
  22. #log_bin should be on a disk with enough free space.  
  23. #Replace '/var/lib/mysql/mysql_binary_log' with an appropriate path for your  
  24. #system and chown the specified folder to the mysql user.  
  25. log_bin=/var/lib/mysql/mysql_binary_log  
  26.   
  27. #In later versions of MySQL, if you enable the binary log and do not set  
  28. #a server_id, MySQL will not start. The server_id must be unique within  
  29. #the replicating group.  
  30. server_id=1  
  31.   
  32. binlog_format = mixed  
  33.   
  34. read_buffer_size = 2M  
  35. read_rnd_buffer_size = 16M  
  36. sort_buffer_size = 8M  
  37. join_buffer_size = 8M  
  38.   
  39. # InnoDB settings  
  40. innodb_file_per_table = 1  
  41. innodb_flush_log_at_trx_commit = 2  
  42. innodb_log_buffer_size = 64M  
  43. innodb_buffer_pool_size = 4G  
  44. innodb_thread_concurrency = 8  
  45. innodb_flush_method = O_DIRECT  
  46. innodb_log_file_size = 512M  
  47.   
  48. [mysqld_safe]  
  49. log-error=/var/log/mysqld.log  
  50. pid-file=/var/run/mysqld/mysqld.pid  
  51.   
  52. sql_mode=STRICT_ALL_TABLES  

2,安装mysql-connector-java,所有节点

  1. # wget https://cdn.mysql.com//archives/mysql-connector-java-5.1/mysql-connector-java-5.1.47.tar.gz  
  2. # tar zxvf mysql-connector-java-5.1.47.tar.gz  
  3. # cd mysql-connector-java-5.1.47  
  4. # cp mysql-connector-java-5.1.47-bin.jar /usr/share/java/mysql-connector-java.jar  

安装独立hadoop的时候就是用yum安装mysql-connector-java没有问题。但是用了cdh6以后就不行了,yum装的版本旧了。centos7.4安装的是mysql-connector-java-5.1.25-3。后面启动hive.metastore的时候,会报以下错误:

SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
org.apache.hadoop.hive.metastore.HiveMetaException: Failed to retrieve schema tables from Hive Metastore DB,Not supported

3,创建数据库,并分配权限,bigserver1节点

  1. CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;  
  2. CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;  
  3. CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;  
  4. CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;  
  5. CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;  
  6. CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;  
  7. CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;  
  8. CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;  
  9. CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;  
  10.   
  11. grant all privileges on *.* TO cdh6@'10.%' IDENTIFIED BY 'Cdh6_123';  
  12. flush privileges;  

以下是组件与库名对照表:

组件名 数据库名
Cloudera Manager Server scm
Activity Monitor amon
Reports Manager rman
Hue hue
Hive Metastore Server metastore
Sentry Server sentry
Cloudera Navigator Audit Server nav
Cloudera Navigator Metadata Server navms
Oozie oozie

4,初始化数据库,在bigserver1节点

  1. # /opt/cloudera/cm/schema/scm_prepare_database.sh -h bigserver1 mysql scm cdh6 Cdh6_123  
  2. JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64  
  3. Verifying that we can write to /etc/cloudera-scm-server  
  4. Creating SCM configuration file in /etc/cloudera-scm-server  
  5. Executing: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/java/postgresql-connector-java.jar:/opt/cloudera/cm/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.  
  6. [ main] DbCommandExecutor INFO Successfully connected to database.  
  7. All done, your SCM database is configured correctly!  

5,启动cloudera-scm-server,在bigserver1节点

  1. # systemctl start cloudera-scm-server  
  2.   
  3. # tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log  
  4.   
  5. # netstat -tpnl |grep 7180  
  6. tcp 0 0 0.0.0.0:7180 0.0.0.0:* LISTEN 28344/java  

注意:cloudera-scm-server启动的时间挺长,用tail查看server日志,如果7180端口起来了。说明cloudera-scm-server,启动好了。

十一,hadoop集群安装

1,登录

http://bigserver1:7180/cmf/login,默认用户名密码都是admin

2,图解

1,登录

1,登录

2,发行说明

2,发行说明

3,同意条款

3,同意条款

4,Cloudera版本选择,一般都选免费

4,Cloudera版本选择,一般都选免费

5,集群安装的欢迎页面

5,集群安装的欢迎页面

6,设置集群名称

6,设置集群名称

7,设置集群中,有多少台机器

7,设置集群中,有多少台机器

8,选择离线库

8,选择离线库

9,是否需要安装jdk,前面安装了,就不用装了

9,是否需要安装jdk,前面安装了,就不用装了

10,上传私钥

10,上传私钥

11,安装agent客户端

11,安装agent客户端

12.1,主机运行状况不良

12.1,主机运行状况不良

主机运行状况不良,解决办法:所有节点都要操作

  1. # cd /var/lib/cloudera-scm-agent/  
  2. # rm -f cm_guid  
  3. # service cloudera-scm-agent restart  
12.2,安装parcels进行中

12.2,安装parcels进行中

13.1,集群中的机器检测

13.1,集群中的机器检测

解决办法:所有节点

  1. echo never > /sys/kernel/mm/transparent_hugepage/defrag  
  2. echo never > /sys/kernel/mm/transparent_hugepage/enabled  
  3.   
  4. echo vm.swappiness=10 >> /etc/sysctl.conf  
  5. # sysctl -p  
13.2,已无warning

13.2,已无warning

14,集群配置

14,集群配置

15.1,自定义角色配置

15.1,自定义角色配置

15.2,自定义角色配置

15.2,自定义角色配置

15.3,自定义角色配置

15.3,自定义角色配置

在这里要注意,什么机器装什么服务,根自己的实际情况来。

16,集群数据库设置

16,集群数据库设置

17.1,路径默认设置

17.1,路径默认设置

17.2,kudu路径设置(必填)

17.2,kudu路径设置(必填)

17.3,kafka路径设置(必填)

17.3,kafka路径设置(必填)

在这里要注意,solr的路径不要改动,不然会报错。

在这里要注意,solr的路径不要改动,不然会报错。

在这里要注意,solr的路径不要改动,不然会报错。

18,检测通过了

18,检测通过了

19,安装完成

19,安装完成

到这儿就安装完成了,但是紧紧是安装完成,后面会陆续出一些使用情况和问题。



转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/hadoop/2249.html

3 条评论

  1. chiangshin 留言

    【九,配置离线parcel库,bigserver1节点->2,建立parcel-repo离线库】
    "chown cloudera-scm:cloudera-scm -R /opt/cloudera/parcel-repo" 这一步,cloudera-scm用户怎么创建的?

  2. chiangshin 留言

    忽略上一条,检查了一下history,中间去吃了个饭,忘记执行 yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server

  3. 留言

    老哥,能不能给一份allkeys.asc呀,现在官网没法下载了。谢谢啊