hadoop完全分布式手动安装(一主多从centos linux各版本均试验成功,文档完整无一遗漏)
hadoop完全分布式手动安装(一主多从centos linux各版本均试验成功,文档完整无一遗漏)
网上的文章99%都是垃圾,我凭良心书写,确保幼儿园同学也能安装成功!
查看系统环境
1、查看Centos的版本
查看版本
lsb_release -a
或:
rpm -q centos-release
2、查看是否安装openjdk
rpm -qa | grep java
3、查看是否安装mariadb(mysql)
rpm -qa | grep mariadb
4、查看是否安装mysql
rpm -qa | grep mysql
5、查看是否安装ssh
rpm -qa | grep ssh
6、查看是否安装ntp
rpm -qa | grep ntp
7、查看是否安装httpd
rpm -qa | grep httpd
8、如果安装了openjdk、mariadb就卸载
yum -y remove java 具体安装的包
yum -y remove mariadb 具体安装的包
yum -y remove mariadb mariadb-libs-5.5.41-2.el7_0.x86_64
一、环境配置
1、修改机器名
1、Centos7以下版本: vi /etc/sysconfig/network
2、Centos7级以上版本:hostnamectl set-hostname hadoop_master
查看主机名 hostnamectl --static
修改/etc/hosts添加 (所有机器)
vi /etc/hosts
192.168.1.153 master #IP地址依据你的实际情况来
192.168.1.124 slave1 #IP地址依据你的实际情况来
192.168.1.234 slave2 #IP地址依据你的实际情况来
2、环境设置 (所有机器)
echo never > /sys/kernel/mm/transparent_hugepage/defrag
vi /etc/rc.local 添加 echo never > /sys/kernel/mm/transparent_hugepage/defrag
或
echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >>/etc/rc.local
sudo sysctl vm.swappiness=10
centos 7以下
vi /etc/sysctl.conf 添加 vm.swappiness=10
centos7以上
vi /usr/lib/sysctl.d/00-system.conf 添加 vm.swappiness=10
或者采用 关闭 echo "vm.swappiness=10" >>/usr/lib/sysctl.d/00-system.conf #将字符串 vm.swappiness=10 添加到 00-system.conf 这个文件的末端
3、配置ssh (所有机器)
a、如果端口不是22则需要修改默认端口
vi /etc/ssh/ssh_config 修改 ssh默认的端口
b、安装openssh
yum install openssh
c、配置无密码登录
ssh-keygen -t rsa 一路回车即可
cd /root/.ssh
cp id_rsa.pub master.pub
cp id_rsa.pub slave1.pub
cp id_rsa.pub slave2.pub
cat /root/.ssh/master.pub >> /root/.ssh/authorized_keys
cat /root/.ssh/master.pub >> /root/.ssh/authorized_keys
cat /root/.ssh/slave1.pub >> /root/.ssh/authorized_keys
cat /root/.ssh/slave2.pub >> /root/.ssh/authorized_keys
cat /root/.ssh/slave2.pub >> /root/.ssh/authorized_keys
service sshd restart
4、关闭防火墙 (所有机器)
service iptables stop #临时关闭
/etc/rc.d/init.d/iptables restart
chkconfig iptables off #重启后生效
centos 7关闭防火墙
service firewalld stop
chkconfig firewalld off #重启后生效
5、配置时间同步服务ntp
如果没有先安装 ntpd服务: yum install ntp
vi /etc/ntp.conf
master机器添加如下内容:
server time.nist.gov
slave机器添加如下内容:
restrict 192.168.1/24 mask 255.255.255.0 nomodify
server master
启动ntp服务
service ntpd restart
将ntp服务加入开机启动中
chkconfig ntpd on
查看ntp服务状态 ntpstat
从主服务器更新一下时间
ntpdate -u hadoop_master
6、
二、软件手动安装
1、JDK安装
a、下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
b、解压到/opt/目录下 tar zxvf jdk-8u111-linux-x64.tar.gz -C /opt/
c、目录名修改为jdk:mv /opt/jdk1.8.0_111 /opt/jdk
d、配置jdk环境
vi /etc/profile
添加:
export JAVA_HOME=/opt/jdk
export JRE_HOME=/opt/jdk/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=.:/jre/lib/dt.jar:/lib/tools.jar:/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
java -version 查看java版本是否正确
2、安装mysql
a、下载 mysql www.oracle.com
b、下载地址 http://dev.mysql.com/downloads/mysql/
c、解压到/usr/local/目录下 tar zxvf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
d、改名为 mysql: mv mysql-5.7.16-linux-glibc2.5-x86_64 mysql
e、建立用户组:groupadd mysql
f、建立用户mysql:useradd -r -g mysql -s /bin/false mysql #设置-s /bin/false表示mysql不能作为登入用户
g、更改mysql目录的拥有者权限:
cd mysql/
mkdir data #作为存放数据的目录
chown -R mysql .
chgrp -R mysql .
安装依赖包:yum install libaio
h、安装mysql: ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
初始化成功后会生成一个初始密码:lYFUkH.E>2TF(每次都不一样,依据实际的来)
bin/mysql_ssl_rsa_setup --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
i、配置权限:
chown -R root /usr/local/mysql/
chown -R mysql /usr/local/mysql/data/
j、进行配置:
将 my.cnf复制到 /etc/目录下
添加如下内容:
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql
bind-address=0.0.0.0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqld_safe]
log-error=/usr/local/mysql/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
my.cnf中添加 bind-address= 0.0.0.0 是为了防止某些服务器采用ipv6
k、配置mysql开机启动兵启动服务
mkdir /etc/init.d/mysql
cp support-files/mysql.server /etc/init.d/mysqld (建立mysqld服务)
service mysqld start
chkconfig mysqld on
k、修改密码
使用 mysql -uroot -p
输入初始化生成的密码进入后
第一次进入通过:set password = password('123456'); 将密码修改成 123456
l、设置Mysql远程访问权限:
grant all privileges on *.* to 'root'@'%' identified by 'wendy197626' with grant option;
flush privileges;
3、安装完JDK和Mysql之后修改整体的环境变量:
vi /etc/profile
export MYSQL_HOME=/opt/mysql
export JAVA_HOME=/opt/jdk
export JRE_HOME=/opt/jdk/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$MYSQL_HOME/bin
export CLASSPATH=.:/jre/lib/dt.jar:/lib/tools.jar:/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH MYSQL_HOME
保存并更新环境 source /etc/profile
4、安装hadoop2.7.3 (一主两从也就是一台namenode两台datanode)
a、下载地址:https://hadoop.apache.org/releases.html
b、解压到/opt/目录下 tar zxvf ~/soft/hadoop.tar.gz -C /opt/
解压后目录名修改为hadoop:mv /opt/hadoop-2.7.3 /opt/hadoop
c、配置hadoop环境
第一步:
在/opt/ 建立数据存储目录
cd /opt/hadoop
mkdir tmp
mkdir dfs
mkdir dfs/data
mkdir dfs/name
mkdir journaldata (暂时不需要)
第二步:
参数配置:
cd /opt/hadoop/etc/hadoop
配置文件在:/opt/hadoop/etc/hadoop 一共7个主要文件
1)修改:vi /opt/hadoop/etc/hadoop/hadoop-env.sh
#头部添加如下内容:
export JAVA_HOME=/opt/jdk
export HADOOP_HOME=/opt/hadoop
export HADOOP_NAMENODE_OPTS="-XX:+UseParallelGC"
2)修改:vi /opt/hadoop/etc/hadoop/yarn-env.sh
#头部添加如下内容:
export JAVA_HOME=/opt/jdk
3)修改:vi /opt/hadoop/etc/hadoop/core-site.xml
<configuration>
#中间添加如下内容
<property>
<name>hadoop.tmp.dir</name>
<value>file:/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
4)修改:vi /opt/hadoop/etc/hadoop/hdfs-site.xml (dfs.replication表示数据副本数量,必须小于集群节点数)
<configuration>
#中间添加如下内容
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
5)修改:vi /opt/hadoop/etc/hadoop/mapred-site.xml
<configuration>
#中间添加如下内容 (启动方式yarn)
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
6)修改:vi /opt/hadoop/etc/hadoop/yarn-site.xml
<configuration>
#中间添加如下内容
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
7)修改:vi /opt/hadoop/etc/hadoop/slaves集群配置
删除默认的localhost,增加从节点机器名或IP地址(按行)
d、环境配置
vi /etc/profile
添加如下内容(没有的部分)
HADOOP_PREFIX=/opt/hadoop
export HADOOP_PREFIX
export HADOOP_HOME=/opt/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export MYSQL_HOME=/usr/local/mysql
export JAVA_HOME=/opt/jdk
export JRE_HOME=/opt/jdk/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$MYSQL_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export CLASSPATH=.:/jre/lib/dt.jar:/lib/tools.jar:/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH MYSQL_HOME HADOOP_HOME
保存后,更新环境(确保每台机器的配置完全一致哦)
source /etc/profile
e、启动Hadoop
1)将本机配置好的hadoop完整复制到其余机器的 /opt/hadoop 目录下
scp -r /opt/hadoop 节点机名:/opt/hadoop
2)格式化namenode
/opt/hadoop/bin/hdfs namenode –format
3)启动服务
/opt/hadoop/sbin/start-all.sh
f、用 jps命令查看slave
NameNode
DataNode
Jps Master
用 jps命令查看Master
NodeManager
ResourceManager
SecondaryNameNode
用hadoop fs -ls / (查看目录)
用hadoop fs -mkdir /input (建立目录)
用hadoop fs -put word.txt /input (存储文件word.txt)
用hadoop jar wordcount.jar wordcount /input/word.txt /output (执行一个小任务看看:))
g、在浏览器中输入:http://120.92.50.143:8088/ 即可看到YARN的ResourceManager的界面。注意:默认端口是8088,
h、大功告成!
作者小白救星2016-12-06于杭州,有任何疑问请与我联系 QQ 99923309
hadoop完全分布式手动安装(一主多从centos linux各版本均试验成功,文档完整无一遗漏)的更多相关文章
- 如何安装NodeJS到阿里云Centos (64位版本V5-7)
如何安装NodeJS到阿里云Centos (64位版本V5-7) (Centos与Red Hat® Enterprise Linux® / RHEL, Fedora属于一类) 1) 安装v0.10版 ...
- Hadoop完全分布式模式安装部署
在Linux上搭建Hadoop系列:1.Hadoop环境搭建流程图2.搭建Hadoop单机模式3.搭建Hadoop伪分布式模式4.搭建Hadoop完全分布式模式 注:此教程皆是以范例讲述的,当然你可以 ...
- 初学者值得拥有【Hadoop伪分布式模式安装部署】
目录 1.了解单机模式与伪分布模式有何区别 2.安装好单机模式的Hadoop 3.修改Hadoop配置文件---五个核心配置文件 (1)hadoop-env.sh 1.到hadoop目录中 2.修 ...
- hadoop完全分布式的安装
下载地址: centos 7.5 下载地址 清华 http://mirrors.tuna.tsinghua.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-DV ...
- Hadoop全分布式模式安装
一.准备 1.准备至少三台linux服务器,并安装JDK 关闭防火墙如下 systemctl stop firewalld.service systemctl disable firewalld.se ...
- Linux手动安装新版本Python教程(CentOS)
一.说明 1.1 linux为什么不升级python版本 2008年python3就发布了,到2020年1月1日python2.7就停止更新了,为什么主流的linux迟迟不去除python2自带pyt ...
- CentOS6.5升级手动安装GCC4.8.2 与 CentOS 6.4 编译安装 gcc 4.8.1
http://blog.163.com/zhu329599788@126/blog/static/6669335020161179259975 http://www.cnblogs.com/codem ...
- Hadoop伪分布式模式安装
一.Hadoop介绍 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS.HDFS有高容错性的特点,并且设计用来部署在低廉的硬件上:而且 ...
- hadoop伪分布式组件安装
一.版本建议 Centos V7.5 Java V1.8 Hadoop V2.7.6 Hive V2.3.3 Mysql V5.7 Spark V2.3 Scala V2.12.6 Flume V1. ...
随机推荐
- Redis数据结构(三)
Redis五种数据类型: (1)字符串 (2)字符串列表 (3)有序字符串集合 (4)哈希 (5)字符串集合 其中(4)(5)应用最多. key命名的注意: (1)不要过长,尽量不要超过1024,会降 ...
- Android代码实现求和运算
Android代码实现求和运算 实验要求: 用Android语言设计一个界面,点击某按钮实现求和运算. 代码实现 码云链接 核心代码 以上为求和按钮的代码截图,解析如图标注. 实验结果 当输入为空值时 ...
- 使用Nmap攻击靶机和使用Wireshark进行嗅探、分析
使用Nmap攻击靶机和使用Wireshark进行嗅探.分析 在上一次课中已经对Nmap的使用.原理已经做了很多学习,这次的课更多地针对Wireshark进行学习和使用. 使用192.168.200.1 ...
- awk基础04-内置函数
在awk中常用的内置函数大概分为:数值函数.字符函数.时间函数.二进制操作函数.数组函数.自定义函数等. 数值函数 常用的数值函数主要有int.rand.srand.sqrt等.详细如下所 ...
- Java动态代理(二)CGLIB动态代理应用
JDK自从1.3版本开始,就引入了动态代理,JDK的动态代理用起来非常简单,但是它有一个限制,就是使用动态代理的对象必须实现一个或多个接口 .如果想代理没有实现接口的类可以使用CGLIB包. CGLI ...
- Oracle EBS FND User Info API
1. 与用户信息相关API PKG. --和用户处理有关的API FND_USER_PKG; --和用户密码处理有关的API FND_WEB_SEC; --和用户职责处理有关的API ...
- 传智播客.NET视频学习课件
传智播客.NET视频学习课件访问.NET网站了解更多课程详情http://net.itcast.cn(小提示:为什么本书中超链接打不开?)此套课件是伴随 传智播客.net实况教学视频 (小提示:为什么 ...
- Solr中的一些查询参数
fl: 是逗号分隔的列表,用来指定文档结果中应返回的 Field 集.默认为 “*”,指所有的字段. defType: 指定query parser,常用defType=lucene, defType ...
- zookeeper的主要应用
master选举 数据发布和订阅 负载均衡
- unity 加载资源
Unity3D中的资源的处理种类 Unity中的资源资源的处理种类大致分为:Resources.StreamingAssets.AssetBundle Resources 是作为一个Unity的保留文 ...