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各版本均试验成功,文档完整无一遗漏)的更多相关文章

  1. 如何安装NodeJS到阿里云Centos (64位版本V5-7)

    如何安装NodeJS到阿里云Centos (64位版本V5-7) (Centos与Red Hat® Enterprise Linux® / RHEL, Fedora属于一类) 1) 安装v0.10版 ...

  2. Hadoop完全分布式模式安装部署

    在Linux上搭建Hadoop系列:1.Hadoop环境搭建流程图2.搭建Hadoop单机模式3.搭建Hadoop伪分布式模式4.搭建Hadoop完全分布式模式 注:此教程皆是以范例讲述的,当然你可以 ...

  3. 初学者值得拥有【Hadoop伪分布式模式安装部署】

    目录 1.了解单机模式与伪分布模式有何区别 2.安装好单机模式的Hadoop 3.修改Hadoop配置文件---五个核心配置文件 (1)hadoop-env.sh 1.到hadoop目录中 ​ 2.修 ...

  4. hadoop完全分布式的安装

    下载地址: centos 7.5 下载地址 清华 http://mirrors.tuna.tsinghua.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-DV ...

  5. Hadoop全分布式模式安装

    一.准备 1.准备至少三台linux服务器,并安装JDK 关闭防火墙如下 systemctl stop firewalld.service systemctl disable firewalld.se ...

  6. Linux手动安装新版本Python教程(CentOS)

    一.说明 1.1 linux为什么不升级python版本 2008年python3就发布了,到2020年1月1日python2.7就停止更新了,为什么主流的linux迟迟不去除python2自带pyt ...

  7. 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 ...

  8. Hadoop伪分布式模式安装

    一.Hadoop介绍 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS.HDFS有高容错性的特点,并且设计用来部署在低廉的硬件上:而且 ...

  9. 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. ...

随机推荐

  1. Atom 编辑器侧边栏忽略隐藏文件

    设置中配置需要忽略的文件后缀 package中找到treeview,勾选上这个配置就行

  2. [转]【流媒體】H264—MP4格式及在MP4文件中提取H264的SPS、PPS及码流

    [流媒體]H264—MP4格式及在MP4文件中提取H264的SPS.PPS及码流 SkySeraph Apr 1st 2012  Email:skyseraph00@163.com 一.MP4格式基本 ...

  3. CoderForces 518C Anya and Smartphone (模拟)

    题意:给定一个手机,然后一共有 n 个app,告诉你每个屏幕最多放 k 个,现在要你运行 m 个app,每次都从第一个屏幕开始滑动,每运行一个,它就和前一个交换位置,第一个就不换了,现在问你要滑动多少 ...

  4. Appium之连续启动多个应用(APP)

    我们知道Appium应用启动时自带的caps可以先行启动某个应用(基于appPackage和appActivity),那么如何用其连续启动多个应用呢? 这里就需要用到start_activity()方 ...

  5. zstu4273 玩具 2017-03-22 14:18 49人阅读 评论(0) 收藏

    4273: 玩具 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 700  Solved: 129 Description 商店有n个玩具,第i个玩具有 ...

  6. 3D 相关

    1. STL 2. AMF 3. X3D 网址: http://www.web3d.org/x3d-resources/content/examples/X3dResources.html

  7. underscore概况

    看的是1.3.3,这个版本的中文源码解释比较多. 函数的中文注释:http://www.css88.com/doc/underscore1.5.2/#difference 源码的中文注释:http:/ ...

  8. 如何查看非自己提交的请求的结果 - 深入浅出Oracle EBS之杂项技术荟萃

    如何查看非自己提交的请求的结果定位要找的请求SQL举例:SELECT req.request_id,       fcp.user_concurrent_program_name,       usr ...

  9. sql2008 获取表结构说明

    SELECT     表名       = case when a.colorder=1 then d.name else '' end,    表说明     = case when a.color ...

  10. Tempdb--查看TempDB上是否需要增加文件

    SELECT [owt].[session_id], [owt].[exec_context_id], [owt].[wait_duration_ms], [owt].[wait_type], [ow ...