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服务的实例

  

 

posted @ 2019-09-04 23:37  星回中道  阅读(467)  评论(0编辑  收藏  举报