1首先对于一个java还白的小白,先理解CDH与Hadoop的关系
一、Hadoop版本选择。
Hadoop大致可分为Apache Hadoop和第三方发行第三方发行版Hadoop,考虑到Hadoop集群部署的高效,集群的稳定性,
以及后期集中的配置管理,业界多使用Cloudera公司的发行版,简称为CDH。
下面是转载的Hadoop社区版本与第三方发行版本的比较:
Apache社区版本
优点:
- 完全开源免费。社区活跃文档、资料详实
缺点:
- 因为很活跃所以版本对应关系,各个版本层出不穷,让使用者不知所措,版本冲突兼容等。部署集群运维难度大。
第三方发行版本(如CDH,HDP,MapR等)
优点:
- 基于Apache协议,100%开源。
- 版本管理清晰。比如Cloudera,CDH1,CDH2,CDH3,CDH4等,后面加上补丁版本,如CDH4.1.0 patch level 923.142,表示在原生态Apache Hadoop 0.20.2基础上添加了1065个patch。
- 比Apache Hadoop在兼容性、安全性、稳定性上有增强。第三方发行版通常都经过了大量的测试验证,有众多部署实例,大量的运行到各种生产环境。
- 版本更新快。通常情况,比如CDH每个季度会有一个update,每一年会有一个release。
- 基于稳定版本Apache Hadoop,并应用了最新Bug修复或Feature的patch
- 提供了部署、安装、配置工具,大大提高了集群部署的效率,可以在几个小时内部署好集群。
- 运维简单。提供了管理、监控、诊断、配置修改的工具,管理配置方便,定位问题快速、准确,使运维工作简单,有效。
缺点:
- 涉及到厂商锁定的问题。(可以通过技术解决)
转自 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是我起的主机名
h
ostnamectl 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
待续,明天再写
原文地址:https://www.cnblogs.com/ken-admin/p/10525025.html