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
在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
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 -------------------
pdir/
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
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的编辑模式,因此如果直接复制本文代码,格式需要进行一些微调。