继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

CentOS7 Cloudera Manager6 完全离线安装 CDH6 集群

跟着大数据和AI去旅行
关注TA
已关注
手记 6
粉丝 0
获赞 0

本文是在CentOS7.4下进行的CDH6合并的完全离线部署。CDH5合并与CDH6部署的部署区别比较大。

说明:此处内容所有操作都是在root用户下进行的。

文件下载

首先一些安装CDH6能否的必须文件要先在外网环境先下载好。

Cloudera Manager 6.3.0

CM6 RPM:https://archive.cloudera.com/cm6/6.3.0/redhat7/yum/RPMS/x86_64/ 需要下载该链接下的所有RPM文件,保存到Cloudera的-回购目录下。

ASC文件:https://archive.cloudera.com/cm6/6.3.0/allkeys.asc 同时还需要下载一个ASC文件,同样保存到Cloudera的-回购目录下:

[root@node01 upload]# tree cloudera-repos/
cloudera-repos/
├── allkeys.asc
├── cloudera-manager-agent-6.3.0-1281944.el7.x86_64.rpm
├── cloudera-manager-daemons-6.3.0-1281944.el7.x86_64.rpm
├── cloudera-manager-server-6.3.0-1281944.el7.x86_64.rpm
├── cloudera-manager-server-db-2-6.3.0-1281944.el7.x86_64.rpm
├── enterprise-debuginfo-6.3.0-1281944.el7.x86_64.rpm
└── oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm

MySQL JDBC驱动

要求使用5.1.26以上版本的jdbc驱动,可点击这里直接下载mysql-connector-java-5.1.47.tar.gz

配置Cloudera Manager yum库

注意:不要尝试使用FTP构建CM的YUM库!

首先安装的httpdcreaterepo

百胜-y 安装 httpd的createrepo ```


启动`的httpd `服务并设置开机自启动:

```庆典
 systemctl启动httpd的
systemctl 使 httpd的```


然后进入到前面准备好的存放的Cloudera管理器RPM包的目录` Cloudera的-回购`下:

bash cd / data6 / upload / cloudera-repos / ```



生成RPM元数据:

bash
 createrepo 。搭配chmod 777 -R Cloudera的-回购```



然后将`cloudera-repos`目录移动到httpd的html目录下:

```bash
mv cloudera-repos /var/www/html/

确保可以通过浏览器查看到这些RPM包:

随后在创建cm6的repo文件(每个副本都需要配置):

bash的CD /etc/yum.repos.d VIM Cloudera的-manager.repo

添加如下内容:

的bash [ Cloudera的经理]名称= Cloudera的经理6.3.0 baseURL时= HTTP:// NODE01 / Cloudera的-回购/ gpgcheck = 0 使能= 1

保存,退出,然后执行百胜清洁所有&&百胜makecache命令:








cloudera-manager                                                                                                                                                                                                    | 2.9 kB 00:00:00      ( 1/7 ):ChinaUnicom-Packages / group_gz                                                                                                                                                                                | 156 kB 00:00:00      ( 2/7 ):ChinaUnicom-Packages / filelists_db                                                                                                                                                                           

| 3.1 MB 00:00:00      ( 3/7 ):ChinaUnicom-Packages / primary_db                                                                                                                                                                              | 3.1 MB 00:00:00      ( 4/7 ):ChinaUnicom-Packages / other_db                                                                                                                                                                                | 1.2 MB 00:00:00      ( 5/7 )


:cloudera-manager / filelists_db                                                                                                                                                                                | 118 kB 00:00:00      ( 6/7 ):cloudera-manager / other_db                                                                                                                                                                                    | 1.0 kB 00:00:00      ( 7/7 ):cloudera-manager / primary_db                                                                                                                                                                                  |

 8.6 kB  00:00:00     
Determining fastest mirrors
Metadata Cache Created

安装Cloudera Manager服务器

这一步只需要在CM Server上级操作。执行以下的命令:

的bash #安装openjdk8荫安装甲骨文j2sdk1.8 #安装厘米管理器(只需在服务器节点安装)荫安装 Cloudera的经理-守护程序Cloudera的管理器代理的Cloudera管理器服务器

将会需要很多依赖包,所以说还是有必要重叠一个放置内yum源的,或者手动安装rpm包

配置本地Parcel存储库

Cloudera Manager Server安装完成后,进入本地Parcel存储库目录:

庆典的CD /选择/ Cloudera的公司的/包裹回购

将第一部分下载的CDH包装文件上传至该目录下,然后执行修改sha文件:

bash mv / data6 /上传/包裹/ * / opt / cloudera / parcel-repo / mv CDH-6.3.0-1.cdh6.3.0.p0.1279813-el7.parcel.sha1 CDH-6.3.0- 1.cdh6 .3.0.p0.1279813-el7.parcel.sha```

然后执行下面的命令修改文件所有者:

的bash CHOWN -R Cloudera的-SCM:Cloudera的-SCM /选择/ Cloudera的/包裹回购

最终/选择/ Cloudera的/包裹回购目录内容如下:

 ├──CDH-6.3.0-1.cdh6.3.0.p0.1279813-el7.parcel 
├──CDH-6.3.0-1.cdh6.3.0.p0.1279813-el7.parcel.sha 
└──manifest.json的```


## 安装数据库

MySQL的安装在环境准备部分中已经有说明,这里就跳过MySQL安装了。

### 数据库配置

CDH官方给的有一份推荐的MySQL的配置内容:

[mysqld]
datadir = / var / lib / mysql
socket = / var / lib / mysql / mysql.sock
transaction-isolation = READ-COMMITTED

建议禁用符号链接以防止各种安全风险。

为此,请取消注释此行:

symbolic-links = 0
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
#expire_logs_days = 10
#max_binlog_size = 100M
#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
#In later versions of MySQL, if you enable the binary log and do not set
#a server_id, MySQL will not start. The server_id must be unique within
#the replicating group.
server_id=1
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
sql_mode=STRICT_ALL_TABLES
###配置MySQL的JDBC驱动从前面下载好的`MySQL的连接器的Java-5.1.47.tar.gz`包中解压出`MySQL的连接器的Java-5.1.47-bin.jar`文件,将`mysql-connector-java-5.1.47-bin.jar`文件上传至CM Server上游上``/ usr / share / java /`目录下并重命名为`mysql-connector-java.jar`(如果/ usr / share / java /`目录不存在,需要手动创建):bash tar zxvf mysql-connector-java-5.1.47.tar.gz mkdir -p / usr / share / java / cp mysql-连接器的Java-5.1.47-bin.jar /usr/share/java/mysql-connector-java.jar ```

创建CDH所需要的数据库

根据所需要的安装向导的服务,如何通过复制创建对应的数据库和数据库用户,数据库必须使用utf8编码,创建数据库时要记录好用户名及对应密码:

| 服务名| 数据库名| 用户名| | :--------------------------------:| :-------:| :----:| | Cloudera Manager服务器| scm | scm | | 活动监视器| 阿蒙| 阿蒙| | 报表经理| rman | rman | | 色相| 色相| 色相| | Hive Metastore服务器| 元商店| 蜂巢

| 哨兵服务器| 哨兵| 哨兵| | Cloudera Navigator审核服务器| 导航| 导航| | Cloudera Navigator元数据服务器| 导航| 导航| | Oozie | oozie | oozie |

创建数据库及对应用户:

``mysql的
#scm
创建数据库SCM默认字符集UTF8默认集合utf8_general_ci;
将所有内容授予SCM *以'供应链管理'标识为'SCM' @ '%';#阿蒙创建数据库阿蒙默认字符集UTF8默认集合utf8_general_ci; *以'amon'标识为'amon'@'%';#rman创建数据库rman字符集utf8默认集合utf8_general_ci; *以'rman'标识为'rman'@'%';#色相创建数据库色相样式字符集utf8替代集合utf8_general_ci;*在'hue'@'%'处以“ hue”标识;#蜂巢

创建数据库元存储区的默认字符集utf8或集合utf8_general_ci; *将所有内容授予元存储。*到’蜂巢’ @ ‘%’,由’蜂巢’标识; #sentry创建数据库哨兵默认字符集是utf8 DEFAULT COLLATE utf8_general_ci; 将所有内容都授予哨兵。*到“哨兵” @“%”,由“哨兵”标识; #nav CREATE DATABASE NAV缺省字符集UTF8 DEFAULT COLLATE utf8_general_ci; 将所有内容授予NAV。*以“导航”标识为“导航” @ ‘%’;#navms CREATE DATABASE navms默认字符集是utf8 DEFAULT COLLATE utf8_general_ci; *由’navms’标识为’navms’@’%’;;将所有内容授予navms。

*由’oozie’标识为’oozie’@’%’;#冲洗特权;将所有内容都授予oozie。 `

设置Cloudera Manager数据库

Cloudera Manager Server包含一个配置数据库的脚本。

  • MySQL的的数据库与CM服务器同一的英文台中主机执行命令:/opt/cloudera/cm/schema/scm_prepare_database.sh的MySQL的单片机控制 -的MySQL的数据库与CM服务器同一不在台中主机上执行命令:/选择/ Cloudera的/厘米/模式/ scm_prepare_database.sh MySQL的-h <MySQL的主机IP> --scm托管的<厘米服务器IP>单片机控制

bash [ root @ master02〜] #/opt /cloudera/ cm /schema/ scm_prepare_database.sh mysql -h 10.172.54.51 --scm-host 10.172.54.52 scm scm 输入SCM密码:JAVA_HOME = / usr / java / jdk1.8.0_181-Cloudera的验证,我们可以写到/ etc / Cloudera的-SCM服务器创建SCM配置文件中的/ etc / Cloudera的-SCM服务器执行:/usr/java/jdk1.8.0_181-cloudera/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/java/postgresql-connector-java.jar:/opt/ cloudera / cm / schema / …

/ lib / * com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db。[ main ] DbCommandExecutor信息成功连接到数据库。全部完成,您的SCM数据库已正确配置!```

安装CDH基线

启动Cloudera Manager Server服务

启动Cloudera的-SCM服务器```然后等待的Cloudera Manager服务器启动,可能需要稍等一会儿,可以通过命令`-f / var / log / cloudera-scm-server / cloudera-scm- server。登录到监控服务启动状态。当看到`INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl:启动了Jetty服务器。`日志打印出来后,说明服务启动成功,可以通过浏览器访问Cloudera Manager WEB接口了。###访问的Cloudera管理器WEB接口打开浏览器,访问地址:`HTTP:// <SERVER_HOST>:7180`,交替账号和密码都为**管理员** :! [](HTTP:/ / // img4.sycdn.imooc.com/5e50b2da0001bdd616490756.jpg)###欢迎页面首先是Cloudera Manager的欢迎页面,单击页面右下角的【继续】按钮进行下一步:![](http:// img1 。sycdn。imooc.com/5e50b2db0001da0418980954.jpg)###接受条款替换接受条款,点击【继续】进行下一步:![](http://img4.sycdn.imooc.com/5e50b2dc0001daa 01903 0953.jpg)###版本选择


























[](http://img2.sycdn.imooc.com/5e50b2dd0001f04518780961.jpg)###第二个欢迎界面选择版本以后会出现第二个欢迎界面,不过这个是[](http:// img1。 sycdn.imooc.com/5e50b2de0001356e18770963.jpg)###选择主机这一步是要搜索并选择使用CDH安装的主机,在主机名后面的输入替代输入主机的主机名,中间使用英文逗号分隔开,然后依次搜索,在结果列表中插入要安装CDH的中断即可:![](http://img4.sycdn.imooc。com / 5e50b2e00001301618890890 .jpg)###指定存储库#### Cloudera Manager Agent在这里选择自定义,填充上面使用httpd建造好的Cloudera Manager YUM库URL:![](http://img1.sycdn.imooc .com / 5e50b2e100013f1f12080342.jpg)#### CDH和其他软件如果我们之前的【配置本地Parcel存储库】步骤操作无误的话,这里会自动选择【使用Parcel】,并加载出CDH版本,确认无误后击【继续】:!!!] [http://img1.sycdn.imooc.com / 5e50b2e 10001eb6a1 1970265.jpg)





























>因此,不需要自己手动安装Cloudera Manager Agent了### JDK安装选项步骤步骤我就不再更换安装JDK了,因为我在环境准备部分已经安装过了。取消取消,然后继续:![]( http://img1.sycdn.imooc.com/5e50b2e200010a8318980968.jpg)### SSH登录配置用于配置主机之间的SSH登录,填写root用户的密码,根据适当的【同时安装数量】值即可: ![](http://img1.sycdn.imooc.com/5e50b2e30001181f09770522.jpg)###安装代理到此步会自动进行代理的安装,稍等一会儿,即可安装完成:![](http: //img4.sycdn.imooc.com/5e50b2e40001a68b09690514.jpg)###安装程序步骤同样是自动安装,分配步骤的速度主要位于网络环境中,耐心等待即可:![](http:/ / img1。 sycdn.imooc.com/5e50b2e50001abcd09560464.jpg)###主机检查等待检查完成即可:![](http://img1.sycdn.imooc.com/5e50b2e500013d0416540641.jpg)![](http:/ / img2 .sycdn.imooc.com / 5e50b2e70 001 e1 e4 16070891.jpg)Cloudera建议将`/ proc / sys / vm / swappiness`设置为重置10。当前设置为30。使用`sysctl`命令在运行时更改该设置并编辑`/ etc / sysctl.conf`, ,在重启后保存该设置。您可以继续进行安装,但Cloudera Manager可能会报告您的主机通过交换而运行状况不良。###解决方法:**临时修改:**`








































的的sysctl vm.swappiness = 10执行执行cat / proc / SYS / VM / swappiness ```这里我们的修改已经生效,但是如果我们重启了系统,又会变成30 **永久修改:**在`的/等/ sysctl.conf`文件里添加如下参数:``` vm.swappiness = 10 ```或者:```回声'vm.swappiness = 10' >>的/etc/sysctl.conf中```已启用透明大页面压缩,可能会导致重大性能问题。请运行`回声从未> / SYS /内核/毫米/ transparent_hugepage /碎片整理`和`回声从未> / SYS /内核/毫米/ transparent_hugepage /启用`以体积此设置,然后将同一命令添加到/etc/rc.local里`等初始化脚本中,闸在系统重新启动时设置。安装上面的提示执行即可;##安装CDH实现###选择服务类型这里我选择自定义服务,动物园管理员,HDFS,纱线:![](http://img3.sycdn.imooc.com/5e50b2e8000198a818700923.jpg)>可以先安装基础组件,然后用到啥在安装啥> >如果所有服务都安装,可能安装过程中 会出现很多问题###角色分配





































CDH会自动任命一个角色分配,如果觉得不合理,我们可以手动调整一下,注意角色分配均衡:![](http://img1.sycdn.imooc.com/5e50b2ea0001162a17360934.jpg)###数据库设置![](http://img3.sycdn.imooc.com/5e50b2eb0001223014390518.jpg)![](http://img1.sycdn.imooc.com/5e50b2ec0001284517050865.jpg)![](http:// img1。 sycdn.imooc.com/5e50b2ed0001482619200937.jpg)![](http://img3.sycdn.imooc.com/5e50b2ee0001eb5219200937.jpg)##错误问题###无leveldbjni-1.8的java.library.path ```




















Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load library. Reasons: [Can't load library: /run/cloudera-scm-agent/process/68-cloudera-mgmt-SERVICEMONITOR/libleveldbjni-1.8.so, Can't load library: /run/cloudera-scm-agent/process/68-cloudera-mgmt-SERVICEMONITOR/libleveldbjni.so, no leveldbjni64-1.8 in java.library.path, no leveldbjni-1.8 in java.library.path, no leveldbjni in java.library.path, /run/cloudera-scm-agent/process/68-cloudera-mgmt-SERVICEMONITOR/libleveldbjni-64-1-4792575431304239050.8: libstdc++.so.6: : , /tmp/libleveldbjni-64-1-6079277982211108711.8: libstdc++.so.6: : ]

错误的原因:当前例程的glibc升级有关。既然不存在leveldbjni的库,那便给他安装一个。

安装leveldbjni库的方式非常有趣:

1)首先下载leveldbjni-all-1.8.jar

2)解压该jar包,在\ META-INF \ native \ linux64目录下找到libleveldbjni.so文件

3)将libleveldbjni.so文件上传到1中java.library.path中

卸载Cloudera Manager

如果因为其他原因,需要卸载Cloudera Manager,则在各个例程执行以下步骤即可。

bash
systemctl停止cloudera-scm-server
systemctl停止cloudera-scm-agent
yum -y删除’cloudera-manager- *’ yum清除所有umount cm_processes umount / var / run / cloudera-scm-agent / process rm -Rf / usr / share / cmf / var / lib / cloudera * / var / cache / yum / cloudera * / var / log / cloudera * / var / run / cloudera * rm -rf /tmp/.scmpreparenode.lock rm -Rf / var / lib / flume-ng / var / lib / hadoop * / var / lib / hue / var / lib / navigator / var / lib / oozie / var / lib / solr / var / lib / sqoop * / var / lib /动物园管理员RM

-rf /var/lib/hadoop-* /var/lib/impala /var/lib/solr /var/lib/zookeeper /var/lib/hue /var/lib/oozie /var/lib/pgsql /var/lib/sqoop2 /data/dfs/ /data/impala/ /data/yarn/ /dfs/ /impala/ /yarn/ /var/run/hadoop-/ /var/run/hdfs-/ /usr/bin/hadoop* /usr/bin/zookeeper* /usr/bin/hbase* /usr/bin/hive* /usr/bin/hdfs /usr/bin/mapred /usr/bin/yarn /usr/bin/sqoop* /usr/bin/oozie /etc/hadoop* /etc/zookeeper* /etc/hive* /etc/hue /etc/impala /etc/sqoop* /etc/oozie /etc/hbase* /etc/hcatalog

systemctl stop mariadb
yum -y remove mariadb-*
rm -rf /var/lib/mysql
rm -rf /var/log/mysqld.log
rm -rf /usr/lib64/mysql
rm -rf /usr/share/mysql
rm -rf /opt/cloudera
## 问题 ParcelUpdateService:com.cloudera.parcel.components.ParcelDownloaderImpl:无法检索远程包裹仓库清单 的bash 2019年8月27日20:35:50469 INFO WebServerImpl:com.cloudera.server.cmf .WebServerImpl:启动了Jetty服务器。2019-08-27 20:35:50,600错误ParcelUpdateService:com.cloudera.parcel.components.ParcelDownloaderImpl:无法检索远程包裹存储清单清单java.util.concurrent.ExecutionException:java.net.UnknownHostException:archive.cloudera.com: com.ning.http.client.providers.netty.future.NettyResponseFuture.abort(NettyResponseFuture.java:231)未知的名称或服务

    在com.ning.http.client.providers.netty.request.NettyRequestSender.abort(NettyRequestSender.java:422)
    com.ning.http.client.providers.netty.request.NettyRequestSender.sendRequestWithCertainForceConnect(NettyRequestSender.java:142)
     上的com.ning.http.client.providers.netty.request.NettyRequestSender.sendRequestWithNewChannel(NettyRequestSender.java:290)
     在com.ning.http.client.providers.netty.NettyAsyncHttpProvider.execute(NettyAsyncHttpProvider.java:87)
     处com .ning.http.client.providers.netty.request.NettyRequestSender.sendRequest(NettyRequestSender.java:117)
     处。ning.http.client.AsyncHttpClient.executeRequest(AsyncHttpClient.java:506)
    位于com.ning.http.client.AsyncHttpClient $ BoundRequestBuilder .execute(AsyncHttpClient.java:229)
     位于com.cloudera.parcel.components.ParcelDownloaderImpl.getRepositoryInfoFuture(ParcelDownloaderImpl.java:592)
     位于com.cloudera.parcel.components.ParcelDownloaderImpl .getRepositoryInfo(ParcelDownloaderImpl.java:544)
     com.cloudera.parcel.components.ParcelDownloaderImpl.javaRemoteRepos(ParcelDownloaderImpl.java:357)
     位于com.cloudera.parcel.components.ParcelDownloaderImpl $ 1 .run(ParcelDownloaderImpl.java:464)
    在com .cloudera.parcel.components.ParcelDownloaderImpl $1。运行(ParcelDownloaderImpl.java:459)
     在com.cloudera.cmf.persist.ReadWriteDatabaseTaskCallable.call(ReadWriteDatabaseTaskCallable.java:36)
     在java.util.concurrent.FutureTask.run(FutureTask.java:266)
     在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
     在java.util.concurrent.ThreadPoolExecutor中的$工人.RUN(ThreadPoolExecutor .java:624)
     在java.lang.Thread.run(Thread.java:748)

原因:java.net.UnknownHostException:archive.cloudera.com:名称或服务在java.net.Inet4AddressImpl.lookupAllHostAddr(本地)未知方法)在java.net.InetAddress $ 2.lookupAllHostAddr(InetAddress.java:928)在java .net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)在java.net.InetAddress.getAllByName0(InetAddress.java:1276),位于java.net.InetAddress.getAllByName(InetAddress.java:1192),位于java.net。 InetAddress。getAllByName(InetAddress.java:1126)(位于java.net.InetAddress.getByName(InetAddress.java:1076)(位于com.ning.http.client.NameResolver $ JdkNameResolver.resolve(NameResolver.java:28))

    在com.ning.http.client.providers.netty.request.NettyRequestSender.remoteAddress(NettyRequestSender.java:358)在com.ning.http.client.providers.netty.request.NettyRequestSender.connect(NettyRequestSender.java:369)在com.ning.http.client.providers.netty.request.NettyRequestSender.sendRequestWithNewChannel(NettyRequestSender.java:283)……另外15个```

不影响使用

安装蜂箱报错:org.apache.hadoop.hive.metastore.HiveMetaException:无法从蜂巢Metastore数据库检索架构表,不支持

bash [root @ master01〜] #rpm -qa | grep mysql-connector-java mysql-connector-java-5.1.25-3.el7.noarch`''

             jdbc版本不对,要求使用5.1.26以上版本的jdbc驱动
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP