hadoop集群搭建手册

(# 为root账户下操作,$ 为hadoop账户下操作)


【 比较好用的工具:ambari  https://blog.csdn.net/cy309173854/article/details/58039594 】



环境准备


安装虚拟机VMware



使用centOS镜像


创建三个linux虚拟机:hadoop01,hadoop02,hadoop03

(hadoop02、hadoop03可在hadoop01执行完一些基本配置之后,克隆hadoop01的快照得来)


修改主机名

# vi /etc/sysconfig/network



修改网卡地址

# vi /etc/sysconfig/network-scripts/ifcfg-eth0


// 重启网络服务

# service network restart


添加内网域名映射

// 修改hosts文件

# vi /etc/hosts



创建hadoop用户

# useradd hadoop

  

// 修改hadoop这个用户的密码

# passwd hadoop


设置系统的默认启动级别

# vi /etc/inittab


3 是多用户模式,并且不启动图形界面


配置 hadoop 用户 sudoer 权限

#  vi /etc/sudoers

找到 root ALL=(ALL) ALL 这一行,然后在他下面添加一行:hadoop ALL=(ALL) ALL



防火墙设置

查看防火墙状态:service iptables status

关闭防火墙:service iptables stop

开启防火墙:service iptables start

重启防火墙:service iptables restart

关闭防火墙开机启动:chkconfig iptables off

开启防火墙开机启动:chkconfig iptables on


安装jdk

上传 jdk-7u80-linux-x64.tar.gz(本人使用secureCRT,配置连接虚拟机进行操作)



// 解压至 /usr/local 目录

# tar –zxvf jdk-7u80-linux-x64.tar.gz –C /usr/local


// 修改配置文件

# vi /etc/profile

在最后加入两行:

export JAVA_HOME=/usr/local/jdk1.8.0_73
export PATH=$PATH:$JAVA_HOME/bin



// 重新加载配置文件

# source /etc/profile


// 检查是否安装成功

# java–version



mysql安装

//  检查以前是否装过 Mysql

# rpm -qa | grep -i mysql

// 发现有的话就都卸载

# rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64


// 删除老版本 mysql 的开发头文件和库

# rm -rf /usr/lib/mysql

# rm -rf /usr/include/mysql

// 注意:卸载后/var/lib/mysql 中的数据及/etc/my.cnf 不会删除,确定没用后就手工删除

# rm -rf /etc/my.cnf
# rm-rf /var/lib/mysq


// 上传压缩包


// 解压至 /root/apps 

# tar -zxvf mysql-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar –C /root/apps


// 进入到相应目录

# cd /root/apps

// 安装server

# rpm-ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm

// 安装客户端

# rmp -ivh MySQL-client-5.6.26-1.linux_glibc2.5.x86_64.rpm


// 启动 mysql

# service mysql start

(初始密码在 /root/.mysql_secret 这个文件里)


// 登录之后修改密码

mysql>set PASSWORD=PASSWORD('root')


// 退出登陆验证,看是否改密码成功

mysql>exit

# mysql -uroot -p


// 增加远程登录权限

mysql>GRANT ALL PRIVILEGES ON *.* TO'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

mysql>FLUSH PRIVILEGES


zookeeper集群搭建


// 上传安装包



// 解压至相应目录

$ tar -zxvf zookeeper-3.4.10.tar.gz -C apps/


// 修改配置文件

$ mv apps/zookeeper-3.4.10/conf/zoo_sample.cfg apps/zookeeper-3.4.10/conf/zoo.cfg

$ vi apps/zookeeper-3.4.10/conf/zoo.cfg


// 如果有第四台机器,并且想配置 observer

增加  server.4=hadoop04:2888:3888:observer


// 分发给其它节点

$ scp -r zookeeper-3.4.10/ root@hadoop02:$PWD

$ scp-r zookeeper-3.4.10/ root@hadoop03:$PWD


// 在dataDir=/home/hadoop/data/zkdata中建立服务器id文件

// 例如server.1=hadoop01:2888:3888当中的 id就是 1

// 在hadoop01 /home/hadoop/data/zkdata 中执行

$ echo 1 > myid  

// 在hadoop02 /home/hadoop/data/zkdata 中执行

$ echo 2 > myid

// 在hadoop03 /home/hadoop/data/zkdata 中执行

$ echo 3 > myid


参数说明:

tickTime

基本事件单元,以毫秒为单位。它用来控制心跳和超时,默认情况下最小的会话超时时间为两倍的 tickTime。

initLimit

此配置表示,允许 follower (相对于 leader 而言的“客户端”)连接并同步到 leader 的初始化连接时间,它以 tickTime 的倍数来表示。当超过设置倍数的 tickTime 时间,则连接失败。

syncLimit

此配置表示, leader 与 follower 之间发送消息,请求和应答时间长度。如果 follower 在设置的时间内不能与 leader 进行通信,那么此 follower 将被丢弃。

dataDir

存储内存中数据库快照的位置

注意:如果需要保留日志信息,那么可以考虑配置 dataLogDir 的位置,这个位置就是日志的存储目录。通常情况下是分开存储的。并且应该谨慎地选择日志存放的位置,使用专用的日志存储设备能够大大地提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会在很大程度上影响系统的性能。

clientPort

监听客户端连接的端口,默认是 2181,最好不要修改。

最后再增加 zookeeper 的服务器列表信息,格式为:

server.id= 主机名: 心跳端口: 选举端口

例子:server.1=hadoop01:2888:3888

其中 id 虽然可以随便写,但是有两点要求,第一不能重复,第二范围是 1-255,并且对应服务器列表上还得存在对应的 id 文件,具体看上面操作。


// 配置环境变量

$ vi ~/.bash_profile

// 增加两行

export ZOOKEEPER_HOME=/home/hadoop/apps/zookeeper-3.4.10

export PATH=$PATH:$ZOOKEEPER/bin


// 重新加载

$ source ~/.bash_profile


// 启动命令

$ zkServer.shstart


hadoop集群环境安装

服务器同步时间

方法一:

// 查看时间

# date

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值