前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(二)Hadoop集群配置安装

(二)Hadoop集群配置安装

作者头像
wolf
发布2020-09-21 09:37:10
7760
发布2020-09-21 09:37:10
举报
文章被收录于专栏:大数据分享大数据分享

集群规划

hadoop配置安装.png

NameNode、ResourceManager、SecondaryNameNode三者分别放在三个节点上,因为都要占用内存的资源,不要重复出现在一个节点上。

插一句--在secureCRT7.3版本上,如果使用xterm模式,那么小键盘在vim编辑器里就不能使用,这时做如下配置: Session Optionn–>Terminal—>Emulation–>modes选项下不要勾选Enable keypad mode switching

(一)问题 sudo执行命令时提示找不到该命令? (二)解决办法 1、切换到root用户, 以root用户身份来编辑文件/etc/sudoers: vim /etc/sudoers 找到Defaults env_reset, 将其改为Defaults !env_reset, 然后wq!强制保存退出。 2、 切换回普通用户如用户名为xx, 编辑/etc目录下的配置文件bashrc: vim bashrc 在文件内最后追加: alias sudo='sudo env PATH=$PATH' 使修改后的配置文件生效: source bashrc

创建组:groupadd 组名 查看现在的组:groups 查看所有组:cat /etc/group 创建用户到组中:useradd -g 组名 用户名 给用户添加密码:passwd 用户名(输入密码即可) 查看组中的用户:groups shsxt 切换用户:su 用户名 切换超级用户:su 将文件添加给用户:sudo chown shsxt:shsxt module/ software/ 其他命令参考菜鸟教程:https://www.runoob.com/linux/linux-user-manage.html

修改/etc/sudoers,允许普通用户进行免密操作: Linux中普通用户用sudo执行命令时报”xxx is not in the sudoers file.This incident will be reported”错误,解决方法就是在/etc/sudoers文件里给该用户添加权限。如下: 1.切换到root用户下   方法为直接在命令行输入:su,然后输入密码(即你的登录密码,且密码默认不可见)。 2./etc/sudoers文件默认是只读的,对root来说也是,因此需先添加sudoers文件的写权限,命令是: 即执行操作:chmod u+w /etc/sudoers 3.编辑sudoers文件 即执行:vi /etc/sudoers 找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名) ps:这里说下你可以sudoers添加下面四行中任意一条 youuser ALL=(ALL) ALL %youuser ALL=(ALL) ALL youuser ALL=(ALL) NOPASSWD: ALL %youuser ALL=(ALL) NOPASSWD: ALL 第一行:允许用户youuser执行sudo命令(需要输入密码). 第二行:允许用户组youuser里面的用户执行sudo命令(需要输入密码). 第三行:允许用户youuser执行sudo命令,并且在执行的时候不输入密码. 第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码. 4.撤销sudoers文件写权限,命令: chmod u-w /etc/sudoers

安装框架之前,先安装jdk

在secureCRT中按alt+p,上传文件 cd /opt/software 拖拽linux环境下的jar包到sftp窗口,上传 同理将hadoop和lzo的jar包拖拽上传

上传hadoop和jdk、izo的jar包.png

解压缩到指定目录: tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/ 复制路径,配置环境变量: /opt/module/jdk1.8.0_144 创立新文件:sudo vim /etc/profile.d/env.sh,免去后续频繁进行sourec /etc/profile操作 编辑: .#JAVA_HOME export JAVA_HOME=/opt/module/jdk1.8.0_144 export PATH=PATH:JAVA_HOME/bin 退出:source /etc/profile.d/env.sh 查看版本,是否安装成功:java -version

安装hadoop

cd /opt/software tar -zxf hadoop-2.7.2.tar.gz -C /opt/module/ 编辑: .#HADOOP_HOME export HADOOP_HOME=/opt/module/hadoop-2.7.2 export PATH=PATH:HADOOP_HOME/bin export PATH=PATH:ADOOP_HPOME/sbin 退出:source /etc/profile.d/env.sh 查看是否安装成功,直接输入:hadoop

hadoop安装成功提示.jpg

配置文件: cd /opt/module/hadoop-2.7.2/etc/hadoop 1.core-site.xml 2.hdfs-site.xml 3.yarn-site.xml 4.mapred-site.xml

5.hadoop-env.sh 6.yarn-env.sh 7.mapred-env.sh

8.salves(不能有空格和空行,主机名称)

配置core-site.xml vi core-site.xml 在该文件中编写如下配置 <property> <name>fs.defaultFS</name> <value>hdfs://hadoop002:9000</value> </property>

<property> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop-2.7.2/data/tmp</value> </property> (2)HDFS配置文件 配置hadoop-env.sh: vi hadoop-env.sh export JAVA_HOME=/opt/module/jdk1.8.0_144

配置hdfs-site.xml vi hdfs-site.xml 在该文件中编写如下配置副本数(生产环境下一般是3个) <property> <name>dfs.replication</name> <value>1</value> </property>

<property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop004:50090</value> </property>

配置yarn-env.sh export JAVA_HOME=/opt/module/jdk1.8.0_144

(3)YARN配置文件 配置yarn-env.sh vi yarn-env.sh export JAVA_HOME=/opt/module/jdk1.8.0_144 配置yarn-site.xml vi yarn-site.xml 在该文件中增加如下配置 <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>

<property> <name>yarn.resourcemanager.hostname</name> <value>hadoop003</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>

(4)MapReduce配置文件 配置mapred-env.sh vi mapred-env.sh export JAVA_HOME=/opt/module/jdk1.8.0_144

配置mapred-site.xml mv mapred-site.xml.template mapred-site.xml vi mapred-site.xml 在该文件中增加如下配置 <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>

<property> <name>mapreduce.jobhistory.address</name> <value>hadoop002:10020</value> </property>

<property> <name>mapreduce.jobhistory.webapp.address</name> <value>hadoop002:19888</value> </property>

(5)slaves配置文件/opt/module/hadoop-2.7.2/etc/hadoop/slaves vi slaves 在该文件中增加如下内容: hadoop002 hadoop003 hadoop004

编写集群同步分发脚本xsync (1)脚本实现 (a)在/home/atguigu目录下创建bin目录,并在bin目录下xsync创建文件,文件内容如下: mkdir bin cd bin/ vi xsync 在该文件中编写如下代码 .#!/bin/bash .#1 获取输入参数个数,如果没有参数,直接退出 pcount=$# if ((pcount==0)); then echo no args; exit; fi

.#2 获取文件名称 p1=

p1` echo fname=$fname

.#3 获取上级目录到绝对路径 pdir=cd -P $(dirname $p1); pwd echo pdir=$pdir

.#4 获取当前用户名称 user=whoami

.#5 循环 for host in hadoop002 hadoop003 hadoop004 do echo -------------------

host -------------- rsync -av
host -------------- rsync -av

pdir/

fname
fname

user@HOST:

pdir done (b)修改脚本 xsync 具有执行权限 chmod 777 xsync (c)调用脚本形式:xsync 文件名称 xsync /home/atguigu/bin

注:如果出现bash: rsync: command not found报错 所有节点执行命令,进行安装rsync: sudo yum install rsync -y

进行分发: /home/shsxt/bin/xsync hadoop-2.7.2/ /home/shsxt/bin/xsync jdk1.8.0_144/

每个节点配置环境变量: sudo vim /etc/profile.d/env.sh .#JAVA_HOME export JAVA_HOME=/opt/module/jdk1.8.0_144 export PATH=

JAVA_HOME/bin

.#HADOOP_HOME export HADOOP_HOME=/opt/module/hadoop-2.7.2 export PATH=

HADOOP_HOME/bin export PATH=

HADOOP_HOME/sbin 最后进行source:source /etc/profile.d/env.sh

SSH无密登录配置

cd /home/.ssh ssh-keygen -t rsa 三次回车,生成对应的公钥与私钥

先将公钥id发送给自己:ssh-copy-id hadoop002 尝试登录:ssh hadoop002 退出:exit 另外两个节点同理复制即可(可以只给配置了namenode和resourcemanager的节点做免密设置)

对namenode格式化: cd /opt/module/hadoop-2.7.2 bin/hdfs namenode -format

002启动hdfs顺序,先namenode再datanode sbin/start-dfs.sh 003启动yarn的话,先resourcemanager再nodemanager sbin/start-yarn.sh

以下命令最好是在root下进行 安装wget yum install wget -y 修改yum源 cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo yum clean all yum makecache 安装常用软件 yum install telnet man man-pages ntp vim lrzsz zip unzip perl net-tools -y

1、检查服务器是否已安装NTP服务,有下述内容输出表示已安装 rpm -qa | grep ntp ntpdate-4.2.6p5-29.el7.centos.x86_64 ntp-4.2.6p5-29.el7.centos.x86_64 2.安装ntpdate sudo yum install ntpdate -y 3、查看NTP服务是否开启 systemctl status ntpd 4、启动NTP服务并设置开机启动 systemctl start ntpd systemctl enable ntpd

Tips:用的是MarkDown的编辑模式,因此如果直接复制本文代码,格式需要进行一些微调。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 集群规划
  • 安装框架之前,先安装jdk
  • 安装hadoop
  • SSH无密登录配置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档