码迷,mamicode.com
首页 > 其他好文 > 详细

CDH搭建Hadoop分布式集群(超级小白)

时间:2019-03-14 18:14:32      阅读:1080      评论:0      收藏:0      [点我收藏+]

标签:grep   改密码   停止   ons   更新   安装数据库   rac   public   lld   

1首先对于一个java还白的小白,先理解CDH与Hadoop的关系

一、Hadoop版本选择。

Hadoop大致可分为Apache Hadoop和第三方发行第三方发行版Hadoop,考虑到Hadoop集群部署的高效,集群的稳定性,

以及后期集中的配置管理,业界多使用Cloudera公司的发行版,简称为CDH

下面是转载的Hadoop社区版本与第三方发行版本的比较:

Apache社区版本

优点:

  1. 完全开源免费。社区活跃文档、资料详实

缺点:

  1. 因为很活跃所以版本对应关系,各个版本层出不穷,让使用者不知所措,版本冲突兼容等。部署集群运维难度大。

 第三方发行版本(如CDH,HDP,MapR等)

优点:

  1. 基于Apache协议,100%开源。
  2. 版本管理清晰。比如Cloudera,CDH1,CDH2,CDH3,CDH4等,后面加上补丁版本,如CDH4.1.0 patch level 923.142,表示在原生态Apache Hadoop 0.20.2基础上添加了1065个patch。
  3. 比Apache Hadoop在兼容性、安全性、稳定性上有增强。第三方发行版通常都经过了大量的测试验证,有众多部署实例,大量的运行到各种生产环境。
  4. 版本更新快。通常情况,比如CDH每个季度会有一个update,每一年会有一个release。
  5. 基于稳定版本Apache Hadoop,并应用了最新Bug修复或Feature的patch
  6. 提供了部署、安装、配置工具,大大提高了集群部署的效率,可以在几个小时内部署好集群。
  7. 运维简单。提供了管理、监控、诊断、配置修改的工具,管理配置方便,定位问题快速、准确,使运维工作简单,有效。

缺点:

  1. 涉及到厂商锁定的问题。(可以通过技术解决)

转自 http://itindex.net/detail/51484-自学-大数据-生产

因为要经常使用linux系统,安装虚拟机下面是地址
https://blog.csdn.net/babyxue/article/details/80970526

 

二、硬件检查与系统配置

1.硬件检查

1)检查内存

2)检查所有磁盘挂载。将noatime参数写入/etc/fstab,并remount所有数据盘。这一步并不知道有什么用,看一下就行,有点像是清理磁盘,提高性能,这一步最好在新机器上,没有他用的时候执行,我觉得,有错请指正

3)检查磁盘读写

4)检测网卡设置

5)检测路由

6)检查系统版本

做这些目的是,保证没问题,看看即可,因为一些小细节可能就会出现整个框架不能使用

2.系统配置(centos7为例)

1)配置hostname与/etc/hosts(所有服务器)

设置的方法有很多 常用命令

查看  hostname

hostname  cdh1                        cdh1是我起的主机名

hostnamectl set-hostname cdh1

这两个命令的实质是修改 /etc/hostname  中的值  不同文件保存位置可能不一样有的保存在 /etc/hosts

2)所有节点安装SSH(所有服务器)/免密登录其他服务器节点

1可以选择CM server到agent通过用户名密码登录或者是公钥的方式。(推荐)

命令  ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/fdipzone/.ssh/id_rsa): 这里输入要生成的文件名 直接回车 
Enter passphrase (empty for no passphrase):                       这里输入密码 直接回车 
Enter same passphrase again:                                      这里重复输入密码  直接回车 

生成两个文件在 /root/.ssh/ 下
id_rsa.pub    id_rsa

循环复制秘钥到每个服务器节点
for num in `seq 2 2`;do ssh-copy-id -i /root/.ssh/id_rsa.pub cdh$num;done   
 
 

2若使用用户名的方式,需保证所有服务器root用户名和密码一致。

3)安装Oracle JDK(所有服务器)

查看本机是否安装jdk

java -version                           rpm -qa|grep jdk

查看安装的java jdk  如果没有安装下面地址jdk,如果是openjdk就先卸载

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html  下载linux版本64位 rpm

下载之后上传到linux(使用rz sz命令),或者直接下载

我下载的是jdk-8u201-linux-x64.rpm  对应的1.8版本,不知道对不对

安装命令  rpm -ivh jdk-8u201-linux-x64.rpm

查看jdk版本  java -version  

更改环境变量

首先找到jdk安装位置  一般在/usr/java/下

vim /etc/profile //打开环境变量文件

usr/java/jdk1.8.0_131  是jdk安装路径  CLASSPATH 中找到tools.jar 与dt.jar位置不要错  也有可能在 jre/lib下,还有几点需要注意,j

ar包位置不能错,环境变量引用使用$符合 windows中是%%

JAVA_HOME=/usr/java/jdk1.8.0_131   

CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

export PATH CLASSPATH JAVA_HOME

将上面4行加入profile底部

source /etc/profile //重新载入

4)关闭防火墙和SELinux(所有服务器)

查看防火墙状态

firewall-cmd --state

停止防火墙

systemctl stop firewalld.service     或者    systemctl stop firewalld

禁止firewall开机启动

systemctl disable firewalld.service

关闭selinux

进入到/etc/selinux/config文件

 

将SELINUX=enforcing改为SELINUX=disabled

或者

sed -i ‘s/SELINUX=enforcing/SELINUX=disable/g‘ /etc/selinux/config

setenforce 0

实质一样,修改文件参数

5)设置swappiness(所有服务器)

sysctl -w vm.swappiness=0 /etc/sysctl.conf添加以下内容:vm.swappiness = 0

6)设置ulimit(所有节点)

ulimit -n 65535

sysctl -w vm.swappiness=0 /etc/sysctl.conf添加以下内容:vm.swappiness = 0

 

7)安装数据库

卸载自带的mariadb

[root@cdh1 /]# rpm -qa | grep mariadb
mariadb-libs-5.5.41-2.el7_0.x86_64
[root@cdh1 /]# rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64

 安装mysql

 

[root@cdh1 /]# rpm -qa | grep mariadb
mariadb-libs-5.5.41-2.el7_0.x86_64
[root@cdh1 /]# rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64
[root@cdh1 /]# tar -xvf MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle.tar //mysql rpm包拷贝到服务器上然后解压
[root@cdh1 /]# rpm -ivh MySQL-*.rpm //安装释出的全部rpm
[root@cdh1 /]# cp /usr/share/mysql/my-default.cnf /etc/my.cnf
[root@cdh1 /]# vi /etc/my.cnf //在配置文件中增加以下配置并保存
[mysqld]
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = ‘SET NAMES utf8‘
character-set-server = utf8

[root@cdh1 /]# yum install -y perl-Module-Install.noarch
[root@cdh1 /]# /usr/bin/mysql_install_db //初始化mysql
[root@cdh1 /]# service mysql restart //启动mysql
ERROR! MySQL server PID file could not be found!
Starting MySQL... SUCCESS!
[root@cdh1 /]# cat /root/.mysql_secret //查看mysql root初始化密码
# The random password set for the root user at Fri Sep 22 11:13:25 2017 (local time): 9mp7uYFmgt6drdq3
[root@cdh1 /]# mysql -u root -p //登录进行去更改密码
mysql> SET PASSWORD=PASSWORD(‘123456‘);
mysql> update user set host=‘%‘ where user=‘root‘ and host=‘localhost‘; //允许mysql远程访问
Query OK, 1 row affected (0.05 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

[root@cdh1 /]# chkconfig mysql on //配置开机启动

[root@cdh1 /]# tar -zcvf mysql-connector-java-5.1.44.tar.gz // 解压mysql-connector-java-5.1.44.tar.gz得到mysql-connector-java-5.1.44-bin.jar
[root@cdh1 /]# mkdir /usr/share/java // 在各节点创建java文件夹
[root@cdh1 /]# cp mysql-connector-java-5.1.44-bin.jar /usr/share/java/mysql-connector-java.jar //将mysql-connector-java-5.1.44-bin.jar拷贝到/usr/share/java路径下并重命名为mysql-connector-java.jar

转字https://www.cnblogs.com/zhangleisanshi/p/7575579.html

 待续,明天再写

CDH搭建Hadoop分布式集群(超级小白)

标签:grep   改密码   停止   ons   更新   安装数据库   rac   public   lld   

原文地址:https://www.cnblogs.com/ken-admin/p/10525025.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!