(二)Hadoop集群配置安装

集群规划

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:HADOOP_HOME/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/任意自定义目录下创建bin目录,并在bin目录下xsync创建文件,文件内容如下:
mkdir bin
cd bin/
vi xsync
在该文件中编写如下代码
.#!/bin/bash
.#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if ((pcount==0)); then
echo no args;
exit;
fi

.#2 获取文件名称
p1=1 fname=`basenamep1`
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 -avpdir/fnameuser@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=PATH:JAVA_HOME/bin

.#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=PATH:HADOOP_HOME/bin
export PATH=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的编辑模式,因此如果直接复制本文代码,格式需要进行一些微调。

我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=3khyzn5k9q80k

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335