Hadoop集群安装,三种

Linux环境设置

/*安装Hadoop集群时要确保以下几个方面

1.本机与虚拟机之间是否可以通信(Ping)。如果不行检查下面

      1.1本机防火墙关闭(开启情况是本机可以ping虚拟机,虚拟机不能ping本机)

      1.2虚拟机是克隆的情况(按照Linux文档中,修改ip地址等方法)

      1.3虚拟机设置--网卡是否是仅主机模式或者桥接模式:仅主机模式需要检查VMware1网卡设置与虚拟机网卡设置是否匹配。桥接模式是为了让虚拟机可以连接外网,只需要改该虚拟机网卡信息即可(网关)

 

2.虚拟机与虚拟机之间是否可以通信(Ping)。

      参考上面检查古城

*/

//关闭本机网络管理

# /etc/init.d/NetworkManager stop

# chkconfig NetworkManager off

//清空和关闭防火墙

# iptables -F

# chkconfig iptables off

# service iptables save

//更改主机名称

# vi /etc/sysconfig/network

//更改主机与ip映射

# vi /etc/hosts

//安装JDK

# tar -xvf jdk-7u79-linux-x64.tar.gz

# mv jdk1.7.0_79/ jdk

//修改系统环境变量

# vi /etc/profile

export JAVA_HOME=/home/bigdata/jdk/

export HADOOP_HOME=/home/bigdata/hadoop/

export HIVE_HOME=/home/bigdata/hive/

export ZOOKEEPER_HOME=/home/bigdata/zookeeper/

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:

export PATH=$PATH:$JAVA_HOME/bin:/home/bigdata/protoc/bin:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:

//使修改后的系统生效

# source /etc/profile

//设置免密码ssh  方式一  选其一

# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

# scp ~/.ssh/authorized_keys slave1:/root/.ssh/

# scp ~/.ssh/authorized_keys slave2:/root/.ssh/

//设置免密码ssh  方式二  选其一

ssh-keygen -t rsa

ssh-copy-id -i ~/.ssh/id_rsa.pub master@root

ssh-copy-id -i ~/.ssh/id_rsa.pub slave1@root

ssh-copy-id -i ~/.ssh/id_rsa.pub slave2@root

 

Hadoop单机安装

单机不需要启动任何服务即可使用,一般只用于调试

  # mkdir input

  # cp etc/hadoop/*.xml input

  # bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar grep input output 'dfs[a-z.]+'

  # cat output/*

 

Hadoop集群下的伪分布式的安装

//1.修改core-site.xml文件

#etc/hadoop/core-site.xml

<configuration>

    <property>

        <name>fs.defaultFS</name>

        <value>hdfs://localhost:9000</value>

    </property>

</configuration>

 

//2.修改hdfs-site.xml文件

#etc/hadoop/hdfs-site.xml

<configuration>

    <property>

        <name>dfs.replication</name>

        <value>1</value>

    </property>

</configuration>

//格式化文件系统(安装Hadoop后只需执行一次格式化)

bin/hdfs namenode -format

//开启NameNode进程和DataNode进程

sbin/start-dfs.sh

//检查Hadoop进程

#jps

//通过浏览页面查看NameNode和Datanode

http://192.168.10.11:50070/

//创建运行MapReduce job所需的HDFS目录:

#bin/hdfs dfs -mkdir /user

//拷贝输入文件到分布式文件系统(上传)

# bin/hdfs dfs -put etc/hadoop input

//运行一些提供的示例:

 #bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar grep /input /output 'dfs[a-z.]+'

//检查输出文件(下载): 从分布式文件系统拷贝输出文件到本地文件系统并检查它们:

# bin/hdfs dfs -get output output

# cat output/*

//在分布式系统上查看输出文件的内容:

# bin/hdfs dfs -cat output/*

//当你完成操作后,使用下列命令关闭进程:

#sbin/stop-dfs.sh

单节点YARN

//1.编辑mapred-site.xml文件

#etc/hadoop/mapred-site.xml

<configuration>

    <property>

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

    </property>

</configuration>

//2.编辑yarn-site.xml文件

#etc/hadoop/

<configuration>

    <property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

    </property>

</configuration>

//开启ResourceManager进程和NodeManager进程

#sbin/start-yarn.sh

//检查ResourceManager进程和NodeManager进程是否正常运行

#jps

//在页面上浏览ResourceManager

http://192.168.10.11:8088/

//运行一个MapReduce任务

# yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar grep /input /output2 'dfs[a-z.]+'

写出hadoop案例都是干什么用的 作为伪分布式的操作案例

//当你完成操作后,使用下列命令关闭进程:

# sbin/stop-yarn.sh

 

Hadoop集群下的全分布式的安装

 

主机名称

IP地址

功能

Hadoop01

192.168.1.10

NameNode、DataNode、RM、NM

Hadoop02

192.168.1.11

DataNode、NM、SNN

Hadoop03

192.168.1.13

DataNode 、NM

所有机子都需要配置

1.JDK        2.SSH免登陆      3.Hadoop集群

 

SSH免登陆

计算机A每次SSH远程连接计算机B时,都需要输入密码。当有些软件需要频繁使用SSH连接其他计算机时,这个时候需要人工填写计算机B的密码,这个会造成大量无用操作,不利于程序的使用。

在为了避免这类问题的发生,而且也要兼顾安全问题(设置SSH免密码登陆后,SSH这台计算就不需要密码即可登陆,存在安全隐患),使用公钥和私钥方式解决SSH免密码登陆问题,而且只在一边做,另一边不做,这样也达到了安全的问题。一般是那台机器需要SSH远程其他机器,就在这台机器上设置SSH免登陆操作。

"公私钥"认证方式简单的解释:首先在客户端上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)。然后把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥.在使用ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了。

ssh 无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,

//master机下生成公钥/私钥对。

# ssh-keygen -t rsa

//追加到key文件当中

# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

//将master机子上的key给其他机子上发送一份

# scp ~/.ssh/authorized_keys slave1:/root/.ssh/

# scp ~/.ssh/authorized_keys slave2:/root/.ssh/

Hadoop集群搭建

修改hadoop-env.sh文件

将hadoop-env.sh文件中的

export JAVA_HOME=${JAVA_HOME}

export JAVA_HOME="/home/bigdata/jdk"

修改core-site.xml文件

<property>

<name>fs.defaultFS</name>

<value>hdfs://master:9000</value>

</property>

<property>

<name>io.file.buffer.size</name>

<value>4096</value>

</property>

修改hdfs-site.xml文件

<property>

<name>dfs.namenode.name.dir</name>

<value>file:///home/hadoopdata/dfs/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>file:///home/hadoopdata/dfs/data</value>

</property>

<property>

   <name>dfs.http.address</name>

   <value>master:50070</value>

</property>

<property>

   <name>dfs.secondary.http.address</name>

   <value>slave1:50090</value>

</property>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

修改mapred-site.xml文件

命令如下:

# mv mapred-site.xml.template mapred-site.xml

#vi mapred-site.xml

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

<final>true</final>

</property>

<property>

<name>mapreduce.jobhistory.address</name>

<value>master:10020</value>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>master:19888</value>

</property>

修改yarn-site.xml

<property>

<name>yarn.resourcemanager.hostname</name>

<value>master </value>

</property>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.resourcemanager.address</name>

<value>master:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>master:8030</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>master:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>master:8033</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>master:8088</value>

</property>

#vi /etc/hadoop/slave

将所有需要配置成slave类型的机器的机器名写在其内部即可.

注意:每个机器名占一行。

master

slave1

slave2

#vi /etc/hadoop/master

Master文件存的是的secondarynamenode列表

slave1

//将配置好的jdk文件夹和Hadoop文件夹发送给slave1和slave2机子

# scp -r jdk/ slave1:/home/bigdata/

# scp -r jdk/ slave2:/home/bigdata/

# scp -r /home/bigdata/hadoop slave1:/home/bigdata/

# scp -r /home/bigdata/hadoop slave2:/home/bigdata/

 

//启动Hadoop集群

//启动之前先格式化,只需要一次即可

#hadoop namenode -format

//启动namenode、datanode、ResourceManager、NodeManager节点

# start-dfs.sh


# start-yarn.sh

 
 

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值