CDH 演示
国内大数据发行版: 星环科技http://www.transwarp.cn/ 华为
impala 基于内存计算。 spark不绝对基于内存计算,可以配置为完全基于内存计算。 CDH : 整合技术,依赖版本。部署和管理,日志分析和健康检查
搭建CDH环境 三台虚拟机 宿主机window操作系统硬件要求 16G内存。 [root@node20 .ssh]# cat /etc/hosts 192.168.112.120 node20 192.168.112.121 node21 192.168.112.122 node22 其中node20作为server 8G内存。node21,22各自2G.window操作系统4G. 配置三台主机的免密登录 [root@node20 .ssh]# ssh-keygen -t rsa -P '' -f ./id_rsa [root@node21 .ssh]# ssh-keygen -t rsa -P '' -f ./id_rsa [root@node22 .ssh]# ssh-keygen -t rsa -P '' -f ./id_rsa [root@node20 .ssh]# cat id_rsa.pub >> authorized_keys [root@node21 .ssh]# cp id_rsa.pub id_rsa.pub.21 [root@node21 .ssh]# scp id_rsa.pub.21 node20:`pwd [root@node22 .ssh]# cp id_rsa.pub id_rsa.pub.22 [root@node22 .ssh]# scp id_rsa.pub.22 node20:`pwd` [root@node20 .ssh]# cat id_rsa.pub.21 >> authorized_keys [root@node20 .ssh]# cat id_rsa.pub.22 >> authorized_keys ##如上,A 的id_rsa.pub 写入到B的authorized_keys文件中后,A 可以远程免密登录B. 这里authorized_keys 收集了20,21,22的.pub文件内容。分发给node20,21,22. 一般到公司了需要各自单独生成。不能取巧。
配置JDK环境变量 export JAVA_HOME=/usr/java/jdk1.8.0_221 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$PATH [root@node20 ~]# . /etc/profile
系统环境准备 1、网络配置 vi /etc/sysconfig/network vi /etc/hosts 2、SSH免密钥登录 ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa ssh-copy-id 3、防火墙关闭 service iptables stop chkconfig iptables off 4、SELINUX关闭 setenforce 0 vi /etc/selinux/config (SELINUX=disabled) 5、安装JDK配置环境变量 export JAVA_HOME=/usr/java/jdk1.7.0_67 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 6、安装NTP 设置开机启动 chkconfig ntpd on 设置时间同步 ntpdate 202.120.2.101 7、安装配置mysql yum install mysql-server GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION; flush privileges 8、下载第三方依赖包 chkconfig、python、bind-utils、psmisc、libxslt、zlib、sqlite、cyrus-sasl-plain、 cyrus-sasl-gssapi、fuse、fuse-libs、redhat-lsb
mysql 安装参考: https://www.cnblogs.com/xhzd/p/11427481.html mysql yum install -y chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
http://archive.cloudera.com/cdh5/parcels/ http://archive.cloudera.com/
mysql jar包必须改名为 拷贝mysql jar文件到目录 /usr/share/java/ 注意jar包名称要修改为mysql-connector-java.jar 下载好文件CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel以及manifest.json,将这两个文件放到server节点的/opt/cloudera/parcel-repo下。 打开manifest.json文件,里面是json格式的配置,找到与下载版本相对应的hash码,新建文件,文件名与你的parel包名一致,并加上.sha后缀,将hash码复制到文件中保存。
7、后台下载 #wget -b http://domain/file 后台下载时,会在当前目录中产生wget-log文件 root@kali:~# wget -b https://curl.haxx.se/download/curl-7.54.1.zip 继续在后台运行,pid 为 6705。 将把输出写入至 “wget-log”。
下载与我的操作系统对应的CentOS7 的CDH [root@node20 install]# cat ./wget_cdh.sh wget -b http://archive.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.5.0_x86_64.tar.gz wget -b http://archive.cloudera.com/cdh5/parcels/5.5.0/CDH-5.5.0-1.cdh5.5.0.p0.8-el7.parcel wget -b http://archive.cloudera.com/cdh5/parcels/5.5.0/CDH-5.5.0-1.cdh5.5.0.p0.8-el7.parcel.sha1 wget -b http://archive.cloudera.com/cdh5/parcels/5.5.0/manifest.json
[root@node20 cloudera-manager]# cat /etc/hosts 192.168.112.120 node20 server agent mysql 192.168.112.121 node21 agent 192.168.112.122 node22 agent ClouderaManager安装重要步骤说明 1、安装Cloudera Manager Server、Agent mkdir /opt/cloudera-manager ## 三个节点上 tar xvzf cloudera-manager*.tar.gz -C /opt/cloudera-manager 2、创建用户cloudera-scm useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm 3、配置CM Agent 修改文件/opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini中server_host 4、配置CM Server数据库 拷贝mysql jar文件到目录 /usr/share/java/ 注意jar包名称要修改为mysql-connector-java.jar grant all on *.* to 'temp'@'%' identified by 'temp' with grant option; cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema/ ./scm_prepare_database.sh mysql temp -h node01 -utemp -ptemp --scm-host node01 scm scm scm 格式:数据库类型、数据库、数据库服务器、用户名、密码、cm server服务器 5、创建Parcel目录 Server节点 mkdir -p /opt/cloudera/parcel-repo chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo Agent节点 mkdir -p /opt/cloudera/parcels chown cloudera-scm:cloudera-scm /opt/cloudera/parcels 6、制作CDH本地源 下载好文件CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel以及manifest.json,将这两个文件放到server节点的/opt/cloudera/parcel-repo下。 打开manifest.json文件,里面是json格式的配置,找到与下载版本相对应的hash码,新建文件,文件名与你的parel包名一致,并加上.sha后缀,将hash码复制到文件中保存。 7、启动CM Server、Agent cd /opt/cloudera-manager/cm-5.4.3/etc/init.d/ ./cloudera-scm-server start Sever首次启动会自动创建表以及数据,不要立即关闭或重启,否则需要删除所有表及数据重新安装 ./cloudera-scm-agent start 访问:http://ManagerHost:7180, 用户名、密码:admin 若可以访问,则CM安装成功。
实际操作: [root@node20 cloudera-manager]# cat /etc/hosts 192.168.112.120 node20 server agent mysql 192.168.112.121 node21 agent 192.168.112.122 node22 agent 三个节点: mkdir /opt/cloudera-manager ## node20 tar zxvf cloudera-manager-centos7-cm5.5.0_x86_64.tar.gz -C /opt/cloudera-manager/ useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm ## 三个节点 390 cd /opt/cloudera-manager/cm-5.5.0/etc/cloudera-scm-agent/ 399 vi config.ini server_host=node20 404 cd /usr/share/ 406 mkdir java 407 cd java/ 409 cp ~/install/mysql-connector-java-5.1.26-bin.jar ./ 410 mv mysql-connector-java-5.1.26-bin.jar mysql-connector-java.jar 412 mysql -uroot -p #创建mysql用户 grant all on *.* to 'temp'@'%' identified by 'temp' with grant option; 413 cd /opt/cloudera-manager/cm-5.5.0/share/cmf/schema/ 415 ./scm_prepare_database.sh mysql temp -h node20 -utemp -ptemp --scm-host node20 scm scm scm ## 创建表配置 419 mkdir -p /opt/cloudera/parcel-repo 423 chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo 427 mkdir -p /opt/cloudera/parcels ## 三个节点 428 chown cloudera-scm:cloudera-scm /opt/cloudera/parcels 429 cd /opt/cloudera/parcel-repo/ 432 cp ~/install/CDH-5.5.0-1.cdh5.5.0.p0.8-el7.parcel ./ 434 cd /opt/cloudera-manager/ 438 scp -r ./* node21:`pwd` 438 scp -r ./* node22:`pwd`
### grant all on *.* to 'temp'@'%' identified by 'temp' with grant option; 报错时参考。
mysql 密码校验策略修改: [root@node20 schema]# mysql -uroot -p grant all on *.* to 'temp'@'%' identified by 'temp' with grant option; Your password does not satisfy the current policy requirements 参考:https://www.cnblogs.com/ivictor/p/5142809.html mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+-------+ | Variable_name | Value | +--------------------------------------+-------+ | validate_password_check_user_name | OFF | | validate_password_dictionary_file | | | validate_password_length | 6 | | validate_password_mixed_case_count | 0 | | validate_password_number_count | 0 | | validate_password_policy | LOW | | validate_password_special_char_count | 0 | +--------------------------------------+-------+ ## validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count) ##把对应的参数设置为0 mysql> set global validate_password_special_char_count=0; Query OK, 0 rows affected (0.00 sec) mysql> set global validate_password_number_count=0; mysql> set global validate_password_length=0; mysql> grant all on *.* to 'temp'@'%' identified by 'temp' with grant option; Query OK, 0 rows affected, 1 warning (0.00 sec)
[root@node20 init.d]# cd /opt/cloudera-manager/cm-5.5.0/etc/init.d [root@node21 init.d]# cd /opt/cloudera-manager/cm-5.5.0/etc/init.d [root@node22 init.d]# cd /opt/cloudera-manager/cm-5.5.0/etc/init.d [root@node20 init.d]# ./cloudera-scm-server start Starting cloudera-scm-server: [ OK ] [root@node20 init.d]# ./cloudera-scm-agent start ## node21 node22也启动agent Starting cloudera-scm-agent: [ OK ] [root@node20 cloudera-scm-server]# pwd /opt/cloudera-manager/cm-5.5.0/log/cloudera-scm-server [root@node20 cloudera-scm-server]# ls ## 查看日志文件 cloudera-scm-server.log cloudera-scm-server.out [root@node20 cloudera-scm-server]# ls ./../c cloudera-scm-agent/ cloudera-scm-server/ cmf/ [root@node20 cloudera-scm-server]# tail -f cloudera-scm-server.log ## 查看到如下内容,启动成功 2019-09-07 11:26:25,699 INFO ParcelUpdateService:com.cloudera.parcel.components.LocalParcelManagerImpl: Discovered parcel on CM server: CDH-5.5.0-1.cdh5.5.0.p0.8-el7.parcel 2019-09-07 11:26:25,980 INFO WebServerImpl:org.mortbay.log: jetty-6.1.26.cloudera.4 2019-09-07 11:26:25,982 INFO WebServerImpl:org.mortbay.log: Started SelectChannelConnector@0.0.0.0:7180 2019-09-07 11:26:25,982 INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server. window 电脑配置 C:\Windows\System32\drivers\etc\hosts 192.168.112.120 node20 192.168.112.121 node21 192.168.112.122 node22 http://node20:7180/cmf/login admin admin
选择免费版本第二项
## 第一个错误 [root@node20 ~]# echo 0 > /proc/sys/vm/swappiness ## 三台都修改(由于是proc下的文件,不能用vi修改只能用echo)
第二个错误 [root@node20 transparent_hugepage]# echo never > /sys/kernel/mm/transparent_hugepage/defrag [root@node20 transparent_hugepage]# echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' > /etc/rc.local
修改错误点击重新运行。
刚进入此页面时,会看到很多红色的提醒和错误。需要耐心等待一段时间。等到上报心跳内容。我等了1个小时之后再来看就如下图不在报红色错误了。
报错太多,可以配置ntp时间服务器。同步集群中的所有主机的时间 https://my.oschina.net/u/3754001/blog/3012553
一般大公司会存在多个集群。离线仓储 hbase集群,离线计算集群。
添加hive服务实例
在mysql中初始化hive数据库和账户 mysql> create database hive DEFAULT CHARACTER SET utf8; Query OK, 1 row affected (0.15 sec) mysql> grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive'; Query OK, 0 rows affected, 1 warning (0.44 sec)
如下从1.x secondaryNN 提升为2.x HA ; 暂时不真实配置。 配置完成,生效需要重启服务的实例。
hdfs配置页面如下
图表生成器,点击右侧出来右侧的帮助。
添加Hue服务的实例