初始化节点环境

  1. docker exec -it cm.hadoop /bin/sh
  2. #安装常见工具
  3. yum install -y kde-l10n-Chinese telnet reinstall glibc-common vim wget ntp net-tools
  4. #配置中文环境变量
  5. (
  6. cat <<EOF
  7. export LC_ALL=zh_CN.utf8
  8. export LANG=zh_CN.utf8
  9. export LANGUAGE=zh_CN.utf8
  10. EOF
  11. ) >> ~/.bashrc \
  12. && localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 \
  13. && source ~/.bashrc \
  14. && echo $LANG
  15. #配置ntp服务
  16. vim /etc/ntp.conf #注释原来的server,添加国内的server

server 0.cn.pool.ntp.org server 1.cn.pool.ntp.org server 2.cn.pool.ntp.org server 3.cn.pool.ntp.org

  1. systemctl start ntpd && \
  2. systemctl enable ntpd && \
  3. ntpdate -u 0.cn.pool.ntp.org && \
  4. hwclock --systohc && \
  5. timedatectl set-timezone Asia/Shanghai && \ #配置时区
  6. date
  7. #开启ssh
  8. yum install openssh-clients.x86_64 && \
  9. yum install openssh-server.x86_64 && \
  10. systemctl enable sshd && \
  11. systemctl start sshd
  12. #按提示修改root密码 所有节点保持一致
  13. passwd
  14. #关闭transparent_hugepage 关闭内存按2M页大小分配
  15. echo never > /sys/kernel/mm/transparent_hugepage/defrag && \
  16. echo never > /sys/kernel/mm/transparent_hugepage/enabled
  17. vim /etc/rc.local

echo never > /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled

  1. sysctl vm.swappiness=10 #默认是60 即物理内存用到40%就开始使用swap虚拟内存
  2. echo "vm.swappiness=10" >> /etc/sysctl.conf
  3. sysctl -p #立刻生效

安装Mysql

  1. #下载mysql安装包
  2. mkdir -p /root/hadoop_CHD/mysql \
  3. && wget -O /root/hadoop_CHD/mysql/mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar \
  4. https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar \
  5. && ls /root/hadoop_CHD/mysql
  6. #下载mysql-jdbc
  7. mkdir -p /root/hadoop_CHD/mysql-jdbc \
  8. && wget -O /root/hadoop_CHD/mysql-jdbc/mysql-connector-java-5.1.48.tar.gz \
  9. https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.48.tar.gz \
  10. && ls /root/hadoop_CHD/mysql-jdbc
  11. #安装mysql
  12. cd /root/hadoop_CHD/mysql/;tar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar \
  13. && yum install -y libaio numactl \
  14. && rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm \
  15. && rpm -ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm \
  16. && rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm \
  17. && rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm \
  18. && rpm -ivh mysql-community-libs-compat-5.7.27-1.el7.x86_64.rpm \
  19. && echo character-set-server=utf8 >> /etc/my.cnf
  20. #配置mysql-jdbc
  21. mkdir -p /usr/share/java/ \
  22. && cd /root/hadoop_CHD/mysql-jdbc/;tar -zxvf mysql-connector-java-5.1.48.tar.gz \
  23. && cp /root/hadoop_CHD/mysql-jdbc/mysql-connector-java-5.1.48/mysql-connector-java-5.1.48-bin.jar /usr/share/java/mysql-connector-java.jar \

配置元数据

  1. (
  2. cat <<EOF
  3. set password for root@localhost = password('123456Aa.');
  4. grant all privileges on *.* to 'root'@'%' identified by '123456Aa.';
  5. flush privileges;
  6. CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
  7. CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
  8. CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
  9. CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
  10. CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
  11. CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
  12. CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
  13. CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
  14. CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
  15. GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '123456Aa.';
  16. GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY '123456Aa.';
  17. GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY '123456Aa.';
  18. GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY '123456Aa.';
  19. GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY '123456Aa.';
  20. GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY '123456Aa.';
  21. GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY '123456Aa.';
  22. GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY '123456Aa.';
  23. GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY '123456Aa.';
  24. SHOW DATABASES;
  25. EOF
  26. ) >> /root/c.sql
  27. #获取mysql数据库的密码
  28. #如果启动mysql失败,用journalctl -u mysqld 查看报错信息
  29. systemctl start mysqld && grep password /var/log/mysqld.log | sed 's/.*\(............\)$/\1/'
  30. #执行上面创建的脚本
  31. mysql -uroot -p
  32. mysql> source /root/c.sql

安装Cloudera-Manager

  1. #下载Cloudera-Manager相关安装包
  2. mkdir -p /root/hadoop_CHD/cloudera-repos \
  3. && wget -O /root/hadoop_CHD/cloudera-repos/allkeys.asc \
  4. https://archive.cloudera.com/cm6/6.2.1/allkeys.asc \
  5. && wget -O /root/hadoop_CHD/cloudera-repos/cloudera-manager-agent-6.2.1-1426065.el7.x86_64.rpm \
  6. https://archive.cloudera.com/cm6/6.2.1/redhat7/yum/RPMS/x86_64/cloudera-manager-agent-6.2.1-1426065.el7.x86_64.rpm \
  7. && wget -O /root/hadoop_CHD/cloudera-repos/cloudera-manager-daemons-6.2.1-1426065.el7.x86_64.rpm \
  8. https://archive.cloudera.com/cm6/6.2.1/redhat7/yum/RPMS/x86_64/cloudera-manager-daemons-6.2.1-1426065.el7.x86_64.rpm \
  9. && wget -O /root/hadoop_CHD/cloudera-repos/cloudera-manager-server-6.2.1-1426065.el7.x86_64.rpm \
  10. https://archive.cloudera.com/cm6/6.2.1/redhat7/yum/RPMS/x86_64/cloudera-manager-server-6.2.1-1426065.el7.x86_64.rpm \
  11. && wget -O /root/hadoop_CHD/cloudera-repos/cloudera-manager-server-db-2-6.2.1-1426065.el7.x86_64.rpm \
  12. https://archive.cloudera.com/cm6/6.2.1/redhat7/yum/RPMS/x86_64/cloudera-manager-server-db-2-6.2.1-1426065.el7.x86_64.rpm \
  13. && wget -O /root/hadoop_CHD/cloudera-repos/enterprise-debuginfo-6.2.1-1426065.el7.x86_64.rpm \
  14. https://archive.cloudera.com/cm6/6.2.1/redhat7/yum/RPMS/x86_64/enterprise-debuginfo-6.2.1-1426065.el7.x86_64.rpm \
  15. && wget -O /root/hadoop_CHD/cloudera-repos/oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm \
  16. https://archive.cloudera.com/cm6/6.2.1/redhat7/yum/RPMS/x86_64/oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
  17. #下载Parcel包
  18. mkdir -p /root/hadoop_CHD/parcel \
  19. && wget -O /root/hadoop_CHD/parcel/CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel \
  20. https://archive.cloudera.com/cdh6/6.2.1/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel \
  21. && wget -O /root/hadoop_CHD/parcel/manifest.json \
  22. https://archive.cloudera.com/cdh6/6.2.1/parcels/manifest.json \
  23. && ll /root/hadoop_CHD/parcel
  24. #搭建本地yum源
  25. yum -y install httpd createrepo \
  26. && systemctl start httpd \
  27. && systemctl enable httpd \
  28. && cd /root/hadoop_CHD/cloudera-repos/ && createrepo . \
  29. && mv /root/hadoop_CHD/cloudera-repos /var/www/html/
  30. #安装JDK
  31. cd /var/www/html/cloudera-repos/;rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
  32. #安装Cloudera-Manager
  33. (
  34. cat <<EOF
  35. [cloudera-manager]
  36. name=Cloudera Manager 6.2.1
  37. baseurl=http://172.10.0.2/cloudera-repos/
  38. gpgcheck=0
  39. enabled=1
  40. EOF
  41. ) >> /etc/yum.repos.d/cloudera-manager.repo \
  42. && yum clean all \
  43. && yum makecache \
  44. && yum install -y cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
  45. #配置parcel库
  46. cd /opt/cloudera/parcel-repo/;mv /root/hadoop_CHD/parcel/* ./ \
  47. && sha1sum CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel| awk '{ print $1 }' >CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel.sha \
  48. && chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/*
  49. #初始化scm库
  50. /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm 123456Aa.
  51. #启动服务
  52. systemctl start cloudera-scm-server
  53. #检查是否成功
  54. tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log | grep "INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server"

浏览器访问http://172.10.0.2:7180 用户名/密码:admin/admin