cari
Rumahpangkalan datatutorial mysqlCDH5.3.2安装详细文档以及相关问题处理

CDH5.3.2安装详细文档以及相关问题处理

Jun 07, 2016 pm 03:09 PM
berurusan denganPasangdokumenBerkaitanterperincisoalan

版本约定 操作系统版本centos6.5,64位 jdk1.6的版本也支持jdk1.7的版本 python版本为2.6或者2.7 集群版本cdh5.3.2 cloudera manager 5.3 mysql5.0以上版本 CM安装前说明 防火墙关闭 service iptables stop chkconfig iptables off 关闭SELINUX vi /etc/selin

版本约定

操作系统版本centos6.5,64位
jdk1.6的版本也支持jdk1.7的版本

python版本为2.6或者2.7

集群版本cdh5.3.2
cloudera manager 5.3

mysql5.0以上版本

 

CM安装前说明

  • 防火墙关闭

         service iptables stop chkconfig iptables off

  •  关闭SELINUX

vi /etc/selinux/config设置SELINUX=disabled

  •  确认端口7180没有被占用

  • 在安装coudera manager 前先安装数据库mysql.并配置数据库的配置文件和创建相应的数据库。
  • 需要将mysql数据库默认存储引擎改为innodb.

CM安装方式

安装方式采用yum安装,由于内网机器无法访问外网,所以我们必须搭建一个本地的yum仓库,yum仓库机器10.100.3.17。

本地YUM仓库搭建

yum安装所需rpm安装包包括cloudera manager 5 相关安装包,下载地址:http://archive-primary.cloudera.com/cm5/redhat/6/x86_64/cm/5.3.2/RPMS/x86_64/ ,

CDH5.3.2相关安装包,下载地址:http://archive-primary.cloudera.com/cdh5/redhat/6/x86_64/cdh/5.3.2/RPMS/x86_64/,http://archive-primary.cloudera.com/cdh5/redhat/6/x86_64/cdh/5.3.2/RPMS/noarch/

上传相关安装包到10.100.3.17机器/var/ftp/pub/Packages目录下,然后执行createrepo命令:

createrepo -g /var/ftp/pub/repodata/repomd.xml /var/ftp/pub/

cdh集群机器配置本地yum源:

cd /etc/yum.repos.d/

rm -rf * #删除无用配置yum源文件

vi ftp-server.repo #加入ftp-server.repo文件加入如下配置:

[base]

name=ftp-server

baseurl=ftp://10.100.3.17/pub/

gpgcheck=0

Clouera Manager安装

cdh集群说明

cdh集群机器为3台,分别为10.100.3.95,10.100.3.96,10.100.3.97,10.100.3.98,10.100.3.99

将cloudera manager agent 分别部署在这五台机器上,

将cloudera manager server 和mysql部署在10.100.3.95上

安装jdk

首先检查集群机器是否安装过openJDK,如果有安装过,请卸载,执行命令 :

rpm -qa | grep jdk

rpm -e xxx #xxx为上一步输出的rpm包名

 

在所有机器上安装jdk,并配置JAVA_HOME,执行命令:

yum install jdk

vi /etc/profile #加入以下配置

export JAVA_HOME=/usr/java/jdk1.6.0.31

export PATH=$JAVA_HOME/bin:$JAVA_HOME/lib:$PATH

#使配置生效

source /etc/profile

配置NTP服务

我们需要配置集群ntp时间同步,因为集群安装完毕后Cloudera Manager会对集群做时间同步检测,如果不同步会报警

Bad Health --Clock Offset

The host's NTP service did not respond to a request for the clock offset.

我们采用10.100.3.95作为master机器,所有机器都同步该机器上的时间,所有机器安装ntp服务

yum install ntp

配置95机器上NTP Server,修改/etc/ntpd.conf文件加入如下配置

restrict 0.0.0.0master 0.0.0.0nomodify nostrap #让所有网段都可以同步该机器的时间

server 127.127.1.0

fudge 127.127.1.0stratum 8

启动NTP服务

/etc/init.d/ntpd start

chkconfig ntpd on

其他机器同步该机器时间,并且也开启ntpd服务,如果其他机器不开启ntpd服务,Cloudera Manager同样会报警,因为Cloudera Manager 会使用ntpdc -c loopinfo 这个命令来判断集群的延迟时间。集群同步时间命令为:

ntpdate 10.100.3.95

#并在crontab中加入命令

crontab -e

*/15* * * * ntpdate 10.100.3.95

安装Mysql

Cloudera Manager通过数据库来管理服务信息和集群配置信息。可以使用内置的PostgreSQL或者外部数据库系统,目前支持Mysql,Oracle,以及外部PostgreSQL数据库。这里我们安装外部的Mysql数据库。

 

$ yum install mysql mysql-devel mysql-server

#安装mysql后启动;

$ service mysqld start 

 

#配置mysql数据库,添加如下内容,添加以后。重启mysql数据库。如果没报错,则配置成功;

[mysqld]

transaction-isolation = READ-COMMITTED

# Disabling symbolic-links is recommended to prevent assorted security risks;

# to doso, uncomment thisline:

# 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 foryour 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.8or later. Comment out binlog_format forolder 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

移除这两个文件:/var/lib/mysql/ib_logfile0;/var/lib/mysql/ib_logfile1,重启mysql服务。

安装 MySQL JDBC Connector

驱动下载地址:http://dev.mysql.com/downloads/connector/j/5.1.html,把驱动包放在/usr/share/java目录下,如果目录/usr/share/java不存在,则创建它,并且将驱动包重新命名。

$  mkdir -p /usr/share/java/

$  cp mysql-connector-java-5.1.17.jar /usr/share/java/mysql-connector-java.jar

配置Mysql

设置root账号的密码:

$ sudo /usr/bin/mysql_secure_installation

[...]

Enter current password forroot (enter fornone):

OK, successfully used password, moving on...

[...]

Set root password? [Y/n] y

New password:

Re-enter newpassword:

Remove anonymous users? [Y/n] Y

[...]

Disallow root login remotely? [Y/n] N

[...]

Remove test database and access to it [Y/n] Y

[...]

Reload privilege tables now? [Y/n] Y

All done!

创建Mysql数据库

创建数据库用来保存Activity Monitor,Report Manager, Hive MetaStore Server, Sentry Server, Cloudera Navigator Audit Server, Cloudera Navigator Metadata Server服务相关配置信息。

使用root用户登陆Mysql数据库

$ mysql -u root -p

Enter password:

创建数据库

mysql> create database database DEFAULT CHARACTER SET utf8;

Query OK, 1row affected (0.00sec)

 

mysql> grant all on database.* TO 'user'@'%'IDENTIFIED BY 'password';

Query OK, 0rows affected (0.00sec)

其中database,user,password查看下表

Activity Monitor amon amon amon_password
Reports Manager rman rman rman_password
Hive Metastore Server metastore hive hive_password
Sentry Server sentry sentry sentry_password
Cloudera Navigator Audit Server nav nav nav_password
Cloudera Navigator Metadata Server navms navms navms_password

Role

Database

User

Password

安装Cloudera Manager Server

$  yum install cloudera-manager-daemons

$  yum install cloudera-manager-server

配置Cloudera Manager Server数据库

这里Cloudera Manager Server和Mysql安装在同一台机器,执行命令

/usr/share/cmf/schema/scm_prepare_database.sh mysql -uroot -p --scm-host localhost scm scm scm

出现Successful 表示执行成功。

启动Cloudera Manager Server服务

service cloudera-scm-server start

Cloudera Manager agent 不需要手动安装直接进入CM得web界面自动安装配置即可。

web登录

url 格式:http://:

打开浏览器,输入url ,http://10.100.3.95:7180

默认用户名:admin 密码:admin

安装Cloudera Manager Agent,以及CDH相关组件

1.根据CM引导界面,选择Cloudera Express 免费版。点击下一步到为CDH集群安装指定主机。

2.输入需要安装集群的机器IP地址,包括Cloudera Manager Server 机器。

3.选择集群的安装方式,选择使用数据包,CDH版本选择自定义,并输入yum源地址ftp://10.100.3.17/pub/, Cloudera Manager Agent选择自定义,输入yum源地址ftp://10.100.3.17/pub/。点击继续

4.集群安装状态,可以看到每台集群的安装状态,如果正常则进入下一步。

5.选择要安装的CDH组件,我们选择自定义,安装HBase、HDFS、Hive、Hue、Key-Value Store Indexer、Oozie、Solr、Spark、Sqoop 2、YARN、Zookeeper服务。点击继续

6.CM会检测安装环境,会提示一处安装警告: cloudera 建议将/proc/sys/vm/swappiness设置为0,当前设置为60, 我们需要在集群每台机器上执行命令:

echo 0> /proc/sys/vm/swappiness

7.选择集群机器的角色分配,对于默认的选择都可以选择在Master(10.100.3.95)机器上,当然像Second NameNode可以选择在非NameNode机器上。注意Cloudera Management Service都选Master(10.100.3.95),也就是安装mysql的主机。因为其他主机没有安装mysql.点击继续

8.数据库配置。根据创建数据表选择所对应的服务即可。

9.集群设置。选择默认,集群开始安装。

oozie配置

oozie安装完毕之后还需要做以下配置才能使用:

1.安装Oozie共享库,操作如下:

 

  • 选择oozie服务
  • 点击操作->停止
  • 点击安装Oozie共享库
  • 点击启动

2.配置Ext JS库,操作如下:

 

  • 下载ext-2.2.zip文件,下载地址http://dev.sencha.com/deploy/ext-2.2.zip
  • 把该文件放入运行Oozie Server的主机/var/lib/oozie/目录下
  • 解压该文件
  • 重启oozie服务

3.配置外部数据库这里配置mysql,操作如下:

 

  • 选择oozie服务,点击配置面板
  • 选择Oozie Server Default Group->数据库
  • 配置Oozie服务器数据库类型选择mysql,选择Oozie服务器数据库名称,默认为oozie,选择Oozie服务器数据库主机地址,选择Oozie服务器数据库用户,选择Oozie服务器数据密码。并保存配置
  • 选择操作->停止
  • 选择操作->创建数据库
  • 选择操作->启动

HUE配置

配置流程见:Cloudera Manager 安装文档#添加hue服务.不同之处在于要启动HUE服务,HUE依赖其它服务配置,需要修改如下配置:

  • 进入CM主机面板
  • 选择配置->资源管理,修改启用基于Cgroup的资源管理属性,设置为true,默认为false;
  • 进入YARN服务面板
  • 选择配置->服务范围,修改将CGroups用于资源管理属性,设置为true,默认为false。修改始终使用Linux Container Executor,设置为true,默认为false;
  • 进入Impala服务面板
  • 选择配置->服务范围->Admission Control,修改Enable Dynamic Resource Pools属性,设置为true,默认为false。

遇到的问题

1.第一次安装时,由于98,99机器内存问题异常关机,导致安装一半中止,以及自己的错误操作导致又回到了安装的第一步,但是选择输入安装的机器集群时,引导界面里面多了3个已经加入到集群的机器,导致这3台机器无法选择。解决办法:这3台机器卸载重装。步骤如下:

service cloudera-scm-agent stop

service cloudera-scm-agnet hard_stop_confirmed

yum remove 'cloudera-manager-*'avro-tools crunch flume-ng hadoop-hdfs-fuse hadoop-hdfs-nfs3 hadoop-httpfs hbase-solr hive-hbase hive-webhcat hue-beeswax hue-hbase hue-impala hue-pig hue-plugins hue-rdbms hue-search hue-spark hue-sqoop hue-zookeeper impala impala-shell kite llama mahout oozie pig pig-udf-datafu search sentry solr-mapreduce spark-python sqoop sqoop2 whirr

yum clean all

rm -rf /tmp/.scm_prepare_node.lock

rm -rf /var/lib/flume-ng /var/lib/hadoop* /var/lib/hue /var/lib/solr* /var/lib/zookeeper* /var/lib/spark/

然后重新从安装Cloudera Manager Server步骤开始即可。

2.10.100.3.98,10.100.3.99机器下载安装CDH相关组件不成功,提示:network_interfaces INFO NIC iface eth0 doesn't support ETHTOLL (95),并且在98,99机器上运行service network restart 则IP会自动丢失,原因是安装机器的时候采用的动态IP导致,修改为静态IP。

3.10.100.3.98,10.100.3.99机器在下载CDH包时一直卡在’正在获取安装锁‘,点击详细信息提示:Begin Flock 4 Cloudera。产生的原因是多次安装Cloudera-manager-agent服务,并且启动过Clouder-scm-agent服务导致产生了锁文件。删除掉该文件即可。执行命令:

rm -rf /tmp/.scm_prepare_node.lock

4.10.100.3.98,10.100.3.99机器下载安装CDH相关组件不成功,点击详细信息提示:

MainThread agent ERROR HEARbeating to 10.100.3.95:7182 failed

...

...

AttributeError: ‘NoneType’ object has no attribute ‘Type’

解决办法:进入相关机器,重启cloudera-scm-agent服务,执行命令

service clouder-scm-agent restart

5.安装完毕后集群HDFS报警,提示 ’集群中有293个副本不足的块。集群众共有296个块。百分比副本不足的块:98.99%。临界阈值:40%  Under-Replicated Blocks‘,产生的原因是因为一开始98,99机器故障,只安装了3台机器,DataNode节点只有2个,而安装过程中采用的都是默认配置,dfs.replication 设置的为3,所以导致次报警。通过使用hadoop fsck /命令检查hdfs块信息会提示安装hbase的时候写入的数据块 Target replica is 3 but found 2 replica(s)。解决办法:配置dfs.replication值为2并执行以下命令:

su hdfs

hadoop fs -setrep 2/

6.安装HUE之后HUE WEB UI启动不起来,首页报错:

Traceback (most recent call last):

...

...

ImportError: No module named useradmin

查看/usr/lib/hue/目录可以看到app.reg文件的软连接文件失效,并没有创建此文件,解决办法是:在/usr/lib/hue/tools/app_reg/目录下有一个app_reg.py的文件 是用来产生该注册文件的,查看它的语法,使用命令tools/app_reg/app_reg.py --install apps/xxx/ ,其中xxx为apps目录下的所有文件加名称。执行完之后问题解决。

此次是安装过程中遇到的所有问题,之后会把原有集群从CDH3U5升级到CDH5.3.2,期间遇到的问题后续整理。
Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Apakah prosedur yang disimpan di MySQL?Apakah prosedur yang disimpan di MySQL?May 01, 2025 am 12:27 AM

Prosedur yang disimpan adalah penyataan SQL yang dipraktikkan dalam MySQL untuk meningkatkan prestasi dan memudahkan operasi kompleks. 1. Meningkatkan prestasi: Selepas penyusunan pertama, panggilan seterusnya tidak perlu dikompilasi. 2. Meningkatkan Keselamatan: Mengatasi akses jadual data melalui kawalan kebenaran. 3. Memudahkan operasi kompleks: Campurkan beberapa pernyataan SQL untuk memudahkan logik lapisan aplikasi.

Bagaimanakah pertanyaan caching berfungsi di mysql?Bagaimanakah pertanyaan caching berfungsi di mysql?May 01, 2025 am 12:26 AM

Prinsip kerja cache pertanyaan MySQL adalah untuk menyimpan hasil pertanyaan pilih, dan apabila pertanyaan yang sama dilaksanakan sekali lagi, hasil cache dikembalikan secara langsung. 1) Cache pertanyaan meningkatkan prestasi bacaan pangkalan data dan mendapati hasil cache melalui nilai hash. 2) Konfigurasi mudah, set query_cache_type dan query_cache_size dalam fail konfigurasi MySQL. 3) Gunakan kata kunci sql_no_cache untuk melumpuhkan cache pertanyaan khusus. 4) Dalam persekitaran kemas kini frekuensi tinggi, cache pertanyaan boleh menyebabkan kesesakan prestasi dan perlu dioptimumkan untuk digunakan melalui pemantauan dan pelarasan parameter.

Apakah kelebihan menggunakan MySQL ke atas pangkalan data hubungan lain?Apakah kelebihan menggunakan MySQL ke atas pangkalan data hubungan lain?May 01, 2025 am 12:18 AM

Sebab mengapa MySQL digunakan secara meluas dalam pelbagai projek termasuk: 1. Prestasi tinggi dan skalabilitas, menyokong pelbagai enjin penyimpanan; 2. Mudah untuk digunakan dan mengekalkan, konfigurasi mudah dan alat yang kaya; 3. Ekosistem yang kaya, menarik sejumlah besar sokongan alat komuniti dan pihak ketiga; 4. Sokongan silang platform, sesuai untuk pelbagai sistem operasi.

Bagaimana anda mengendalikan peningkatan pangkalan data di MySQL?Bagaimana anda mengendalikan peningkatan pangkalan data di MySQL?Apr 30, 2025 am 12:28 AM

Langkah -langkah untuk menaik taraf pangkalan data MySQL termasuk: 1. Sandarkan pangkalan data, 2. Hentikan perkhidmatan MySQL semasa, 3. Pasang versi baru MySQL, 4. Mulakan versi baru MySQL Service, 5 pulih pangkalan data. Isu keserasian diperlukan semasa proses peningkatan, dan alat lanjutan seperti Perconatoolkit boleh digunakan untuk ujian dan pengoptimuman.

Apakah strategi sandaran yang berbeza yang boleh anda gunakan untuk MySQL?Apakah strategi sandaran yang berbeza yang boleh anda gunakan untuk MySQL?Apr 30, 2025 am 12:28 AM

Dasar sandaran MySQL termasuk sandaran logik, sandaran fizikal, sandaran tambahan, sandaran berasaskan replikasi, dan sandaran awan. 1. Backup Logical menggunakan MySqldump untuk mengeksport struktur dan data pangkalan data, yang sesuai untuk pangkalan data kecil dan migrasi versi. 2. Sandaran fizikal adalah cepat dan komprehensif dengan menyalin fail data, tetapi memerlukan konsistensi pangkalan data. 3. Backup tambahan menggunakan pembalakan binari untuk merekodkan perubahan, yang sesuai untuk pangkalan data yang besar. 4. Sandaran berasaskan replikasi mengurangkan kesan ke atas sistem pengeluaran dengan menyokong dari pelayan. 5. Backup awan seperti Amazonrds menyediakan penyelesaian automasi, tetapi kos dan kawalan perlu dipertimbangkan. Apabila memilih dasar, saiz pangkalan data, toleransi downtime, masa pemulihan, dan matlamat titik pemulihan perlu dipertimbangkan.

Apakah clustering mysql?Apakah clustering mysql?Apr 30, 2025 am 12:28 AM

Mysqlclusteringenhancesdatabaserobustnessandsandscalabilitybydistributingdataacrossmultiplenodes.itusesthendbenginefordatareplicationandfaulttolerance, ugeinghighavailability.setupinvolvesconfiguringmanagement, Data, dansqlnodes

Bagaimana anda mengoptimumkan reka bentuk skema pangkalan data untuk prestasi di MySQL?Bagaimana anda mengoptimumkan reka bentuk skema pangkalan data untuk prestasi di MySQL?Apr 30, 2025 am 12:27 AM

Mengoptimumkan reka bentuk skema pangkalan data di MySQL dapat meningkatkan prestasi melalui langkah -langkah berikut: 1. Pengoptimuman indeks: Buat indeks pada lajur pertanyaan biasa, mengimbangi overhead pertanyaan dan memasukkan kemas kini. 2. Pengoptimuman Struktur Jadual: Mengurangkan kelebihan data melalui normalisasi atau anti-normalisasi dan meningkatkan kecekapan akses. 3. Pemilihan Jenis Data: Gunakan jenis data yang sesuai, seperti INT dan bukannya VARCHAR, untuk mengurangkan ruang penyimpanan. 4. Pembahagian dan Sub-meja: Untuk jumlah data yang besar, gunakan pembahagian dan sub-meja untuk menyebarkan data untuk meningkatkan kecekapan pertanyaan dan penyelenggaraan.

Bagaimana anda boleh mengoptimumkan prestasi MySQL?Bagaimana anda boleh mengoptimumkan prestasi MySQL?Apr 30, 2025 am 12:26 AM

TooptimizeMySQLperformance,followthesesteps:1)Implementproperindexingtospeedupqueries,2)UseEXPLAINtoanalyzeandoptimizequeryperformance,3)Adjustserverconfigurationsettingslikeinnodb_buffer_pool_sizeandmax_connections,4)Usepartitioningforlargetablestoi

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular