• 部署步骤总览
  • 1.规划安装文件存储位置
    • hadoopm01机器 /mnt/software/
  • 2.设置时间自动同步
    • 2.1手动时间同步 sudo ntpdate 192.168.1.45
    • 2.2.配置自动时间同步服务 sudo vim /etc/ntp.conf
      #从时间服务器中同步时间
      server xxxx
      #允许时间服务器修改本地时间
      restrict xxxx nomodify notrap noquery
    • 2.3启动自动同步 sudo systemctl start ntpd.service
    • 2.4查看启动运行状态 sudo systemctl status ntpd.service
    • 2.5每个节点开启开机自启动 sudo systemctl enable ntpdate.service
  • 3.修改hosts文件
    • admin账号密码 : admin Inspur@123
    • 每台机器单独执行 sudo vim /etc/hosts
      添加以下信息
      xxxx hadoopm01 hadoopm01
      xxxx hadoopm02 hadoopm02
      xxxx hadoops01 hadoops01
      xxxx hadoops02 hadoops02
      xxxx hadoops03 hadoops03
      xxxx hadoops04 hadoops04
      xxxx hadoops05 hadoops05
    • 重载hosts文件 sudo /etc/init.d/network restart
    • 给每台机器单独重新设置名称
      • sudo hostnamectl set-hostname hadoopm01
      • sudo hostnamectl set-hostname hadoopm02
      • sudo hostnamectl set-hostname hadoops01
      • sudo hostnamectl set-hostname hadoops02
      • sudo hostnamectl set-hostname hadoops03
      • sudo hostnamectl set-hostname hadoops04
      • sudo hostnamectl set-hostname hadoops05
  • 4.配置ssh免密登录
    • 4.1 每台机器上单独运行指令,生成公钥和私钥 ssh-keygen -t rsa 一路回车
    • 4.2 生成秘钥的默认目录为:~/.ssh,该目录下会生成下面两个文件:
      • id_rsa
      • id_rsa.pub
    • 4.3 实现本地免密登录,将id_rsa.pub中的内容拷贝到authorized_keys
      • ssh-copy-id hadoopm01
      • ~/.ssh目录下会生成一个新的文件:authorized_keys
    • 4.4 在所有机器上运行 ssh-copy-id hadoopM01,就会将每台机器的公钥添加到hadoopM01机器的authorized_keys文件中
    • 4.5 在hadoopm01机器上ssh hadoopm02、ssh hadoops01 。。。 访问余下的每一台服务器,在hadoopm01机器的~/.ssh/knownhosts文件中会自动添加每台服务器的识别标志
    • 4.6 将hadoopM01机器上的authorized_keys 和 knownhosts 这两个文件分别覆盖写入到每台机器authorized_keys 和 knownhosts 文件中,保存,即可实现每台服务器之间的免密互通
  • 5.关闭防火墙和安装 jdk1.8+
    • 查看防火墙状态
      • sudo systemctl status firewalld
    • 关闭防火墙
      • sudo systemctl stop firewalld
    • # centos 会默认开启selinux .
    • 关闭selinux :
      • vim /etc/selinux/config
      • SELINUX=disabled
    • 安装 jdk1.8+
      • sudo rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
      • sudo vim /etc/profile.d/my_env.sh (在文件中追加以下内容)
        • export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
        • export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib
        • export PATH=$PATH:$JAVA_HOME/bin
      • source /etc/profile.d/my_env.sh 让配置文件生效
      • java -version 验证java的安装情况
      • 为每台机器分发java安装文件
        • sudo scp -r /usr/java/jdk1.8.0_181-cloudera/ hadoopm02:/usr/java/
        • sudo scp -r /usr/java/jdk1.8.0_181-cloudera/ hadoops01:/usr/java/
        • sudo scp -r /usr/java/jdk1.8.0_181-cloudera/ hadoops02:/usr/java/
        • sudo scp -r /usr/java/jdk1.8.0_181-cloudera/ hadoops03:/usr/java/
        • sudo scp -r /usr/java/jdk1.8.0_181-cloudera/ hadoops04:/usr/java/
        • sudo scp -r /usr/java/jdk1.8.0_181-cloudera/ hadoops05:/usr/java/
        • scp -r /etc/profile.d/my_env.sh admin@hadoopm02:/etc/profile.d/my_env.sh
        • ssh hadoopm02
        • source /etc/profile.d/my_env.sh
        • scp -r /etc/profile.d/my_env.sh admin@hadoops01:/etc/profile.d/my_env.sh
        • ssh hadoops01
        • source /etc/profile.d/my_env.sh
        • scp -r /etc/profile.d/my_env.sh admin@hadoops02:/etc/profile.d/my_env.sh
        • ssh hadoops02
        • source /etc/profile.d/my_env.sh
        • scp -r /etc/profile.d/my_env.sh admin@hadoops03:/etc/profile.d/my_env.sh
        • ssh hadoops03
        • source /etc/profile.d/my_env.sh
        • scp -r /etc/profile.d/my_env.sh admin@hadoops04:/etc/profile.d/my_env.sh
        • ssh hadoops04
        • source /etc/profile.d/my_env.sh
        • scp -r /etc/profile.d/my_env.sh admin@hadoops05:/etc/profile.d/my_env.sh
        • ssh hadoops05
        • source /etc/profile.d/my_env.sh
      • 验证每台机器java jdk安装情况
        • java -version
  • 6.安装mysql5.7.+
    • Linux离线部署安装MySQL5.7(详细教程!!!)_mysql linux 离线安装和编译_码农生活的博客-CSDN博客
      • 6.1.mysql5.7.29的安装包已上传到hadoopM01 的/tmp/Zyy/ 文件夹下
        • tar -zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
        • mv mysql-5.7.29-linux-glibc2.12-x86_64 mysql-5.7.29
      • 6.2.新建mysql用户和用户组
        • 6.2.1查看用户组列表
          • sudo cat /etc/group
        • 6.2.2查看用户列表
          • sudo cat /etc/shadow
        • 6.2.3创建新的用户组和新的用户,用来管理mysql,提高安全性
          • sudo groupadd mysql
        • 6.2.4添加mysql用户 ,并制定组为mysql,/sbin/nologin意思是用户不允许登录
          • sudo useradd -r -g mysql mysql -s /sbin/nologin
      • 6.3.创建数据存储目录,日志目录和mysqld.log日志文件,并设置读写权限
        • 6.3.1 创建data和log目录
          • mkdir -p /mnt/software/mysql-5.7.29/{data,logs}
        • 6.3.2 创建日志文件
          • touch /mnt/software/mysql-5.7.29/logs/mysqld.log
        • 6.3.3 设置data和log目录的读写权限,-R表示整个目录授权
          • cd /mnt/software/mysql-5.7.29
          • sudo chmod 777 -R {data,logs}
        • 6.3.4 给mysql用户授权能够访问/mnt下的mysql-5.7.29文件夹
          • sudo chown -R mysql.mysql /mnt/software/mysql-5.7.29/
      • 6.4.修改/etc/my.cnf配置文件,这样才能使下一步初始化加载数据库的路径是自己自定义选择的路径,配置文件内容如下:
        [mysqld]
        character_set_server=utf8
        init_connect=’SET NAMES utf8′
        basedir=/mnt/software/mysql-5.7.29
        datadir=/mnt/software/mysql-5.7.29/data
        socket=/mnt/software/mysql-5.7.29/mysql.sock
        # 开启ip绑定
        #bind-address = 0.0.0.0
        log_timestamps = SYSTEM
        open_files_limit=30000
        max_connections=3000
        #控制其通信缓冲区的最大长度
        max_allowed_packet=256M
        #设置忽略大小写(简单来说就是sql语句是否严格),默认库名表名保存为小写, 不区分大小写
        lower_case_table_names = 1
        # 开启慢查询
        #slow_query_log=on
        #slow_query_log_file=/home/mysql-5.7.29/log/slow-query.log
        [mysqld_safe]
        log-error=/mnt/software/mysql-5.7.29/logs/mysqld.log
        pid-file=/mnt/software/mysql-5.7.29/data/mysqld.pid
        # # #指定客户端连接mysql时的socket通信文件路径
        [client]
        socket=/mnt/software/mysql-5.7.29/mysql.sock
        default-character-set=utf8
      • 6.5 初始化数据库
        • ./bin/mysqld –initialize –user=mysql –basedir=/mnt/mysql-5.7.29/ –datadir=/mnt/mysql-5.7.29/data
        • 生成随机密码 B8olps13;1-:
        • 注意:如果需要重新初始化配置,需要将data目录下的文件清空,否则初始化会失败
      • 6.6 添加至开机启动
        • 在mysql5.7.29的目录下执行下列语句,把启动脚本放到开机初始化目录
        • cd /mnt/software/mysql-5.7.29
        • cp ./support-files/mysql.server /etc/init.d/mysqld
      • 6.7设置开机启动,在mysql-5.7.29的目录下执行下列语句(按个人需求选择加或不加)
        • chkconfig –add mysqld
      • 6.8 修改mysqld,使用vim /etc/init.d/mysqld 命令,修改以下代码部分
        • sudo vim /etc/init.d/mysqld
      • 启动mysql服务和修改mysql初始化密码
        • sudo service mysqld start (注意:software目录的权限是root,如果不加sudo ,启动会失败)
        • sudo lsof -i:3306 监控3306(mysql)的端口是否正常被占用
        • ./bin/mysql -uroot -p
          • 输入安装时的随机密码
          • B8olps13;1-:
        • 1、设置root密码
          • alter user root@localhost identified by ‘Fuda@2023’;
        • 2、use选择mysql
          • use mysql
        • 3、设置局域网ip均能访问
          • update user set user.Host=’%’ where user.User=’root’;
        • 4、执行生效指令
          • flush privileges;
  • 7.CDH6.3.2安装部署
    • 1)在MySQL中创建各组件需要的数据库
      • GRANT ALL ON scm.* TO ‘scm’@’%’ IDENTIFIED BY ‘scm’;
      • CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
      • CREATE DATABASE hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
      • CREATE DATABASE oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
      • CREATE DATABASE hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
      • CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    • 2.CM安装
      • 2.1将mysql-connector-java-5.1.27-bin.jar拷贝到/usr/share/java路径下,并重命名
        • cd /mnt/sdb/software
        • sudo unzip mysql-libs.zip
        • cd mysql-libs
        • sudo tar -zxvf mysql-connector-java-5.1.27.tar.gz
        • cd mysql-connector-java-5.1.27
        • sudo mv mysql-connector-java-5.1.27-bin.jar mysql-connector-java.jar
        • sudo mkdir /usr/share/java
        • sudo cp mysql-connector-java.jar /usr/share/java/
        • cd /usr/share/java
        • 分发java-connector.jar包
          • sudo scp ./mysql-connector-java.jar hadoopS06:/usr/share/java
      • 2.2 创建cloudera-manager目录,存放cdh安装文件
        • sudo mkdir /mnt/sdb/software/cloudera-manager
        • 将 cm6.3.1-redhat7.tar.gz放到 hadoopm01机器 /mnt/sdb/software/cloudera-manager 路径下
        • tar -zxvf cm6.3.1-redhat7.tar.gz
      • 2.3 每台机器创建文件目录 sudo mkdir -p /mnt/sdb/software/
      • 2.4 给每台机器分发cloderou安装包
        • sudo scp -r /mnt/sdb/software/cloudera-manager/ hadoopm02:/mnt/sdb/software/
        • sudo scp -r /mnt/sdb/software/cloudera-manager/ hadoops01:/mnt/sdb/software/
        • sudo scp -r /mnt/sdb/software/cloudera-manager/ hadoops02:/mnt/sdb/software/
        • sudo scp -r /mnt/sdb/software/cloudera-manager/ hadoops03:/mnt/sdb/software/
        • sudo scp -r /mnt/sdb/software/cloudera-manager/ hadoops04:/mnt/sdb/software/
        • sudo scp -r /mnt/sdb/software/cloudera-manager/ hadoops05:/mnt/sdb/software/
      • 2.5 每台机器安装cloudera-manager-daemons
        • cd /mnt/sdb/software/cloudera-manager
        • sudo rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
      • 2.6 每台机器安装 cloudera-manager-agent
        • 每台机器安装依赖包
          • sudo yum install bind-utils psmisc cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs /lib/lsb/init-functions httpd mod_ssl openssl-devel python-psycopg2 MySQL-python libxslt
        • 每台机器安装cloudera-manager-agent
        • sudo rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
      • 2.7安装agent的server节点
        • 每台机器 sudo vim /etc/cloudera-scm-agent/config.ini
          • server_host=hadoopm01
        • 在hadoopM01安装cloudera-manager-server
          • sudo rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
      • 2.8上传CDH包到parcel-repo
        • mv CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel* /opt/cloudera/parcel-repo
        • mv manifest.json /opt/cloudera/parcel-repo
        • cd /opt/cloudera/parcel-repo
        • mv CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
      • 2.9 修改server的db.properties
        • sudo vim /etc/cloudera-scm-server/db.properties
          • com.cloudera.cmf.db.type=mysql
          • com.cloudera.cmf.db.host=hadoopm01:3306
          • com.cloudera.cmf.db.name=scm
          • com.cloudera.cmf.db.user=scm
          • com.cloudera.cmf.db.password=scm
          • com.cloudera.cmf.db.setupType=EXTERNAL
      • 每台机器 su root
        • echo never > /sys/kernel/mm/transparent_hugepage/defrag
        • echo never > /sys/kernel/mm/transparent_hugepage/enabled
      • 3.启动server服务
        • [admin@hadoopm01 log]# /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm
        • [admin@hadoopm01 software]# sudo systemctl start cloudera-scm-server
      • 4.启动Agent服务
        • 余下的每台机器执行 sudo systemctl start cloudera-scm-agent
  • 8.网页端访问CDH6.3.2
    • 网页端输入 hadoopm01:7180 默认账号密码 admin/admin 即可进入CDH大数据集群可视化管理界面
    • 后续还需在CDH可视化管理界面中进行大数据组件的安装,安装完毕之后的界面如下

作者 admin

张宴银,大数据开发工程师

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注