hadoop2.8.1集群安装

1、准备安装包

http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.8.1/hadoop-2.8.1.tar.gz

2、为集群服务器创建hadoop用户

useradd -m hadoop
passwd hadoop

设置hadoop用户为sudo权限:执行visudo,在该行root ALL=(ALL) ALL下添加hadoop ALL=(ALL) ALL保存后退出,并切换回hadoop用户

3、修改服务器host名称

sudo hostnamectl set-hostname master

其他从节点服务器的名称修改方式同上,自己定义名称。

4、修改域名映射

注释掉之前的内容,添加新的映射

192.168.186.129 master
192.168.186.128 slave1
192.168.186.130 slave2

5、设置集群间的ssh免密登陆,下面以master为例,其他从节点服务器类似

  • 设置空密钥:ssh-keygen -t rsa -P ""

  • 设置其他服务器使用密钥进行ssh登陆,包括自身服务器:ssh-copy-id  -i ~/.ssh/id_rsa.pub  用户名@IP

6、关闭防火墙(否则服务器间通信会有问题)

sudo systemctl stop firewalld.service

sudo systemctl disable firewalld.service

7、搭建java环境,hadoop2.8.1需要jdk1.8环境支持,这里不再阐述jdk环境搭建方法

8、解压hadoop压缩包 tar -zxvf  hadoop-2.8.1.tar.gz,切换到解压出来的/etc/hadoop/文件夹中

  • 修改core-site.xml文件
<configuration>
    <property>
    <name>fs.default.name</name>
    <value>hdfs://master:9000</value>
  </property>
    <!-- 目录需提前创建-->
  <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/home/hadoop/hadoop/hadoop-2.8.1/tmp</value>
  </property>
</configuration>
  • 修改hdfs-site.xml文件
<configuration>
    <!-- 数据块副本数-->
    <property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>
    <!-- 目录需提前创建-->
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/home/hadoop/hadoop/hadoop-2.8.1/name</value>
  </property>
    <!-- 目录需提前创建-->
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/home/hadoop/hadoop/hadoop-2.8.1/data</value>
  </property>
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>master:9001</value>
  </property>
   
</configuration>
  • 修改mapred-site.xml.template文件,修改完后复制一份命名为mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <!-- 历史服务器配置 -->
    <property>
        <name>mapreduce.jobtracker.http.address</name>
        <value>master:50030</value>  
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>master:10020</value>  
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>master:19888</value>  
    </property>
</configuration>

 cp mapred-site.xml.template mapred-site.xml

  • 修改yarn-site.xml文件
<configuration>

<!-- Site specific YARN configuration properties -->
    <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.log-aggregation-enable</name>
    <value>true</value>
  </property>
  <property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
  </property>

</configuration>
  • 修改slaves文件,把从节点域名添加进文件中

9、将master的hadoop文件夹同步到其他从节点

scp -r hadoop-2.8.1/ hadoop@slave1:~/
scp -r hadoop-2.8.1/ hadoop@slave2:~/

10、配置环境变量,执行vi ~/.bashrc,添加以下内容

export HADOOP_HOME=/home/hadoop/hadoop/hadoop-2.8.1
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 PATH=$PATH:${HADOOP_HOME}/sbin:${HADOOP_HOME}/bin

执行source ~/.bashrc 使环境变量生效,每个服务器都执行上述操作

11、启动hadoop集群

  • 在master节点根目录执行hadoop namenode -format、hdfs namenode -format 、start-all.sh命令

启动后在各节点执行jps可看到以下程序

浏览器打开masterIP:50070可看到集群状态页(新版默认端口是9870)

执行./sbin/mr-jobhistory-daemon.sh start historyserver可以启动历史服务器,在masterIP:19888查看mapreduce运行情况(新版默认端口是8088)

11、遇到问题

  • 停止集群后重新启动时,jps命令发现slave集群的datanode 无法启动,进入slave的logs文件夹,查看 $tail -n 100 hadoop-hadoop-datanode-slave.log

解决方案:

执行hdfs namenode -format -clusterId CID-c6a5b7a3-fc3e-43b5-b198-81d1e7bb4153 (把datanode 的 clusterID再用命令格式化一次)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值