cloudera安装

环境准备

机器角色分配
node01 192.168.56.101 cdh-master/cdh-agent
node02 192.168.56.102 cdh-agent
node03 192.168.56.103 cdh-agent

设置swapping和禁止透明页,可选操作,如果不行可以再回来设置。

  1. # 修改Linux swapping参数
  2. #查看
  3. cat /proc/sys/vm/swappiness #30
  4. #修改当前
  5. echo 0 > /proc/sys/vm/swappiness
  6. #添加到配置文件
  7. echo "vm.swappiness=0" >> /etc/sysctl.conf
  8. # 禁止透明页
  9. echo never > /sys/kernel/mm/transparent_hugepage/defrag
  10. echo never > /sys/kernel/mm/transparent_hugepage/enabled
  11. #添加到配置文件
  12. echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >> /etc/rc.local
  13. echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local
  14. #避免重启后不生效 添加执行权限
  15. chmod +x /etc/rc.d/rc.local

另外,该项目需要基于上一篇hadoop的基础box进行,包括支持无密码登录、时间同步等。

数据库安装

在cdh-master中安装数据库。
执行 script/install_mysql.sh安装MySQL5.7:

  1. # 安装完成后就会覆盖掉之前的mariadb
  2. wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
  3. rpm -ivh mysql57-community-release-el7-10.noarch.rpm
  4. yum -y install mysql-community-server
  5. # 因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:
  6. yum -y remove mysql57-community-release-el7-10.noarch
  7. # 配置 /etc/my.cnf
  8. grep -q '^\[mysql\]' /etc/my.cnf || cat >> /etc/my.cnf << EOF
  9. port=3306
  10. max_connections=1000
  11. max_connect_errors=10
  12. character-set-server=UTF8MB4
  13. default-storage-engine=INNODB
  14. default_authentication_plugin=mysql_native_password
  15. [mysql]
  16. default-character-set=UTF8MB4
  17. [client]
  18. port=3306
  19. default-character-set=UTF8MB4
  20. EOF
  21. cat >> /etc/my.cnf << EOF
  22. port=3306
  23. max_connections=1000
  24. max_connect_errors=10
  25. character-set-server=UTF8MB4
  26. default-storage-engine=INNODB
  27. default_authentication_plugin=mysql_native_password
  28. [mysql]
  29. default-character-set=UTF8MB4
  30. [client]
  31. port=3306
  32. default-character-set=UTF8MB4
  33. EOF

启动数据库并开机启动:systemctl start mysqld && systemctl enable mysqld
启动后通过 cat /var/log/mysqld.log|grep password获取临时密码。
登录数据库修改临时密码:

  1. $ mysql -uroot -p #回车后输入临时密码
  2. mysql> alter user 'root'@'localhost' identified by 'Rooot#132';
  3. mysql> flush privileges; -- 刷新权限,可选

创建数据库

  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. CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

安装 mysql 连接器

mkdir -p /usr/share/java
wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar
mv mysql-connector-java-5.1.47.jar /usr/share/java/mysql-connector-java.jar
  • 注意文件要重命名为mysql-connector-java.jar
  • 如果下载不了,可以从这里下载: https://pan.baidu.com/s/1hYz_m3BLwgc_lBWpzfNKtQ 提取码: kqfe

    仓库准备:第三方仓库

    # 解决cdh官方仓库无法下载问题
    cat > /etc/yum.repos.d/cloudera.repo << EOF
    [cloudera-manager]
    name = Cloudera Manager, Version 6.2.0
    baseurl = http://ro-bucharest-repo.bigstepcloud.com/cloudera-repos/cm6/redhat/7/x86_64/cm/6.2.0/
    gpgkey = http://ro-bucharest-repo.bigstepcloud.com/cloudera-repos/cm6/redhat/7/x86_64/cm/RPM-GPG-KEY-cloudera
    gpgcheck = 1
    EOF
    

    仓库准备:本地仓库

    第三方仓库与本地仓库,选择一种就可以。使用本地仓库的目录是为了提高安装速度。 ```shell yum -y install httpd

    Create directory

    mkdir -p /var/www/html/cloudera-repos

    Download CM, KEY and change permission mode

    -r:—recursive -np:—no-parent -nH:—no-host-directories

    wget -r -np -nH https://ro-bucharest-repo.bigstepcloud.com/cloudera-repos/cm6/redhat/7/x86_64/cm/6.2.0/ -P /var/www/html wget https://ro-bucharest-repo.bigstepcloud.com/cloudera-repos/cm6/redhat/7/x86_64/cm/RPM-GPG-KEY-cloudera -P /var/www/html/cloudera-repos/cm6/redhat/7/x86_64/cm chmod -R ugo+rX /var/www/html/cloudera-repos/cm6

Download CDH and change permission mode

wget -r -np -nH https://ro-bucharest-repo.bigstepcloud.com/cloudera-repos/cdh6/redhat/7/x86_64/cdh/6.2.0/ -P /var/www/html chmod -R ugo+rX /var/www/html/cloudera-repos/cdh6

Download pacels and change permission mode

wget -r -np -nH https://ro-bucharest-repo.bigstepcloud.com/cloudera-repos/cdh6/parcels/ -P /var/www/html chmod -R ugo+rX /var/www/html/cloudera-repos/parcels

cat > /etc/yum.repos.d/cloudera.repo << EOF [cloudera-cm] name=cloudera-repo baseurl=http://node01/cloudera-repos/cm6/redhat/7/x86_64/cm/6.2.0/ enabled=1 gpgcheck=0 [cloudera-cdh] name=cloudera-repo baseurl=http://node01/cloudera-repos/cdh6/redhat/7/x86_64/cdh/6.2.0/ enabled=1 gpgcheck=0 EOF

如果要安装其他版本,修改对应的版本号即可。

编辑Apache HTTP Server 配置文件/etc/httpd/conf/httpd.conf ,在<IfModule mime_module> 模块中添加下面内容:
```shell
AddType application/x-gzip .gz .tgz .parcel

AddType application/x-gzip后面追加 .parcel 即可。
启动httpd:systemctl start httpd
打开 http://node01/cloudera-repos/ 测试是否能够看到文件。

parcels准备,参考这个,不过依然不成功!
https://blog.csdn.net/qq_37056683/article/details/109197534

mkdir -p /opt/cloudera/parcel-repo/
cd /opt/cloudera/parcel-repo/
wget http://192.168.56.1/cloudera-repos/cdh6/parcels/6.2.0/CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel
wget http://192.168.56.1/cloudera-repos/cdh6/parcels/6.2.0/CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha256
wget http://192.168.56.1/cloudera-repos/cdh6/parcels/6.2.0/manifest.json
useradd --system --home=/opt/cloudera --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
#修改用户组
chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/
#校验parcel文件,与对应.sha256文件对比,不一致则替换
sha256sum CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel

cloudera manager 安装

# 主节点安装
yum install -y cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
# 从节点安装
yum install -y cloudera-manager-daemons cloudera-manager-agent

初始化数据库(主节点)

# /opt/cloudera/cm/schema/scm_prepare_database.sh 数据库类型 数据库名 用户名 密码
$ /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm "root" "Rooot#132"

cdh-master

sed -i 's/^server_host=/server_host=node01/' /etc/cloudera-scm-agent/config.ini
# 出现 All done, your SCM database is configured correctly!表示成功。

# 必须加这个,否则启动不起来,以为cm默认jdk目录为 /usr/java/default
echo "export JAVA_HOME=/opt/hdata/jdk" >> /etc/default/cloudera-scm-server

启动

#启动server
systemctl start cloudera-scm-server
systemctl enable cloudera-scm-server 
#启动agent(所有节点)
systemctl start cloudera-scm-agent
systemctl enable cloudera-scm-agent

如果驱动失败可以 journelctl -xe查看日志

访问页面 http://node01:7180/cmf/login admin/admin

  • /etc/cloudera-scm-server :数据库与日志配置文件目录
  • /var/log/cloudera-scm-server :日志目录

初始化配置

image.png

安装parcels无法进行,后续在研究,或者换ambari