「hadoop」cdh5.12离线安装(未完成)

cdh 5.12.1 安装

目前还未成功,仅供个人记录。

【下载必备工具】
当前系统为win7_x64
1、vmware虚拟机12.5
2、ubuntu16.04服务器版本
3、windows下的ssh工具,采用git bash
4、jdk安装包jdk-8u144-linux-x64.tar.gz
5、mysql java驱动包 mysql-connector-java-5.1.44-bin.jar
6、Cloudera Manager安装包 http://archive.cloudera.com/cm5/cm/5/cloudera-manager-xenial-cm5.12.1_amd64.tar.gz
7、cdh 安装包,三个文件:CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel,CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel.sha1,manifest.json, http://archive.cloudera.com/cdh5/parcels/5.12.1.3/

【注意事项】
1、按默认路径安装,比如/opt
2、各节点用户名和密码保持一致
3、/opt/cm-5.12.1的文件名不要改,否则会重新下载cm
4、hosts里的主机名必须小写,没有别名,没有重复IP
5、最好用root操作
6、该文档提到的7180网页是指namenode:7180网页
7、jdk最好按照在默认路径/usr/java/jdk1.8.0-<version>,如果按照在自定义路径,则需要在7180网页上配置jdk路径

【安装vmware虚拟机】
按正常安装并注册即可。

【虚拟机安装ubuntu16.04】
虚拟机安装服务器版本16.04。

【虚拟机网路适配】
按默认的NAT连接模式。

【安装vim】
替代vi编辑器,必备
$sudo apt-get install vim

【设置host】
$sudo vim /etc/hostname
注释掉 127.0.1.1的映射,改为具体IP地址到host的映射,如192.168.211.131 namenode
重启生效,$hostname 显示当前主机名

其中,1、主节点hosts增加子节点的映射
192.168.211.132 datanode1
192.168.211.133 datanode2
192.168.211.134 datanode3
192.168.211.135 datanode4

2、子节点增加主节点的映射
192.168.211.131 namenode

3、修改windowns下的host映射,位于C:\Windows\System32\drivers\etc\hosts文件
增加
192.168.211.131    namenode
192.168.211.132    datanode1
192.168.211.133    datanode2
192.168.211.134    datanode3
192.168.211.135    datanode4

【禁止IPv6】
cdh只支持IPv4,不支持IPv6,并且要禁止IPv6

$sudo vim /etc/sysctrl.conf 末尾增加内容:
#IPv6 disabled
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

【启用root账号】
设置密码 $sudo su,$passwd
设置允许远程root登录 $sudo vim /etc/ssh/sshd_config
PermitRootLogin项 改为 yes

【安装ping工具】
服务器版已默认安装,如果没安装,安装即可:$sudo apt-get install net-tools

【配置IP地址】
需要固定IP地址,由于是虚拟机,略

【安装ssh以及免登录】
安装ssh,包括服务器端:$sudo apt-get install ssh

免证书登录:
A 想ssh无密码登录 B
在A中生成公钥 #ssh-keygen -t rsa
把公钥添加到B中 #ssh-copy-id root@B // root为用户名

注意:需要配置namenode到所有datanode节点的ssh免登录,以及windows到namenode和所有datanode节点的ssh免登录

【替换源】
官方的源网络很慢,可以替换成国内源,比如阿里巴巴
$ sudo vim /etc/apt/sources.list
文件内容为:
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu xenial-security main restricted
deb http://mirrors.aliyun.com/ubuntu xenial-security universe
deb http://mirrors.aliyun.com/ubuntu xenial-security multiverse

【关闭防火墙】
默认防火墙处于关闭状态,查看防火墙状态$sudo ufw status

【安装python2.7】
$sudo apt-get install python
通过 $python 测试安装结果

【安装perl】
$sudo apt-get install perl

【安装iproute】
5.12及以上版本需要安装iproute
$sudo apt-get install iproute

【同步时区】
默认不是中国时区,需要设置
安装更新时间工具 $sudo apt-get install ntpdate
查看当前时区 $date -R
设置中国时区(Shanghai) $sudo tzselect 一步步选择
复制文件到/etc目录下 $sudo cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime
更新时间 $sudo ntpdate time.windows.com

【设置共享目录】(可选)
设置win主机与虚拟机共享目录
ubuntu中安装VMware Tools,参考“http://www.cnblogs.com/ftrako/p/7654773.html”
在虚拟机上设置共享文件夹,具体步骤网上搜索
目标,在ubuntu中可以直接访问windows下的共享文件夹

【安装java】
假设安装包已存放到共享文件夹中
创建安装目录 $sudo mkdir /usr/lib/jvm
解压安装包 $sudo tar -zxvf /mnt/hgfs/SharedFiles/jdk-8u144-linux-x64.tar.gz -C /usr/lib/jvm/
重命名 $sudo mv jdk1.8.0_144/ jdk
添加环境变量 $sudo vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/jdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH

环境变量生效 $source /etc/profile
修改权限 $sudo chown -R chendajian /usr/lib/jvm/jdk/
测试安装是否成功 $javac -version

【集群时间同步】
安装ntp $sudo apt-get install ntp   // 主节点
同步时间 $sudo ntpdate -u time.windows.com

【解决Cloudera 建议将 /proc/sys/vm/swappiness 设置为最大值 10。当前设置为 60,所有节点】
#echo 10 > /proc/sys/vm/swappiness
主机重启,该值会恢复到默认值60

【安装数据库驱动,仅主节点】
假设mysql已安装在windows主机中。
安装mysql客户端  $sudo apt-get install mysql-client-core-5.7
安装mysql驱动 $sudo apt-get install libmysql-java
测试登录  $mysql -h192.168.211.1 -P3306 -uchendajian -p123456 (h表示主机,P表示端口,u表示用户名,p表示密码)

【CDH包拷贝,主节点】
创建预设目录
$sudo mkdir /opt/cloudera
$sudo mkdir /opt/cloudera/parcel-repo
依次拷贝cdh包的三个文件到parcel-repo目录下
$sudo cp /mnt/hgfs/SharedFiles/hadoopcdh/CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel /opt/cloudera/parcel-repo/
$sudo cp /mnt/hgfs/SharedFiles/hadoopcdh/CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel.sha1 /opt/cloudera/parcel-repo/
$sudo cp /mnt/hgfs/SharedFiles/hadoopcdh/manifest.json /opt/cloudera/parcel-repo/

修改权限 $sudo chown -R chendajian /opt/cloudera

sha1改名,不然会重新下载
$sudo mv /opt/cloudera/parcel-repo/CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel.sha

【CM安装,所有节点】
解压cm包到/opt后注意修改权限
添加mysql java jar包 $sudo cp /mnt/hgfs/SharedFiles/mysql-connector-java-5.1.44-bin.jar /opt/cm-5.12.1/share/cmf/lib
修改成主节点名称 /opt/cm-5.12.1/etc/cloudera-scm-agent/config.ini, 设置server_host=namenode
修改java路径
/opt/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh
/opt/cm-5.12.1/share/cmf/bin/cmf-server

备注:主节点配置好cm后,通过scp传到其它节点

【初始化CM数据库,仅主节点】
$sudo /opt/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh mysql cm -h192.168.211.1 -P3306 -uchendajian -p123456 --scm-host localhost root 123456
说明:最后三个参数分别是 主机名 用户名 密码
数据库连接配置文件位于 /etc/cloudera-scm-server/db.properties

【解决DNS反向解析问题】
网上暴力方法: #mv /usr/bin/host /usr/bin/host.bak

【创建预设数据库】
mysql中依次创建hive, activity,oozie,hue等数据库,参考代码:create database activity DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

【启动Cloudera Manager】
agent需要等待server完全启动后才能启动
主节点
$sudo /opt/cm-5.12.1/etc/init.d/cloudera-scm-server start
$sudo /opt/cm-5.12.1/etc/init.d/cloudera-scm-agent start

从节点
$sudo /opt/cm-5.12.1/etc/init.d/cloudera-scm-agent start
当cloudera-scm-server、cloudera-scm-agent start启动成功之后,可通过http://主节点IP:7180来访问CM,用户名密码都为admin。剩下的就是一直点下一步和根据具体的需求来配置集群了。


【配置】
服务启动几分钟后,浏览器打开配置网页 http://namenode:7180
用户名密码都为admin

修改jdk路径
CDH的jdk默认路径是/usr/java/xxxx,需要改为自定义的/usr/lib/jvm/jdk,在7180的网页配置的高级选项中找到java相关的配置修改。

页面显示 Inspector did not run successfully.
几种可能:
1、IPv6没有禁止导致DNS反向查找失败
2、可能是由于jdk路径没有识别

问题集
检查agent日志,发现
 ERROR    Error, CM server guid updated, expected 26e2c7d5-dd47-4368-811f-a7d1d13e1b9a, received 24171d15-06a4-43f1-b237-cb0e0540017
解决办法:
删除/opt/cm-5.12.1/lib/cloudera-scm-agent/cm_guid

转载于:https://www.cnblogs.com/ftrako/p/7660747.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/393743.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

转载 JDK + Android-SDK + Python + MonkeyRunner 的安装

转载来自&#xff1a; 小海豚的博客 http://blog.sina.com.cn/u/1295334083 我只是搬运工。。。 JDK Android-SDK Python MonkeyRunner 的安装 1. Android-SDK介绍2. 安装 JDK, Android-SDK&#xff08;包含MonkeyRunner) , Python 3. 设置环境变量4. 验证是否安装成功1. …

跟随器反馈回路电阻_如何将短反馈回路设置为单独编码器

跟随器反馈回路电阻I’ve spent the last couple years as a solo freelance developer. Comparing this experience to previously working in companies, I’ve noticed that those of us who work alone can have fewer iterative opportunities for improvement than devel…

leetcode991. 坏了的计算器(贪心)

在显示着数字的坏计算器上&#xff0c;我们可以执行以下两种操作&#xff1a; 双倍&#xff08;Double&#xff09;&#xff1a;将显示屏上的数字乘 2&#xff1b; 递减&#xff08;Decrement&#xff09;&#xff1a;将显示屏上的数字减 1 。 最初&#xff0c;计算器显示数字…

模块怎么用_Android 组件化/模块化 的理解!

作者&#xff1a;前行的乌龟到现在组件化真的不是什么新鲜东西了&#xff0c;大公司都用的滚瓜烂熟&#xff0c;龙飞凤舞了&#xff0c;也就是现在部分中型项目和小项目在组件化的路上努力。所以同志们&#xff0c;组件化没玩过的&#xff0c;不熟悉的赶紧搞起来&#xff0c;说…

操作系统基础

操作系统基础一个完整的操作系统包括 &#xff08; kernel application&#xff09;内核 应用程序而我们要学习操作系统&#xff1a;Linux操作系统我们平时所用的WINDOWS和MS-DOS都是微软出的&#xff0c;而Linux不是微软出的&#xff0c;Linux的最大好处是非商业软件&#x…

leetcode1247. 交换字符使得字符串相同(贪心)

有两个长度相同的字符串 s1 和 s2&#xff0c;且它们其中 只含有 字符 “x” 和 “y”&#xff0c;你需要通过「交换字符」的方式使这两个字符串相同。 每次「交换字符」的时候&#xff0c;你都可以在两个字符串中各选一个字符进行交换。 交换只能发生在两个不同的字符串之间…

interop_如何在Blazor中实现JavaScript Interop

interop介绍 (Introduction) In this article, we will learn about JavaScript Interop in Blazor. We will understand what JavaScript Interop is and how we can implement it in Blazor with the help of a sample application.在本文中&#xff0c;我们将学习Blazor中Ja…

Centos 7和 Centos 6开放查看端口 防火墙关闭打开

Centos 7 firewall 命令&#xff1a; 查看已经开放的端口&#xff1a; firewall-cmd --list-ports 开启端口 firewall-cmd --zonepublic --add-port80/tcp --permanent 命令含义&#xff1a; –zone #作用域 –add-port80/tcp #添加端口&#xff0c;格式为&#xff1a;端口/通讯…

和get redis_SpringBoot整合Redis,你get了吗?

Our-task介绍本篇博客是我github上our-task&#xff1a;一个完整的清单管理系统的配套教程文档&#xff0c;这是SpringBootVue开发的前后端分离清单管理工具&#xff0c;仿滴答清单。目前已部署在阿里云ECS上&#xff0c;可进行在线预览&#xff0c;随意使用&#xff08;附详细…

linux课程设计qq,仿QQ聊天系统课程设计.doc

目录绪论1一&#xff0e;需求分析11.1软件功能需求分析21.2 安全需求分析2二&#xff0e;总体设计32.1 软件结构图32.2 功能描述32.2.1注册功能概要42.2.2登录功能概要42.2.3聊天功能概要52.3 安全设计6三&#xff0e;数据库设计63.1概念结构设计63.2逻辑结构设计73.3物理结构设…

ocp linux 基础要点

基本命令&#xff1a; 创建/修改/删除用户 useradd/usermod/userdel 创建/修改/删除用户组 groupadd/groupmod/groupdel 修改所属用户/所属用户组 chown/chgrp 修改权限 chmod 创建文件夹 mkdir 创建文件 touch 切换目录 …

leetcode1386. 安排电影院座位(贪心)

如上图所示&#xff0c;电影院的观影厅中有 n 行座位&#xff0c;行编号从 1 到 n &#xff0c;且每一行内总共有 10 个座位&#xff0c;列编号从 1 到 10 。 给你数组 reservedSeats &#xff0c;包含所有已经被预约了的座位。比如说&#xff0c;researvedSeats[i][3,8] &…

首席技术执行官_如何在几分钟内找到任何首席执行官的电子邮件地址

首席技术执行官by Theo Strauss由西奥斯特劳斯(Theo Strauss) 如何在几分钟内找到任何首席执行官的电子邮件地址 (How to find any CEO’s email address in minutes) 银河电子邮件指南&#xff1a;第一部分 (The Emailer’s Guide To The Galaxy: Part I) I’m 17, so my net…

Linux 查看磁盘或文件夹及文件大小

当磁盘大小超过标准时会有报警提示&#xff0c;这时如果掌握df和du命令是非常明智的选择。 df可以查看一级文件夹大小、使用比例、档案系统及其挂入点&#xff0c;但对文件却无能为力。 du可以查看文件及文件夹的大小。 两者配合使用&#xff0c;非常有效。比如用df查看哪个…

Python列表基础

列表&#xff1a;创建列表:list[] 注意&#xff1a;列表里面类型可以是不同的类型 取值&#xff1a;list[2]   替换&#xff1a;注意不要越界(下表超出了可表示范围) 操作&#xff1a; 合并列表&#xff1a;   list3list2list1 列表的重复:   (list8*3)   判断元素是否…

树莓派 触摸屏_如何用树莓派搭建一个颗粒物(PM2.5)传感器

用树莓派、一个廉价的传感器和一个便宜的屏幕监测空气质量。-- Stephan Tetzel(作者)大约一年前&#xff0c;我写了一篇关于如何使用树莓派和廉价传感器测量 空气质量 的文章。我们这几年已在学校里和私下使用了这个项目。然而它有一个缺点&#xff1a;由于它基于无线/有线网&a…

shell 25个常用命令

1.列出所有目录使用量&#xff0c;并按大小排序。 ls|xargs du -h|sort -rn #不递归下级目录使用du -sh2.查看文件排除以#开关和空白行&#xff0c;适合查看配置文件。 egrep -v "^#|^$" filenamesed /#.*$/d; /^ *$/d3.删除空格和空行。 sed /^$/d filename #删除空…

tensorflow入门_TensorFlow法律和统计入门

tensorflow入门by Daniel Deutsch由Daniel Deutsch TensorFlow法律和统计入门 (Get started with TensorFlow on law and statistics) What this is about 这是关于什么的 What we will use 我们将使用什么 Get started 开始吧 Shell commands for installing everything you …

centos7 nginx+php5.6+mysql安装与配置

安装与配置 php 56的安装 php的配置写在 php.ini&#xff0c;可在phpinfo()中查看 //查找已安装 yum list installed | grep php // php卸载 yum -y remove php56* yum remove httpd* php* 可用的资源&#xff1a;centos 安装php56nginx nginx php-fpm nginx安装 sudo rpm -Uv…

leetcode337. 打家劫舍 III(dfs)

在上次打劫完一条街道之后和一圈房屋后&#xff0c;小偷又发现了一个新的可行窃的地区。这个地区只有一个入口&#xff0c;我们称之为“根”。 除了“根”之外&#xff0c;每栋房子有且只有一个“父“房子与之相连。一番侦察之后&#xff0c;聪明的小偷意识到“这个地方的所有房…