yum install -y ntp gcc make lrzsz wget vim sysstat.x86_64 xinetd screen expect rsync bind-utils iotop dstat nethogs openssl-devel openssh-clients

1) 配置 /etc/hosts
  master 10.17.172.230
  node1 10.17.172.231
  node2 10.17.172.232
  node3 10.17.172.233
  node4 10.17.172.234
  node5 10.17.172.235
  node6 10.17.172.236
  node7 10.17.172.237

2) HOSTNAME
  vi /etc/sysconfig/network
    HOSTNAME=master
  hostname master
  service network restart

host一次配好,不要去改;如果非要改,相关服务都要重启, authorized_keys要处理, known_hosts要删除

3) 无密码SSH
在主节点上执行 ssh-keygen -t rsa 一路回车,生成无密码的密钥对。
将所有节点的公钥添加到认证文件中:
  cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
scp文件到所有datenode节点:
  scp ~/.ssh/authorized_keys root@node1:~/.ssh/
  scp ~/.ssh/authorized_keys root@node2:~/.ssh/
  scp ~/.ssh/authorized_keys root@node3:~/.ssh/
  scp ~/.ssh/authorized_keys root@node4:~/.ssh/
  scp ~/.ssh/authorized_keys root@node5:~/.ssh/
  scp ~/.ssh/authorized_keys root@node6:~/.ssh/
设置authorized_keys的访问权限:
  chmod 600 ~/.ssh/authorized_keys

4) 修改 history命令 的记录数量
  sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/' /etc/profile
  source /etc/profile

5) 安装 JAVA
rpm -qa | grep java 检查是否安装 jdk
rpm -ivh jdk-7u80-linux-x64.rpm 安装jdk

vi /etc/profile
  JAVA_HOME=/usr/java/jdk1.7.0_80
  export PATH=$JAVA_HOME/bin:$PATH
  export JRE_HOME=${JAVA_HOME}/jre
  export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source /etc/profile

6) 配置 防火墙
  service iptables stop # 暂时关闭

7) 关闭SELINUX
临时生效:
  setenforce 0
重启后永久生效:
  cat /etc/selinux/config | grep "SELINUX="

  vi /etc/selinux/config
    SELINUX=disabled

8) 时区
  vi /etc/sysconfig/clock
    ZONE=Asia/Shanghai
  rm /etc/localtime
  ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

9) 配置 NTP 节点
  yum -y install ntp ntpdate

  chkconfig ntpd on # 开机启动
  chkconfig --list ntpd # 2-5为on状态就代表成功

master机器:
ntpdate -u 103.226.213.30 # 同步一下时间
vi /etc/ntp.conf
  driftfile /var/lib/ntp/drift

  restrict 127.0.0.1
  restrict -6 ::1

  restrict default nomodify notrap
  restrict -6 default nomodify notrap

  server 103.226.213.30 prefer
  server 0.rhel.pool.ntp.org iburst
  server 1.rhel.pool.ntp.org iburst
  server 2.rhel.pool.ntp.org iburst
  server 3.rhel.pool.ntp.org iburst
  server 210.72.145.44 iburst
  server pool.ntp.org iburst
  server time.windows.com iburst
  server ntp.sjtu.edu.cn iburst
  server time.asia.apple.com iburst
  server clock.via.net ntp.nasa.gov iburst

  includefile /etc/ntp/crypto/pw
  keys /etc/ntp/keys

service ntpd start # 启动
ntpstat # 命令查看同步状态

所有子节点:
vi /etc/ntp.conf
  driftfile /var/lib/ntp/drift

  restrict 127.0.0.1
  restrict -6 ::1

  restrict default kod nomodify notrap nopeer noquery
  restrict -6 default kod nomodify notrap nopeer noquery

  server master

  includefile /etc/ntp/crypto/pw
  keys /etc/ntp/keys

ntpdate -u master
service ntpd start

10) MySQL
  rpm -qa | grep -i mysql
  rpm --nodeps -e mysql-libs-5.1.71-1.el6.x86_64

  cd /usr/local
  tar -zxvf mysql.tar.gz

  cp /data/install_tools/init_server_env/mysql/my.cnf /usr/local/mysql/
  cp /data/install_tools/init_server_env/mysql/shutdown_mysql.sh /usr/local/mysql/
  cp /data/install_tools/init_server_env/mysql/start_mysql.sh /usr/local/mysql/

# 创建数据库相应目录和设置目录权限
  mkdir -p /data/mysql-3306/{tmp,data}
  groupadd mysql
  useradd -r -g mysql mysql -s /sbin/nologin
  chmod 755 /usr/local/mysql/*.sh
  chown -R mysql:mysql /data/mysql-3306
  chown -R mysql:mysql /usr/local/mysql

##初始化mysql
  cd /usr/local/mysql
  scripts/mysql_install_db --user=mysql --defaults-file=/usr/local/mysql/my.cnf
  /usr/local/mysql/start_mysql.sh

  netstat -ant|grep ':3306'|grep 'LISTEN' # 确认 3306 端口可用

  /usr/local/mysql/bin/mysql -uroot -S /data/mysql-3306/mysqld.sock
  use mysql;
  delete from user where user='';
  grant all privileges on *.* to root@'%' identified by 'qweasdzxc';
  update user set password=password('qweasdzxc') where user='root';
  grant select,insert,update,EXECUTE,lock tables on *.* to loguser@'%' identified by 'nagioscheck';
  grant usage on *.* to 'zabbixmysql'@'127.0.0.1' identified by 'zabbix123';
  flush privileges;
  select host,user,password from user;

首先要看本机MySQL的socket套接字文件在哪里:
  mysqld --verbose --help | grep socket

vi /etc/profile
  export PATH==$PATH:/usr/local/mysql/bin
source /etc/profile

11)安装CM==================================================================================================================
1) 主节点解压安装
  解压 cloudera-manager-el6-cm5.5.1_x86_64.tar.gz 到 /opt/目录

2) 建立数据库
  cp /data/install_tools/mysql-connector-java-5.1.42.jar /opt/cm-5.5.1/share/cmf/lib/

  # 这个权限,应该要
  grant all privileges on *.* to scm@'%' identified by 'scm';
  flush privileges;

  数据库类型 数据库名称 -h数据库主机名 -u数据库用户名 -p数据库密码--scm-host cmserver主机名 scm scm scm
  /opt/cm-5.5.1/share/cmf/schema/scm_prepare_database.sh mysql cm -h127.0.0.1 -uroot -pqweasdzxc -P3306 --scm-host master scm scm scm

3) Agent配置
  vi /opt/cm-5.5.1/etc/cloudera-scm-agent/config.ini
  server_host=master

  同步Agent到其他节点
  scp -r root@master:/opt/cm-5.5.1/ /opt/

  在所有节点创建cloudera-scm用户
  userdel cloudera-scm
  useradd --system --home=/opt/cm-5.5.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

  准备Parcels,用以安装CDH5(主节点)
  cp /data/install_tools/CDH/* /opt/cloudera/parcel-repo/
  mv /opt/cloudera/parcel-repo/CDH-5.5.1-1.cdh5.5.1.p0.11-el6.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.5.1-1.cdh5.5.1.p0.11-el6.parcel.sha

启动:
  echo > /opt/cm-5.5.1/log/cloudera-scm-server/cloudera-scm-server.log
  echo > /opt/cm-5.5.1/log/cloudera-scm-agent/cloudera-scm-agent.log

主节点:
  /opt/cm-5.5.1/etc/init.d/cloudera-scm-server start
  tail -f /opt/cm-5.5.1/log/cloudera-scm-server/cloudera-scm-server.log
    2017-06-28 11:02:29,570 INFO WebServerImpl:org.mortbay.log: Started SelectChannelConnector@0.0.0.0:7180
    2017-06-28 11:02:29,570 INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.
  标志执行成功

所有节点(包括主节点): 最好先启动子节点,最后启动主节点
  /opt/cm-5.5.1/etc/init.d/cloudera-scm-agent start
  tail -n20 /opt/cm-5.5.1/log/cloudera-scm-agent/cloudera-scm-agent.log # log 里面有错应该是正常的
  DnsResolutionMonitor throttling_logger INFO Using java location: '/usr/java/jdk1.7.0_80/bin/java'.
应该是标志执行成功,不确认

4) CDH5的安装配置
http://master:7180/cmf/

初始化:
MySQL 建库:
  create database hive;
  create database oozie;
  create database amon;
  create database hue;

性能相关:
  echo 0 > /proc/sys/vm/swappiness
  echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

  echo "" >> /etc/sysctl.conf
  echo "vm.swappiness=0" >> /etc/sysctl.conf
  sysctl -p

  echo "" >> /etc/rc.local
  echo "echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag" >> /etc/rc.local

【群集设置 - 审核更改】页面时:
# 使用了MySql作为hive的元数据存储,hive默认没有带mysql的驱动
  cp /opt/cm-5.5.1/share/cmf/lib/mysql-connector-java-5.1.42.jar /opt/cloudera/parcels/CDH-5.5.1-1.cdh5.5.1.p0.11/lib/hive/lib/

【群集设置 - 首次运行 命令】页面时:
  cp /opt/cm-5.5.1/share/cmf/lib/mysql-connector-java-5.1.42.jar /var/lib/oozie/

========================================================================================================================
错误:
1) Heartbeating to master:7182 failed
由于在主节点上启动了Agent后,又将Agent scp到了其他节点上导致的,首次启动Agent,它会生成一个uuid。

mv /usr/bin/host /usr/bin/host.bak
rm -rf /opt/cm-5.5.1/lib/cloudera-scm-agent/uuid

========================================================================================================================
iptables 配置:
master:
  *filter
  :INPUT ACCEPT [0:0]
  :FORWARD ACCEPT [0:0]
  :OUTPUT ACCEPT [114502:11447075]
  -A INPUT -p tcp -m tcp --dport 8088 -j ACCEPT
  -A INPUT -p tcp -m tcp --dport 50070 -j ACCEPT
  -A INPUT -p tcp -m tcp --dport 7180 -j ACCEPT
  -A INPUT -p tcp -m tcp --dport 19888 -j ACCEPT
  -A INPUT -s 10.17.172.0/24 -p tcp -j ACCEPT
  -A INPUT -p tcp -m tcp --dport 1022 -j ACCEPT
  -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  -A INPUT -p icmp -j ACCEPT
  -A INPUT -i lo -j ACCEPT
  -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
  -A INPUT -j REJECT --reject-with icmp-host-prohibited
  -A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
node[0-6]:
  *filter
  :INPUT ACCEPT [0:0]
  :FORWARD ACCEPT [0:0]
  :OUTPUT ACCEPT [249:74801]
  -A INPUT -p tcp -m tcp --dport 10000 -j ACCEPT
  -A INPUT -p tcp -m tcp --dport 8042 -j ACCEPT
  -A INPUT -s 10.17.172.0/24 -p tcp -j ACCEPT
  -A INPUT -p tcp -m tcp --dport 1022 -j ACCEPT
  -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  -A INPUT -p icmp -j ACCEPT
  -A INPUT -i lo -j ACCEPT
  -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
  -A INPUT -j REJECT --reject-with icmp-host-prohibited
  -A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

========================================================================================================================
卸载:
umount cm_processes

rpm -qa | grep cloudera
rpm -e cloudera-manager-daemons-5.5.1-1.cm551.p0.8.el6.x86_64

ps -ef | grep cmf | grep -v "grep" | awk '{print "kill -9 " $2}' | sh
ps -ef | grep java | grep -v "grep" | awk '{print "kill -9 " $2}' | sh

清理数据库数据

rm -rf /tmp/.scm_prepare_node.lock
rm -rf /tmp/scm_prepare_node
rm -rf /etc/cloudera*
rm -rf /usr/share/cmf /var/lib/cloudera* /var/cache/yum/x86_64/6/cloudera* /var/log/cloudera*
rm -rf /var/run/hadoop* /var/run/flume-ng /var/run/cloudera* /var/run/oozie/ /var/run/sqoop2
rm -rf /var/run/zookeeper /var/run/hbase /var/run/impala /var/run/hive /var/run/hdfs-sockets
rm -rf /var/lib/flume-ng /var/lib/hadoop* /var/lib/hue /var/lib/oozie /var/lib/solr /var/lib/sqoop*
rm -rf /dfs /mapred /yarn
rm -rf /data/dfs
rm -rf /usr/lib/hadoop /usr/lib/hadoop*
rm -rf /usr/lib/hive /usr/lib/hbase /usr/lib/oozie
rm -rf /usr/lib/sqoop* /usr/lib/zookeeper /usr/lib/bigtop*
rm -rf /usr/lib/flume-ng /usr/lib/hcatalog
rm -rf /usr/bin/hadoop* /usr/bin/zookeeper*
rm -rf /usr/bin/hbase* /usr/bin/hive*
rm -rf /usr/bin/hdfs /usr/bin/mapred /usr/bin/yarn /usr/bin/sqoop* /usr/bin/oozie
rm -rf /var/cache/yum/cloudera* /var/lib/zookeeper
rm -rf /opt/cm-5.5.1
rm -rf /opt/cloudera

大数据架构:搭建CDH5.5.1分布式集群环境的更多相关文章

  1. 大数据平台搭建 - cdh5.11.1 - hbase集群搭建

    一.简介 HBase是一种构建在HDFS之上的分布式.面向列的存储系统.在需要实时读写.随机访问超大规模数据集时,可以使用HBase. 尽管已经有许多数据存储和访问的策略和实现方法,但事实上大多数解决 ...

  2. 大数据平台搭建 - cdh5.11.1 - hadoop集群安装

    一.前言 由于线下测试的需要,需要在公司线下(测试)环境搭建大数据集群. 那么CDH是什么? hadoop是一个开源项目,所以很多公司再这个基础上进行商业化,不收费的hadoop版本主要有三个,分别是 ...

  3. 亿级Web系统搭建:单机到分布式集群

    亿级Web系统搭建:单机到分布式集群 当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题.为了解决这些性能压 ...

  4. Hadoop伪分布式集群环境搭建

    本教程讲述在单机环境下搭建Hadoop伪分布式集群环境,帮助初学者方便学习Hadoop相关知识. 首先安装Hadoop之前需要准备安装环境. 安装Centos6.5(64位).(操作系统再次不做过多描 ...

  5. Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境

    Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境 一.环境说明 个人理解:zookeeper可以独立搭建集群,hbase本身不能独立搭建集群需要和hadoo ...

  6. CentOS6安装各种大数据软件 第五章:Kafka集群的配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  7. Hadoop完全分布式集群环境搭建

    1. 在Apache官网下载Hadoop 下载地址:http://hadoop.apache.org/releases.html 选择对应版本的二进制文件进行下载 2.解压配置 以hadoop-2.6 ...

  8. 分布式集群环境下,如何实现session共享三(环境搭建)

    这是分布式集群环境下,如何实现session共享系列的第三篇.在上一篇:分布式集群环境下,如何实现session共享二(项目开发)中,准备好了一个通过原生态的servlet操作session的案例.本 ...

  9. Spark 1.6.1分布式集群环境搭建

    一.软件准备 scala-2.11.8.tgz spark-1.6.1-bin-hadoop2.6.tgz 二.Scala 安装 1.master 机器 (1)下载 scala-2.11.8.tgz, ...

随机推荐

  1. 2017-9-24-Linux移植:ubuntu server 16.04无法联网&无法apt-get update解决

    无法上网!!!不能忍.. 现象:ifconfig 毛都没有,想找一下ip都找不到. ifconfig –a 可以列出所有网卡设备,确认VM VirtualBox网卡开对了,已经给到了虚拟机. 编辑/e ...

  2. npm install 提示权限不足 Error: EPERM: operation not permitted, unlink XXX

    问题 使用npm install时提示权限不足 原因 这里原因有两个: 没有管理员权限访问C盘下npm路径导致下载失败. NPM官网没有下载权限. 解决方案 第一原因 这里可以使用管理员身份执行以下命 ...

  3. VS2013 C#中调用DLL

    winform界面中,使用C#编程调用DLL过程记录: (1)什么是DLL 动态链接库英文为DLL,是Dynamic Link Library 的缩写形式,DLL 是一个包含可由多个程序同时使用的代码 ...

  4. BZOJ3655 : 神经错乱数

    注意到前3个操作都不会影响每列的情况,而第4个操作必然会将行列交换,故只要每行的和相同即可满足条件. 考虑数位DP,设$f[i][j][k][t]$表示考虑最高的$i$位,第一行的和是$j$,当前行的 ...

  5. Mr. Rito Post Office [Aizu-2200] [图论] [DP]

    题意:你是某个岛国(ACM-ICPC Japan )上的一个苦逼程序员,你有一个当邮递员的好基友利腾桑遇到麻烦了:全岛有一些镇子通过水路和旱路相连,走水路必须要用船,在X处下船了船就停在X处.而且岛上 ...

  6. Java 多线程 高可用原则

    高可用原则 1 降级 降级开关的设计思路如下: 1. 集中管理开关:把开关推送到各个应用. 2. 可降级的多级读服务:比如服务调用降级为只读本地缓存.只读分布式缓存.只读默认降级数据(如库存状态默认有 ...

  7. Java WebSocket HttpSession与WebSocket Session的关联

    当HttpSession中止(通过显示地失效或超时)时,Web容器会把HttpSession属性从HttpSession中清除. javax.servlet.http.HttpSessionBindi ...

  8. vue的生命周期(又称钩子函数)----以及vue1.0版本与vue2.0版本生命周期的不同

    vue生命周期 1. vue1.0版本与vue2.0版本生命周期的不同 vue1.0版本生命周期图示 图1  vue1.0版本生命周期 vue1.0版本的生命周期: init 实例创建之前 creat ...

  9. Python中将array类型不按科学计数法存在文件中的方法

    直接上代码: from numpy import *import numpy as npDrug_array = zeros((708,708),dtype = int)f = open('D:\ma ...

  10. GMA Round 1 函数求值

    传送门 函数求值 设函数$f(x)=x^{2018}+a_{2017}*x^{2017}+a_{2016}*x^{2016}+...+a_{2}*x^2+a_{1}*x+a_{0}$,其中$a_{0} ...