hadoop大数据01---hadoop 的安装配置

hadoop集群搭建01--hadoop 的安装配置

三台机器
Centos 7

192.168.2.37   计算机名称 master
192.168.2.38   计算机名称 slave1
192.168.2.39   计算机名称 slave2

版本
zookeeper-3.4.13
Hadoop-2.7.7
Hbase-2.1.0
apache-hive-2.1.1
jdk1.8

注:hadoop集群最少需要三台机,因为hdfs副本数最少为3,单机不算

注:以下操作3台机器都同样的步骤和配置文件都一样

1、创建hadoop用户,hadoopgroup组 
groupadd -g 102 hadoopgroup  # 创建用户组

useradd -d /opt/hadoop -u 10201  -g 102  hadoop  #创建用户

passwd  hadoop  #给用户设置密码

2、下载hadoop相关文件(使用hadoop用户下载和操作以下步骤,除了特别说明的步骤,默认操作都是用hadoop用户在操作)

wget  http://archive.apache.org/dist/hadoop/core/hadoop-2.7.7/hadoop-2.7.7.tar.gz

wget http://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz

3、安装jdk、hadoop

  将下载的jdk、hadoop拷贝到服务器上,解压,修改目录名 

tar xvf hadoop-2.7.7.tar.gz
tar xvf jdk-8u191-linux-x64.tar.gz

mv hadoop-2.7.7  hadoop
mv jdk1.8.0_191  jdk1.8

4,配置Java、hadoop环境变量

cd 
vi .bashrc


  在最后添加Java、hadoop环境变量,注意路径不要写错即可
```
#jdk
export JAVA_HOME=/opt/hadoop/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASS_PATH=${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH


#hadoop
export HADOOP_HOME=/opt/hadoop/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
```

5、切换root用户,修改各机/etc/hosts  

vi  /etc/hosts
192.168.2.37  master
192.168.2.38  slave1
192.168.2.39  slave2

6、切换回hadoop 用户,创建ssh密钥 让3台机器hadoop 用户能无密码登录,每台机都执行以上步骤,创建 ssh 密钥
mkdir .ssh # 创建.ssh 目录
cd .ssh/
pwd

```
/opt/hadoop/.ssh
```
ssh-keygen -t rsa  # 创建ssh秘钥,一路回车下去

```
id_rsa   # 私钥,本机保存
id_rsa.pub  #公钥,复制到其他机器
```
7、合并每台机器的公钥,然后再放到每台机器上 

master :
    复制公钥到文件 :  cat id_rsa.pub >>  authorized_keys
    拷贝到 slave1  :   scp authorized_keys hadoop@slave1:~/.ssh/authorized_keys
    
slave1 :
    复制slave1的公钥到 authorized_keys : cat id_rsa.pub >>  authorized_keys 
    拷贝到 slav2 :  scp authorized_keys hadoop@slave2:~/.ssh/authorized_keys
    
slave2 :
    复制公钥到文件 :  cat id_rsa.pub >>  authorized_keys
    拷贝到 master :   scp authorized_keys hadoop@master:~/.ssh/authorized_keys
    拷贝到 slave2  :   scp authorized_keys hadoop@slave1:~/.ssh/authorized_keys
复制代码
多机类推

至此,配置完成,现在各机hadoop用户可以免密登录。


8、修改 hadoop环境配置:hadoop-env.sh

  进入路径: /opt/hadoop/hadoop/etc/hadoop,打开 hadoop-env.sh 修改:  

export JAVA_HOME=/opt/hadoop/jdk1.8  # 执行jdk

9、修改hadoop核心配置文件 : core-site.xml ,添加如下内容

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop/hadoop/tmp</value>
    </property>

</configuration>


10、修改hdfs-site.xml ,添加如下内容

<configuration>
    <!-- 设置namenode的http通讯地址 -->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>master:50070</value>
    </property>

    <!-- 设置secondarynamenode的http通讯地址 -->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>slave1:50090</value>
    </property>

    <!-- 设置namenode存放的路径 -->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/opt/hadoop/hadoop/hdfs/name</value>
    </property>
 <!-- 设置hdfs副本数量 -->
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <!-- 设置datanode存放的路径 -->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/opt/hadoop/hadoop/hdfs/data</value>
    </property>

</configuration>

11,修改yarn-site.xml ,添加如下内容

<configuration>

    <!-- 设置 resourcemanager 在哪个节点-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>

    <!-- reducer取数据的方式是mapreduce_shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    <property>
         <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
         <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>

</configuration>


12,修改mapred-site.xml  ,添加如下内容

<configuration>
    <!-- 通知框架MR使用YARN -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

</configuration>
~                   
13,在hadoop 的conf 下面加一个master 文件和配置slaves 文件 和创建上面配置文件中的一些需要的目录

vi master

```
master
```

vi slaves

```
slave1
slave2
```
cd /opt/hadoop/hadoop/
mkdir tmp
mkdir name 
mkdir data
chmod -Rf 777  tmp  name  data

14,启动,只需要在其中一台执行启动操作就行了
第一次启动得格式化

./bin/hdfs namenode -format
启动dfs

./sbin/start-dfs.sh
启动yarn

./sbin/start-yarn.sh

15,查看是否192.168.2.39:50070

 

启动后,如果活跃节点显示为零,说明伪分布没有真正的启动。原因是有的时候数据结构出现问题会造成无法启动datanode。如果使用hadoop namenode -format重新格式化仍然无法正常启动,原因是/tmp中的文件没有清除,则需要先清除/tmp/hadoop/*再执行格式化,即可解决hadoop datanode无法启动的问题。具体步骤如下所示:
# 删除hadoop:/tmp
$ hadoop fs -rmr /tmp
# 停止hadoop
$ stop-all.sh
# 删除/tmp/hadoop*
$ rm -rf /tmp/hadoop*
# 格式化
$ hadoop namenode -format
# 启动hadoop
$ start-all.sh
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值