CDH5.3.3安装(hadoop集群)

2024-06-11 08:08
文章标签 集群 安装 hadoop cdh5.3

本文主要是介绍CDH5.3.3安装(hadoop集群),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Cloudera Manager提供两种软件包安装源,Package 和 Parcel:
Package就是一个个rpm文件,以yum的方式组织起来。
Parcel是rpm包的压缩格式,以.parcel结尾,所有的rpm压缩在一个文件中,方便下载和分发,使用manifest.json文件对parcel文件进行描述,将parcel文件保存到局域网内的Web服务器上,安装过程中就不需要从互联网上下载文件了,实现了离线安装。

(1) 版本含义介绍:
https://ccp.cloudera.com/display/DOC/CDH+Version+and+Packaging+Information
(2)各版本特性查看:
https://ccp.cloudera.com/display/DOC/CDH+Packaging+Information+for+Previous+Releases
(3)Cloudera Manager下载地址
http://archive.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.3.3_x86_64.tar.gz

(4)parcel包,manifest.json文件下载地址
http://archive.cloudera.com/cdh5/parcels/latest/
(5)mysql安装设置
http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/cm_ig_mysql.html
(6)MySqlJDBC驱动
http://dev.mysql.com/downloads/connector/j/

Mysql的版本与Mysql JDBC驱动版本对应情况
    Connector/J 5.1 支持Mysql 4.1、Mysql 5.0、Mysql 5.1、Mysql 6.0 alpha这些版本。
    Connector/J 5.0 支持MySQL 4.1、MySQL 5.0 servers、distributed transaction (XA)。
    Connector/J 3.1 支持MySQL 4.1、MySQL 5.0 servers、MySQL 5.0 except distributed transaction (XA) support。
    Connector/J 3.0 支持MySQL 3.x or MySQL 4.1。
(7)jdk
http://www.oracle.com/technetwork/java/javase/downloads/index.html

环境:centos6.5
===============================================================================================================================

安装VNC

rpm -ivh tigervnc-1.1.0-5.el6_4.1.x86_64.rpm
rpm -ivh tigervnc-server-1.1.0-5.el6_4.1.x86_64.rpm

vi /etc/sysconfig/vncservers
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -localhost"

vncserver

vi /root/.vnc/xstartup
#twm &
gnome-session &

===============================================================================================================================

1、配置网络(所有节点)
vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.100   hadoop1
192.168.10.101   hadoop2
192.168.10.102   hadoop3

===============================================================================================================================

2、SSH无密码验证配置(所有节点)

<hadoop1 node>
ssh-keygen -t rsa -P ''
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
chmod 600 $HOME/.ssh/authorized_keys
ssh localhost
ssh hadoop1

scp $HOME/.ssh/authorized_keys root@hadoop2:$HOME/.ssh/

<hadoop2 node>
ssh-keygen -t rsa -P ''
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

scp $HOME/.ssh/authorized_keys root@hadoop3:$HOME/.ssh/

<hadoop3 node>
ssh-keygen -t rsa -P ''
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

scp $HOME/.ssh/authorized_keys root@hadoop1:$HOME/.ssh/
scp $HOME/.ssh/authorized_keys root@hadoop2:$HOME/.ssh/
===============================================================================================================================

3、卸载系统自带OPEN-JDK,安装oracle的java(所有节点)
rpm -qa|grep java
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.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
rpm -e --allmatches --nodeps tzdata-java-2013g-1.el6.noarch

rpm -ivh jdk-7u75-linux-x64.rpm
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_75
export JRE_HOME=/usr/java/jdk1.7.0_75/jre
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

source /etc/profile
echo "JAVA_HOME=/usr/java/latest" >> /etc/environment
=============================================================================================================================

4、关闭防火墙(所有节点)
(临时关闭)
service iptables stop
(重启后生效)
chkconfig iptables off

SELINUX:
(临时生效)
setenforce 0
修改/etc/selinux/config下的SELINUX=disabled (重启后永久生效)
===========================================================================================================================

5、所有节点配置NTP服务,所有datanode节点以master节点为基础同步时间
安装包:

ntpdate-4.2.6p5-1.el6.centos.x86_64
ntp-4.2.6p5-1.el6.centos.x86_64
--------------------------------------------------------------------
<master>
vi /etc/ntp.conf
restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap
server 127.127.1.0
fudge  127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
keys /etc/ntp/keys
includefile /etc/ntp/crypto/pw
restrict 127.0.0.1
restrict -6 ::1
---------------------------------------------------------------------
<datanode>
restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap
restrict default kod nomodify notrap nopeernoquery
restrict -6 default kod nomodify notrapnopeer noquery
server hadoop1 prefer
fudge  127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
keys /etc/ntp/keys
restrict 127.0.0.1
restrict -6 ::1
===========================================================================================================================

6、mysql数据库配置安装(master节点),使用嵌入式数据库存在性能问题

mysql5.5以后是通过cmake来编译
tar -zxvf cmake-3.2.1.tar.gz
cd cmake-3.2.1
./configure
make
make install

rpm -qa|grep ncurses-devel
rpm -ivh ncurses-devel-5.7-3.20090208.el6.x86_64.rpm

groupadd mysql
useradd mysql -g mysql -M -s /sbin/nologin
mkdir -p /usr/local/mysql
mkdir -p /usr/local/mysql/data
cd /soft
tar -zxvf mysql-5.6.24.tar.gz
chown -R root:root mysql-5.6.24
cd mysql-5.6.24
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

make
make install

cd /usr/local/mysql
chown -R mysql:mysql .
chmod -R ug+rwx  /usr/local/mysql/data
scripts/mysql_install_db --datadir=/usr/local/mysql/data --user=mysql

 

vi /root/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
source /root/.bash_profile

vi /etc/my.cnf
#[mysqld] 下面添加:
[mysqld]
port=3306
socket=/tmp/mysqld.sock
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
default-storage-engine=MyISAM
explicit_defaults_for_timestamp=true
federated
character-set-server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
server-id=1
#log_bin=/tmp/1.000001
#slow_query_log=1
#slow_query_log_file=/tmp/mysqlslow.log1
#general_log=1
#general_log_file=/tmp/mysqlgen.log
innodb_log_files_in_group=1
[client]
port=3306
socket=/tmp/mysqld.sock
#user=root
#password=hadoop

cp support-files/mysql.server  /etc/init.d/mysql
chmod 755 /etc/init.d/mysql
vi /etc/init.d/mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
chkconfig --add mysql
chkconfig --list mysql
chkconfig  mysql on

----------------------------------------------------------------------------------------------------------

官方建议设置:

Here is an option file with Cloudera recommended settings:
[mysqld]
transaction-isolation = READ-COMMITTED
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links = 0

key_buffer = 16M
key_buffer_size = 32M
max_allowed_packet = 32M
thread_stack = 256K
thread_cache_size = 64
query_cache_limit = 8M
query_cache_size = 64M
query_cache_type = 1

max_connections = 550

#log_bin should be on a disk with enough free space. Replace '/var/lib/mysql/mysql_binary_log' with an appropriate path for your system and chown the specified folder to the mysql user.
#log_bin=/var/lib/mysql/mysql_binary_log
#expire_logs_days = 10
#max_binlog_size = 100M

# For MySQL version 5.1.8 or later. Comment out binlog_format for older versions.
binlog_format = mixed

read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M

# InnoDB settings
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit  = 2
innodb_log_buffer_size = 64M
innodb_buffer_pool_size = 4G
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_log_file_size = 512M

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
-----------------------------------------------------------------------------------------------
Note: If you already have the JDBC driver installed on the hosts that need it, you can skip this section. However, MySQL 5.6 requires a driver version 5.1.26 or higher.
===========================================================================================================================

7、创建数据库(master节点)
--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)
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hadoop';  //为root添加远程连接的能力。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'hadoop1' IDENTIFIED BY 'hadoop';
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'hadoop';
mysql>use mysql
mysql>update user set Password = password('hadoop') where User='root';
mysql>select Host,User,Password  from user where User='root'; 
mysql>flush privileges;

===========================================================================================================================

8、安装Cloudera Manager 5(cm5)和Agent,master节点安装

根据自己的系统选择相应的版本,本次安装选用的是cloudera-manager-el6-cm5.3.3_x86_64.tar.gz。
下载完成后只上传到master节点即可。然后解压到/opt目录下,不能解压到其他地方,因为cdh5的源会默认在/opt/cloudera/parcel-repo寻找。给所有节点添加cloudera-scm用户:

tar -zxvf /soft/cloudera-manager-el6-cm5.3.3_x86_64.tar.gz
解压后将cm-5.3.3和cloudera文件夹转移到/opt目录
mv cm-5.3.3/ /opt
mv cloudera /opt/
chown -R root:root /opt/cm-5.3.3
chown -R root:root /opt/cloudera


为Cloudera Manager 5建立数据库:
首先将mysql-connector-java-5.1.33.jar放到/opt/cm-5.3.3/share/cmf/lib/目录下
cp /soft/mysql-connector-java-5.1.33.jar /opt/cm-5.3.3/share/cmf/lib/

给所有节点添加cloudera-scm用户:
useradd --system --home=/opt/cm-5.3.3/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

Agent配置:
修改/opt/cm-5.3.3/etc/cloudera-scm-agent/config.ini的server_host为主节点的主机名
server_host=hadoop1


准备Parcels,用以安装CDH5(配置源文件)
将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中(若无parcel-repo目录需要手动创建)
cd /soft
mv manifest.json /opt/cloudera/parcel-repo/
mv CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1 /opt/cloudera/parcel-repo/
mv CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel /opt/cloudera/parcel-repo/

打开manifest.json文件,里面是json格式的配置,我们需要的就是与我们系统版本相对应的hash码,因为我们用的是Centos6.5,所以找到如下位置
"parcelName": "CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel"
在这个大括号的最下面找到“hash”所对应的值
"hash": "d25348a155e18e554de70068a319bbd7930c070a"
将“hash”的值复制下来,然后创建一个文件,文件名与你的parel包名一致,并加上.sha后缀。


将下载的CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1,重命名为CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha即可
cd /opt/cloudera/parcel-repo/
mv CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1 CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha

同步Agent到其他节点
scp -r /opt/cm-5.3.3 root@hadoop2:/opt/
scp -r /opt/cm-5.3.3 root@hadoop3:/opt/

在主节点初始化CM5的数据库:
/opt/cm-5.3.3/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -phadoop --scm-host localhost scm scm scm
格式是:scm_prepare_database.sh 数据库类型  数据库 服务器 用户名 密码  –scm-host  Cloudera_Manager_Server所在的机器

相关启动脚本
通过/opt/cm-5.3.3/etc/init.d/cloudera-scm-server start启动服务端。
通过/opt/cm-5.3.3/etc/init.d/cloudera-scm-agent start启动Agent服务。
我们启动的其实是个service脚本,需要停止服务将以上的start参数改为stop就可以了,重启是restart。

1. 在namenode启动server和agent( 主节点也是要做到集群中的, 所以主节点也要开启Agent ) 
/opt/cm-5.3.3/etc/init.d/cloudera-scm-server start
/opt/cm-5.3.3/etc/init.d/cloudera-scm-agent start
2. 在所有datanode启动agent
/opt/cm-5.3.3/etc/init.d/cloudera-scm-agent start

Cloudera Manager Server和Agent都启动以后,就可以进行CDH5的安装配置了。
这时可以通过浏览器访问主节点的7180端口测试一下了(由于CM Server的启动需要花点时间,这里可能要等待一会才能访问),默认的用户名和密码均为admin
http://192.168.10.100:7180

在局域网内访问: http://192.168.10.100:7180/cmf/login
默认帐号和密码:admin

 

如下三个版本:
 Clouder Express:
 免费版,长期使用 
Clouder Enterprise试用版:
 试用60天
Clouder Enterprise:
 需要上传授权许可
 如上我们选择的是Clouder Express版

 

选择需要部署的机器
这里需要说明的是指定主机安装有多种方式:
 1.直接列出ip或则host,多台以逗号、分号、制表符、空格或放置在单独的行。
 2.指定ip的地址范围例如:10.1.1.[1-4] 或则 host[1-3].company.com.3.记得指定的主机需要关闭防火墙,(如果遇到不能安装,最好使用安装cloudera manager虚拟机进行复制)

选择安装包

部署完成

接下来是服务器检查,可能会遇到以下问题:
Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。您可以继续进行安装,但可能会遇到问题,Cloudera Manager 报告您的主机由于交换运行状况不佳。以下主机受到影响:
通过echo 0 > /proc/sys/vm/swappiness即可解决。
echo "vm.swappiness = 0" >> /etc/sysctl.conf

 

选择安装服务

 

服务配置,一般情况下保持默认就可以了(Cloudera Manager会根据机器的配置自动进行配置,如果需要特殊调整,自行进行设置就可以了)

 

hive元数据库配置

 

配置参数

 

集群安装完成

 

 


 

 

附:中间安装报错解决

执行错误:
[root@hadoop1 ~]# /opt/cm-5.3.3/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -phadoop --scm-host localhost scm scm scm
JAVA_HOME=/usr/local/jdk1.7.0_67
Verifying that we can write to /opt/cm-5.3.3/etc/cloudera-scm-server
[                          main] DbProvisioner                  ERROR Exception when creating/dropping database with user 'root' and jdbc url 'jdbc:mysql://localhost/?useUnicode=true&characterEncoding=UTF-8'
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:870)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1659)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1206)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2234)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2265)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2064)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:790)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44)[mysql-connector-java-5.1.33.jar:5.1.33]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)[:1.7.0_67]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)[:1.7.0_67]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)[:1.7.0_67]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)[:1.7.0_67]
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:395)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325)[mysql-connector-java-5.1.33.jar:5.1.33]
        at java.sql.DriverManager.getConnection(DriverManager.java:571)[:1.7.0_67]
        at java.sql.DriverManager.getConnection(DriverManager.java:215)[:1.7.0_67]
        at com.cloudera.enterprise.dbutil.DbProvisioner.executeSql(DbProvisioner.java:283)[db-common-5.3.3.jar:]
        at com.cloudera.enterprise.dbutil.DbProvisioner.doMain(DbProvisioner.java:95)[db-common-5.3.3.jar:]
        at com.cloudera.enterprise.dbutil.DbProvisioner.main(DbProvisioner.java:110)[db-common-5.3.3.jar:]
[                          main] DbProvisioner                  ERROR Stack Trace:
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:870)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1659)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1206)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2234)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2265)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2064)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:790)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44)[mysql-connector-java-5.1.33.jar:5.1.33]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)[:1.7.0_67]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)[:1.7.0_67]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)[:1.7.0_67]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)[:1.7.0_67]
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:395)[mysql-connector-java-5.1.33.jar:5.1.33]
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325)[mysql-connector-java-5.1.33.jar:5.1.33]
        at java.sql.DriverManager.getConnection(DriverManager.java:571)[:1.7.0_67]
        at java.sql.DriverManager.getConnection(DriverManager.java:215)[:1.7.0_67]
        at com.cloudera.enterprise.dbutil.DbProvisioner.executeSql(DbProvisioner.java:283)[db-common-5.3.3.jar:]
        at com.cloudera.enterprise.dbutil.DbProvisioner.doMain(DbProvisioner.java:95)[db-common-5.3.3.jar:]
        at com.cloudera.enterprise.dbutil.DbProvisioner.main(DbProvisioner.java:110)[db-common-5.3.3.jar:]
--> Error 1, giving up (use --force if you wish to ignore the error)

 

需要修改mysql登录密码:

解决:
修改MySQL的root用户的密码以及打开远程连接
mysql>use mysql;
mysql>desc user;
mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "hadoop";  //为root添加远程连接的能力。
mysql>update user set Password = password('hadoop') where User='root';
mysql>select Host,User,Password  from user where User='root'; 
mysql>flush privileges;
mysql>exit

[root@hadoop1 ~]# /opt/cm-5.3.3/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -phadoop --scm-host localhost scm scm scm
JAVA_HOME=/usr/local/jdk1.7.0_67
Verifying that we can write to /opt/cm-5.3.3/etc/cloudera-scm-server
Creating SCM configuration file in /opt/cm-5.3.3/etc/cloudera-scm-server
Executing:  /usr/local/jdk1.7.0_67/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/opt/cm-5.3.3/share/cmf/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /opt/cm-5.3.3/etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
[                          main] DbCommandExecutor              INFO  Successfully connected to database.
All done, your SCM database is configured correctly!

 

官方关于JDK版本的选择建议:

Java Development Kit Installation

Some installation paths require that you install the Oracle Java Development Kit on hosts before deploying Cloudera Manager, CDH, and managed services. To install the Oracle JDK, follow the instructions in Installing the Oracle JDK. The completed installation, or any already existing installation, must meet the following requirements.

Requirements
•Install a supported version:◦CDH 5 - Supported JDK Versions
◦CDH 4 - Supported JDK Versions
 
•Install the same version of the Oracle JDK on each host.
•Install the JDK in /usr/java/jdk-version.

  Important: •You cannot upgrade from JDK 1.7 to JDK 1.8 while upgrading to CDH 5.3. The cluster must already be running CDH 5.3 when you upgrade to JDK 1.8.
•On SLES 11 platforms, do not install or try to use the IBM Java version bundled with the SLES distribution. CDH does not run correctly with that version.

Installing the Oracle JDK

The Oracle JDK installer is available both as an RPM-based installer for RPM-based systems, and as a binary installer for other systems.
1.Download the .tar.gz file for one of the supported versions of the Oracle JDK from Java SE Downloads, Java SE 7 Downloads, or Java SE 6 Downloads. (These links are correct at the time of writing but change frequently.)
2.Extract the JDK to /usr/java/jdk-version; for example /usr/java/jdk.1.7.0_nn or /usr/java/jdk.1.8.0_nn, where nn is a supported version.
3.Set JAVA_HOME to the directory where the JDK is installed, for exampleexport JAVA_HOME=/usr/java/jdk.1.7.0_nn in the following files on Cloudera Manager Server and cluster hosts:◦Cloudera Manager Server - /etc/default/cloudera-scm-server
◦Cloudera Manager Agent - /etc/default/cloudera-scm-agent or follow the instructions in Configuring a Custom Java Home Location
◦Cloudera Manager package-based or unmanaged deployment - /etc/default/bigtop-utils

Supported JDK Versions
CDH 5 requires the Oracle JDK, and supports the versions shown in the table that follows.
Latest Certified Version
1.7.0_75
1.8.0_40

这篇关于CDH5.3.3安装(hadoop集群)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1050605

相关文章

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

Redis分片集群、数据读写规则问题小结

《Redis分片集群、数据读写规则问题小结》本文介绍了Redis分片集群的原理,通过数据分片和哈希槽机制解决单机内存限制与写瓶颈问题,实现分布式存储和高并发处理,但存在通信开销大、维护复杂及对事务支持... 目录一、分片集群解android决的问题二、分片集群图解 分片集群特征如何解决的上述问题?(与哨兵模

SpringBoot连接Redis集群教程

《SpringBoot连接Redis集群教程》:本文主要介绍SpringBoot连接Redis集群教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 依赖2. 修改配置文件3. 创建RedisClusterConfig4. 测试总结1. 依赖 <de

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

Java SWT库详解与安装指南(最新推荐)

《JavaSWT库详解与安装指南(最新推荐)》:本文主要介绍JavaSWT库详解与安装指南,在本章中,我们介绍了如何下载、安装SWTJAR包,并详述了在Eclipse以及命令行环境中配置Java... 目录1. Java SWT类库概述2. SWT与AWT和Swing的区别2.1 历史背景与设计理念2.1.

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas