hadoop集群安装

1、先是hadoop安装包的下载与安装
   http://hadoop.apache.org/releases.html
   我下载的是 hadoop-2.6.5.tar.gz 这个
2、cd /home/hadoop
   mkdir apps (以后hadoop,hive都解压到这里)
   把hadoop-2.6.5.tar.gz安装到上传到/home/hadoop
   并解压到 apps 里
   tar -zxvf hadoop-2.6.5.tar.gz -C apps/
3、cd /home/hadoop/apps/hadoop-2.6.5 可以看下目录
bin 自己的一些操作命令
etc 配置文件
include C语言本地库的一些头文件
lib 本地库,里面是个native
sbin 系统启动管理的命令    
share 里面是我们的 文档 和 jar包

4、下面开始修改配置让我们的hadoop跑起来
cd etc/hadoop/
vim hadoop-env.sh 这里要配我们的环境变量
把 export JAVA_HOME=${JAVA_HOME}  因为实际项目中ssh远程方式启动的,读不到本机的JAVA_HOME,这里直接写死
改为
export JAVA_HOME=/usr/local/jdk1.8.0_171 (你自己的jdk解压后的目录)

5、vim core-site.xml
   在<configuration>里配置
<configuration>
        <property>
                <name>fs.defaultFS</name>  <!--指定用哪一种文件系统。我们肯定用内置的hdfs了-->
                <value>hdfs://shizhan01:9000</value> <!--URI格式,这里是hdfs的namenode,客户端直接访问的是namenode,因为namenode知道客户端要的文件在哪些机器上-->
        </property>

        <property>
                <name>hadoop.tmp.dir</name>  <!--自己进程产生的数据要存放的目录-->
                <value>/home/hadoop/hdpdata</value>
        </property>
</configuration>

6、vim hdfs-site.xml

<configuration>
        <property>
                <name>dfs.replication</name>  <!--副本的数量,客户端如果把文件给到hdfs之后,hdfs如果只保留一份,如果该机器宕机,那文件就拿不到了-->
                <value>2</value>    <!--默认是3 -->
        </property>
</configuration>

7、vim mapred-site.xml.template
<configuration>
        <property>
                <name>mapreduce.framework.name</name>  <!--mapreduce是放在一个资源调度平台上去跑的,这里指定是哪个平台-->
                <value>yarn</value>    <!--提交完之后,就交给yarn去跑了;如果不填的话,默认是local,模拟单机去跑 -->
        </property>
</configuration>

8、vim yarn-site.xml
<configuration>

<!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.resourcemanager.hostname</name>  <!--找yarn的老大-->
                <value>shizhan01</value>
        </property>

        <property>
                <name>yarn.nodemanager.aux-services</name>  <!--为我们的mapreduce程序提供服务-->
                <value>mapreduce_shuffle</value>
        </property>
</configuration>

9、把这些东东scp到其他机器上
cd /home/hadoop
scp -r apps shizhan02@:/home/hadoop
scp -r apps shizhan03@:/home/hadoop
scp -r apps shizhan04@:/home/hadoop

10、然后我们要把hadoop的启动命令都配置到profile里
sudo vim /etc/profile
在最后加入
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.6.5
在export PATH=$PATH:$JAVA_HOME/bin后面加入:
:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
scp到其他机器上
sudo scp /etc/profile shizhan02:/etc/
sudo scp /etc/profile shizhan03:/etc/
sudo scp /etc/profile shizhan04:/etc/
依次source /etc/profile

10、hdfs是一个文件系统,要做格式化
hadoop namenode -format

11、启动一个namenode(我们上面在core-site.xml里配置了namenode在shizhan01这台机器上)
cd /home/hadoop/apps/hadoop-2.6.5/sbin/
hadoop-daemon.sh start namenode
启动好了,jps看一下有没有namenode的进程

然后我们在浏览器访问一下 http://shizhan01:50070 看一下信息

 

发现都是0,因为我们只是启动了namenode,没有启动datanode和他一起协同工作

那我们来启动一下datanode,其他三台都启动

hadoop-daemon.sh start datanode

jps看下是否启动成功,成功之后,执行

http://shizhan01:50070 再看一下信息


可以看到 Live Nodes 是3, Configured Capacity 是50多G了。

但是现在启动命令都是我们自己手动去执行的,现在是只有三台机器,

如果机器很多呢,我们不可能一台一台去执行的,要写个脚本统一执行,

现在我们把四台机器全部停掉,写个启动脚本吧。

hadoop-daemon.sh stop namenode

hadoop-daemon.sh stop datanode

但是呢,实际上并不需要我们去写

cd /home/hadoop/apps/hadoop-2.6.5/sbin

我们可以看到提供很多命令给我们使用


我们启动 namenode和datanode一般用 start-dfs.sh 这个脚本文件

我们打开该文件来看一下吧


由上面文件可以看到,这个脚本文件会帮我们启动

1、namenode

2、datanodes(默认使用slaves文件)

3、secondary namenode (会帮我们启动两个namenode,避免一台namenode挂掉)

我们去找下启动 datanodes 所需要的 slaves 文件

cd /home/hadoop/apps/hadoop-2.6.5/etc/hadoop

找到 slaves 文件,并打开

可以看到只有个 localhost ;他默认是启动本地的 datanode,

但是我们要启动 shizhan02 03 04上的datanode,所以这里配成

shizhan02
shizhan03

shizhan04

这时我们

cd /home/hadoop/apps/hadoop-2.6.5/sbin

在shizhan01上执行 start-dfs.sh 脚本文件

就会帮我们启动02 03 04 上的datanode,但是还有个问题就是,它是通过

ssh去启动的,所以如果我们不配免密的话,启动过程中要输入密码也是很麻烦的

所以我们配置一下免密,一般我们是在 shizhan01 上执行命令,所以我们就配置

01 -> 01;

01 -> 02;

01 -> 03;

01 ->04;

ssh-keygen

ssh-copy-id shizhan01;

ssh-copy-id shizhan02;

ssh-copy-id shizhan03;

ssh-copy-id shizhan04;

这样就完成了免密的配置,

执行一下脚本文件启动吧

start-dfs.sh

jps看一下启动情况

01上启动了 NameNode 和 SecondaryNameNode

02 03 04 上分别启动了 datanode

访问 http://shizhan01:50070 看一下情况

最后我们

cd /home/hadoop/apps/hadoop-2.6.5/sbin

stop-dfs.sh 自动化帮我们停止 namenode和datanode


这样,我们自动化启停 namenode和datanode 就做好了

最后再看一个图


我们启动dfs+yarn的话,就是 一次启动

start-dfs.sh

start-yarn.sh

但是这个 start-all.sh 呢

可以帮我们一次性启动上面两个

但是他不建议这么做,因为如果启动有问题不好检查

我们执行 start-all.sh 这个看下效果

到此为止,hadoop集群安装就介绍完了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

maple 枫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值