vim /etc/sysconfig/network-scripts/ifcfg-eth33
查看主机名hostname
修改主机名vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME= hadoop101
修改linux的主机映射文件(hosts文件)vim /etc/hosts
添加
8.8.8.101 hadoop101
8.8.8.102 hadoop102
8.8.8.103 hadoop103
修改完成后 *重启设备*
查看防火墙状态 firewall-cmd --state
停止firewall systemctl stop firewalld.service
禁止firewall开机启动 systemctl stop firewalld.service
添加一个用户 useradd banana
设置用户密码 passwd banana
查看用户是否存在 id banana
查看创建了哪些用户 cat /etc/passwd
删除用户 删除用户但保存用户主目录 userdel banana
删除用户和用户主目录 userdel -r banana
显示自身用户名称 whoami
修改配置文件 vi /etc/sudoers
找到下面一行(91行),在root下面添加一行
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
banana ALL=(ALL) ALL
或者配置成采用sudo命令时,不需要输入密码
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
atguigu ALL=(ALL) NOPASSWD:ALL
修改完毕,现在可以用banana帐号登录,然后用命令 sudo ,即可获得root权限进行操作(sudo useradd zhangsan
)
定义:scp可以实现服务器与服务器之间的数据拷贝
语法:scp -r $pdir/$fname $user@hadoop$host:$pdir/$fname
即 scp -r banana@hadoop101:/soft/software root@hadoop103:/soft/software
(在102上把101的文件拷贝到103上)
注意:拷贝过来的配置文件别忘了source一下/etc/profile
注意:拷贝过来的/opt/module目录,别忘了在hadoop102、hadoop103上修改所有文件的,所有者和所有者组。sudo chown banana:banana -R /soft/software
用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去
语法:rsync -rvl $pdir/$fname $user@hadoop$host:$pdir/$fname
定义:循环复制文件到所有节点的相同目录下
脚本实现
1.在/home/banana目录下创建bin目录,并在bin目录下xsync创建文件
2.文件内容
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 获取当前用户名称
user=`whoami`
#5 循环
for((host=103; host<105; host++)); do
echo ------------------- hadoop$host --------------
rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done
3.修改脚本 xsync 具有执行权限 chmod 777 xsync
4.调用脚本形式 xsync /home/banana/bin
注意:如果将xsync放到/home/atguigu/bin目录下仍然不能实现全局使用,可以将xsync移动到/usr/local/bin目录下。
解压 tar -zxvf jdk-8u161-linux-x64.tar.gz -C /soft/software
(/soft/software是自己新建的目录)
配置环境变量 vim /etc/profile
文件尾部加入:
export JAVA_HOME=/soft/software/jdk1.8.0_161/ #安装jdk的路径
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
使配置生效 source /etc/profile
解压 tar -zxvf hadoop-2.9.2.tar.gz -C /soft/software
配置环境变量 vim /etc/profile
文件尾部加入:
export HADOOP_HOME=/soft/software/hadoop-2.9.2 #自己安装的Hadoop路径
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使配置生效 source /etc/profile
vi core-site.xml
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop101:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/soft/module/hadoop-2.9.2/data/tmp</value>
</property>
配置hadoop-env.sh vi hadoop-env.sh
export JAVA_HOME=/soft/module/jdk1.8.0_161
配置hdfs-site.xml vi hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop103:50090</value>
</property>
vi yarn-env.sh
export JAVA_HOME=/soft/module/jdk1.8.0_161
vi yarn-site.xml
<!-- Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop102</value>
</property>
配置mapred-env.sh vi mapred-env.sh
export JAVA_HOME=/soft/module/jdk1.8.0_161
配置mapred-site.xml cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
vi mapred-site.xml
在该文件中增加如下配置
<!-- 指定MR运行在Yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
xsync /opt/module/hadoop-2.9.2/
cat /opt/module/hadoop-2.9.2/etc/hadoop/core-site.xml
hadoop namenode -format
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
jps
查看进程生成公钥和私钥(然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥))
ssh-keygen -t rsa
将公钥拷贝到要免密登录的目标机器上
ssh-copy-id hadoop101
ssh-copy-id hadoop102
ssh-copy-id hadoop103
X3(在所有节点上执行)
========================================
配置slaves
vim /soft/module/hadoop-2.9.2/etc/hadoop/slaves
加上
hadoop101
hadoop102
hadoop103
分发文件
xsync.sh /soft/module/hadoop-2.9.2/etc/hadoop/slaves
hdfs namenode -format
sbin/start-dfs.sh
sbin/start-yarn.sh
原文:https://www.cnblogs.com/Hephaestus/p/12213719.html