CDH单机版搭建

1.centos7查看ip命令

先将/etc/sysconfig/network-scripts/ifcfg-eno16777736下的

ONBOOT=no改为:ONBOOT=yes

重启服务 service network restart

用ip addr 方式查看

CDH单机版搭建_第1张图片

2.设置静态ip:

参考地址:https://www.cnblogs.com/hongdada/p/6666932.html

vim /etc/sysconfig/network-scripts/ifcfg-eno16777736

#static assignment

NM_CONTROLLED=no #表示该接口将通过该配置文件进行设置,而不是通过网络管理器进行管理

ONBOOT=yes #开机启动

BOOTPROTO=static #静态IP

IPADDR=192.168.110.128 #本机地址

NETMASK=255.255.255.0 #子网掩码

GATEWAY=192.168.110.1 #默认网关

CDH单机版搭建_第2张图片

修改/etc/sysconfig/network

# Created by anaconda

NETWORKING=yes

GATEWAY=192.168.110.1

DNS1=119.29.29.29

DNS2=182.254.116.116

service network restart

3.更改yum源:

确保有wget命令 没有的话yum install wget

首先我们将原来的源进行备份

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

接下来我们用阿里源进行替换:

wget -O/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

过程可能会很长,y输入然后一直继续。

至此,yum源更新完毕。

4.java

准备工作卸载系统自带OPEN-JDK(所有节点)

安装好的Centos系统有时会自动安装OpenJdk,用命令java -version查看:

  1. java version "1.6.0"
  2. OpenJDK Runtime Environment (build 1.6.0-b09)
  3. OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)

复制代码

 

如有上述显示,说明系统里已经有OpenJdk,执行以下命令查看系统中有哪些OpenJdk相关包:

  1. rpm -qa | grep java

复制代码

 

其中有如下包必须卸载,根据系统版本不同,各个包版本号会有所差异: java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64 java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64 java-1.6.0-openjdk-devel-1.6.0.0-1.66.1.13.0.el6.x86_64 执行以下命令,卸载:

 

  1. rpm -e --nodeps java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64
  2. rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

rpm -e --nodeps java-1.6.0-openjdk-devel-1.6.0.0-1.66.1.13.0.el6.x86_64安装JDK(所有节点)

上传jdk到新建目录下 mkdir /opt/softzip

解压: cd /opt/softzip

tar xzvf jdk-7u79-linux-x64.tar.gz -C /opt/

配置环境变量: vim /etc/profile

#jdk

export JAVA_HOME= /opt/jdk1.7.0_79

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

通过source /etc/profile更新,用java javac验证

5.更改hostname

vi /etc/hostname

去掉原来的,改为mster.hadoop,保存退出

输入hostname查看

修改完成

6.防火墙

一般有两种防火墙,firewalld和iptables

Firewalld

查看防火墙状态: systemctl status firewalld.service

绿的running表示防火墙开启

执行关闭命令: systemctl stop firewalld.service

再次执行查看防火墙命令:systemctl status firewalld.service

执行开机禁用防火墙自启命令  : systemctl disable firewalld.service

Iptables

servcie iptables stop                 --临时关闭防火墙

chkconfig iptables off          --永久关闭防火墙

service iptables status          --查看防火墙状态

 

7.mysql

参考:https://blog.csdn.net/qq_38417808/article/details/81291588

 

1.rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm #下载

 

2.yum install yum-utils -y #装源

 

3.yum-config-manager --disable mysql56-community   # 禁用MySQL5.6的源

 

4.yum-config-manager --enable mysql57-community-dmr # 启用MySQL5.7的源

 

5.yum repolist enabled | grep mysql

 

6.yum install mysql-community-server  #安装mysql

 

到这里时有些会报一下错

 

错误显示:

 

软件包:mysql-community-server-5.7.20-1.el6.x86_64 (mysql57-community)

 

需要:libsasl2.so.2()(64bit)

 

您可以尝试添加 --skip-broken 选项来解决该问题

 

您可以尝试执行:rpm -Va --nofiles --nodigest

 

解决方法:

 

修改vim /etc/yum.repos.d/mysql-community.repo 源文件

 

[mysql57-community]

 

name=MySQL 5.7 Community Server

 

## baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/   

 

baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/

 

enabled=1

 

gpgcheck=0

 

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql   

 

7.yum install mysql-community-server  #再次安装mysql

 

8.systemctl  start mysqld         #启动mysql

9.systemctl  status mysqld      #查看mysql启动状态

6)查看root临时密码 grep 'temporary password' /var/log/mysqld.log

7)第一次登入 mysql -u root -p 输入上面的 root@localhost: t*QgC8kUKBk* 中的 t*QgC8kUKBk*

8)修改密码 alter user 'root'@'localhost' identified by 'Hadoop2!';

9)授权远程访问

grant all privileges on *.* to root@'%' identified by 'Hadoop2!' with grant option;

10mysql 的几个重要目录

a)数据库目录 /var/lib/mysql/

b)配置文件 /usr/share/mysql (mysql.server命令及配置文件)

c)相关命令 /user/lib/mysqladmin mysqldump等命令)

d)启动脚本 /etc/rc.d/init.d/ (启动脚本文件mysql的目录)

11)查看3306端口是否起来 netstat -nplt | grep 3306

修改mysql配置文件

默认位置:/etc/my.cnf

进入etc文件夹>>vim my.cnf

* 我的mysql没有[client]这个字段,首先添加上,在[client]段增加下面代码default-character-set=utf8(网上还有提到其他的设置语句,是以前的版本,现在不用了)

* [mysqld]段增加下面的代码

character-set-server=utf8

collation-server=utf8_general_ci

:wq! #保存退出

* service mysqld restart #重启MySQL

* 查看当前mysql运行状态

mysql>status

此时所有编码应该都是UTF-8

 

 

本次安装需要创建如下数据库(不包括Cloudera Manager的数据库,Cloudera Manager数据库有相关脚本创建,后面会有说明)

--hive数据库

create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

--集群监控数据库

create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

--hue数据库

create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

复制代码

 

以上数据库,可能会根据安装组件的不同略有差别。 给用户授权(这里密码设为hadoop

grant all on *.* to root@"%" Identified by "Hadoop2!";

8.配置cloudera

解压cloudera-manager-centos7-cm5.10.0_x86_64.tar.gz

cd /opt/softzip

tar -zxvf cloudera-manager-centos7-cm5.10.0_x86_64.tar.gz -C ../

拷贝parcel

cd /opt/cloudera/parcel-repo

cp ../../softzip/CDH-5.10.0-1.cdh5.10.0.p0.41-el7.parcel ./

cp ../../softzip/CDH-5.10.0-1.cdh5.10.0.p0.41-el7.parcel.sha ./

 

配置scm账号 useradd --system --home-dir /opt/cm-5.10.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

 

将对应的mysql-connect*.jar上传到/opt/cm-5.10.0/share/cmf/lib/

配置scm数据库:/opt/cm-5.10.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -pHadoop2! --scm-host localhost scm Hadoop2!opt/cm-5.10.0/share/cmf/lib/

执行成功后会提示  全部完成后,您的SCM数据库配置正确!

CDH单机版搭建_第3张图片

 

启动

如果遇到/opt/cm-5.10.0/etc/init.d/cloudera-scm-server:109: pstree: 未找到命令

原因:因为系统是最小化安装,默认没有安装

 

解决:安装psmisc   # yum -y install psmisc

 

Caused by: java.net.UnknownHostException: master.hadoop

解决:配置映射 /etc/hosts

 

选择parcel时要注意对应/opt/cloudera/parcel-repo的版本

 

解决hue连不上Unexpected error. Unable to verify database connection.

https://www.cnblogs.com/pojishou/archive/2017/01/12/6267616.html

yum install -y python-lxml

 

因为只有一台服务器,所以需要设置dfs.replication1

 

Hiveoozie时起不来的,需要配置jdbcjar

cp /opt/cm-5.10.0/share/cmf/lib/mysql-connector-java-5.1.46-bin.jar /opt/cloudera/parcels/CDH-5.10.0-1.cdh5.10.0.p0.41/lib/hive/lib/

 

cp /opt/cm-5.10.0/share/cmf/lib/mysql-connector-java-5.1.46-bin.jar /opt/cloudera/parcels/CDH-5.10.0-1.cdh5.10.0.p0.41/lib/oozie/lib

 

cp /opt/cm-5.10.0/share/cmf/lib/mysql-connector-java-5.1.45.jar /var/lib/oozie/

 

hivemetastore报错:

javax.jdo.JDODataStoreException: Required table missing : "`VERSION`" in Catalog "" Schema "". DataNucleus requires this table to perform its persistence operations. Either your MetaData is incorrect, or you need to enable "datanucleus.autoCreateTables"

解决:

添加配置

  1. <property>
  2.     <name>datanucleus.autoCreateTablesname>
  3.     <value>truevalue>
  4. property>
  5. 参考:https://blog.csdn.net/l1028386804/article/details/51566262

CDH单机版搭建_第4张图片

Oozie报错:

 
REASON: org.apache.oozie.service.ServiceException: E0103: Could not load service classes, Cannot create PoolableConnectionFactory (Table 'oozie.VALIDATE_CONN' doesn't exist)
参考文档:https://blog.csdn.net/u013198788/article/details/83821802
 
  
 
9.添加kafka
下载对应parcel
 
  
添加服务
 
  
配置bootstrap
填写Destination Brokers List 

若添加了Kafka MirrorMaker则可填写其所在节点构成的列表,若未添加Kafka MirrorMaker,可填写任意服务器即可,如下:master.hadoop:9092

2填写Source Brokers List 

填写Kafka Broker所在节点构成的列表(用逗号分隔),如下(我在所有节点部署了Kafka Brokermaster.hadoop:9092
 遇到异常:
whitelist must be specified when using new consumer in mirror maker.
查看Kafka Broker的stdout.log日志,发现:

# java.lang.OutOfMemoryError: Java heap space

# -XX:OnOutOfMemoryError="/opt/cm-5.10.0/lib64/cmf/service/common/killparent.sh"

#   Executing /bin/sh -c "/opt/cm-5.10.0/lib64/cmf/service/common/killparent.sh"...

参考资料:https://blog.csdn.net/qq_28423433/article/details/80067009
原因:这是因为 Java Heap size of Broker这个选项默认配置是 50M ,需要将其修改成 256M 或者 更多,这里修改成 1G ,保存配置后,在启动kafka集群即可.
 
  
改为500M
Kafka MirrorMaker遇到错误:
whitelist must be specified when using new consumer in mirror maker
 
  
然后重启,kafka启动成功
 
10.phoenix
http://archive.apache.org/dist/phoenix/
根据maven配置,找4.9.0-cdh5.10.0
 
配置和hbase集成
cd /opt/apache-phoenix-4.9.0-HBase-1.2-bin/
p phoenix-4.9.0-HBase-1.2-server.jar /opt/cloudera/parcels/CDH-5.10.0-1.cdh5.10.0.p0.41/lib/hbase/lib/
hbase-site配置
 
  
保存更改,重启hbase服务
进入到phoenix的bin目录下
cd /opt/apache-phoenix-4.9.0-HBase-1.2-bin/bin
需要拷贝hbase-site到phoenix :cp /etc/hbase/conf/hbase-site.xml ./
进入控制台:./sqlline.py master.hadoop:2181
(后者为zookeeper服务)
启动有可能会遇到无响应,退出时如下:

Traceback (most recent call last):

  File "./sqlline.py", line 27, in

    import argparse

ImportError: No module named argparse

解决办法:yum install python-argparse -y
https://www.cnblogs.com/zlslch/p/7409852.html
 
最终解决:将cdh版本的server和core都拷贝到对应的/lib/hbase/lib下,重启hbase,连接成功(不需要改phoenix下的hbase-site.xml)
 
 
 
拷贝需要的jar到hive目录下
cd /opt/apache-phoenix-4.9.0-HBase-1.2-bin/
cp phoenix-hive-4.9.0-HBase-1.2.jar /etc/hive/auxlib/
cp phoenix-core-4.9.0-HBase-1.2.jar /etc/hive/auxlib/
cp phoenix-4.9.0-HBase-1.2-hive.jar /etc/hive/auxlib/
 
 

你可能感兴趣的:(CDH)