0


大数据处理技术代码存档-虚拟机网络连接/Linux常用指令/Hadoop 集群配置

虚拟机网络连接/无法建立SSH文件传输连接

使用ifconfig指令查看虚拟机ip

虚拟机ip 192.168.253.121

将虚拟机 NAT 设置下列参数修改为:

网段192.168.253.0
网关192.168.253.2
前三字段与虚拟机IP前三段一致
前三字段与虚拟机IP前三段一致

修改配置

在终端输入指令修改并添加数据

vi /etc/sysconfig/network-scripts/ifcfg-ens33 

注意红框内数据
在终端输入指令,添加两行文字,注意修改ip

vi /etc/resolv.conf

添加两行文字,注意修改ip

重启网络服务

systemctl restart network

永久生效

为永久生效,参考https://www.cnblogs.com/AirCrk/p/13802885.html

vim /etc/sysconfig/static-routes

编辑文件内容为:any net default gw 192.168.253.2
然后尝试ping baidu.com,有返回即为成功
在这里插入图片描述

Linux

Pwd:查看当前所在的路径

Su:进入 root 权限

编辑文件

vim ~/.bashrc

Cd 命令:切换目录

(1)切换到目录 /usr/local

cd /usr/local

(2)去到目前的上层目录

cd ..

(3)回到自己的主文件夹

cd ~

Ls 命令:查看文件与目录

(4)查看目录/usr 下所有的文件

ls -a /usr

Mkdir 命令:新建新目录

(5)进入/tmp 目录,创建一个名为 a 的目录, 并查看有多少目录存在

cd /tmp
mkdir a
ls -l | grep ^d | wc -l
ls -l | grep ^d | wc -l

命令组合用于计算目录数量,其中

grep ^d

用于匹配目录行(以

d

开头的行),

wc -l

用于计数行数。
(6)创建目录 a 1/a 2/a 3/a 4

mkdir -p a1/a2/a3/a4

Rmdir 命令:删除空的目录

(7)将上例创建的目录 a(/tmp 下面)删除

rmdir /tmp/a

(8)删除目录 a 1/a 2/a 3/a 4,查看有多少目录存在

rmdir -p a1/a2/a3/a4
ls -l | grep ^d | wc -l
rmdir

命令只能删除空目录。如果目录不为空,你需要使用

rm -r

命令来递归删除目录及其内容

Cp 命令:复制文件或目录

(9)将主文件夹下的. Bashrc 复制到/usr 下,命名为 bashrc 1

cp ~/.bashrc /usr/bashrc1

(10)在/tmp 下新建目录 test,再复制这个目录内容到/usr

mkdir /tmp/test
cp -r /tmp/test /usr

请注意,对于第 10 条指令,

cp -r /tmp/test /usr

会创建

/usr/test

目录并复制

/tmp/test

目录的内容到

/usr/test

目录中。如果

/usr/test

目录已经存在,并且你只想复制

/tmp/test

目录下的内容而不是整个目录,你应该使用

cp -r /tmp/test/* /usr/test/

Mv 命令:移动文件与目录,或更名

(11)将上例文件 bashrc 1 移动到目录/usr/test

mv /usr/bashrc1 /usr/test/

(12)将上例 test 目录重命名为 test 2

mv /usr/test /usr/test2

Rm 命令:移除文件或目录

(13)将上例复制的 bashrc 1 文件删除

rm /usr/test2/bashrc1
rm bashrc1

(14)将上例的 test 2 目录删除

rm -r /usr/test2

对于第 14 条指令,使用

rm -r /tmp/test2

可以递归地删除

test2

目录及其所有子目录和文件。如果

test2

目录不存在,命令将不会执行任何操作。

Cat 命令:查看文件内容

(15)查看主文件夹下的. Bashrc 文件内容

cat ~/.bashrc

Tac 命令:反向列示

(16)反向查看主文件夹下. Bashrc 文件内容

tac ~/.bashrc

More 命令:一页一页翻动查看

(17)翻页查看主文件夹下. Bashrc 文件内容

more ~/.bashrc

Head 命令:取出前面几行

(18)查看主文件夹下. Bashrc 文件内容前 20 行

head -n 20 ~/.bashrc

(19)查看主文件夹下. Bashrc 文件内容,后面 50 行不显示,只显示前面几行

head -n -50 ~/.bashrc

Tail 命令:取出后面几行

(20)查看主文件夹下. Bashrc 文件内容最后 20 行

tail -n 20 ~/.bashrc

(21) 查看主文件夹下. Bashrc 文件内容,只列出 50 行以后的数据

tail -n +51 ~/.bashrc

Touch 命令:修改文件时间或创建新文件

(22)在/tmp 下创建一个空文件 hello 并查看时间

touch /tmp/hello
ls -l /tmp/hello

对于第 22 条指令,

touch

命令用于创建新文件或更新现有文件的时间戳。如果文件不存在,

touch

命令会创建一个空文件。

ls -l /tmp/hello

命令用于列出

/tmp/hello

文件的详细信息,包括文件的创建时间。
(23)修改 hello 文件,将日期调整为 5 天前

touch -d "5 days ago" hello

Chown 命令:修改文件所有者权限

(24)将 hello 文件所有者改为 root 帐号,并查看属性

chown root /tmp/hello
ls -l /tmp/hello

请注意,对于第 24 条指令,你需要有适当的权限来更改文件的所有者,通常需要使用

sudo

命令。同时,

ls -l /tmp/hello

命令用于显示

/tmp/hello

文件的详细属性,包括所有者信息。

Find 命令:文件查找

(25)找出主文件夹下文件名为. Bashrc 的文件

find ~ -name .bashrc

Tar 命令:压缩命令

(26)在/目录下新建文件夹 test, 然后在/目录下打包成 test. Tar. Gz

cd /
mkdir /test
tar -czvf /test.tar.gz test

请注意,对于第 26 条指令,你需要确保

/

目录下有足够的权限来创建文件夹和执行

tar

命令。通常,普通用户可能没有权限在根目录

/

下创建文件或文件夹,你可能需要使用

sudo

来执行这些命令。
(27)解压缩到/tmp 目录

tar -xzvf /test.tar.gz -C /tmp

Grep 命令:查找字符串

(28)从~/. Bashrc 文件中查找字符串’examples’

grep 'examples' ~/.bashrc

(29)配置 Java 环境变量,在~/. Bashrc 中设置

echo 'export JAVA_HOME=/usr/java/jdk1.8.0_341-amd64' >> ~/.bashrc
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> ~/.bashrc
echo 'export HADOOP_CONF_DIR=/usr/local/hadoop-3.3.4/etc/hadoop' >> ~/.bashrc
source ~/.bashrc

对于第 29 条指令,你需要将

/path/to/java

替换为你系统中 Java 的实际安装路径。此外,执行

source ~/.bashrc

命令是为了重新加载

.bashrc

文件,使环境变量的更改立即生效。
(30)查看 JAVA_HOME 变量的值

echo $JAVA_HOME

对于第 30 条指令,如果

JAVA_HOME

环境变量已经在你的

.bashrc

文件中正确设置,这个命令将显示其值。如果没有设置,命令将不会输出任何内容。

YUM 源

cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak
mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
mv CentOS-fasttrack.repo CentOS-fasttrack.repo.bak
mv CentOS-Vault.repo CentOS-Vault.repo.bak
mv CentOS-CR.repo CentOS-CR.repo.bak
mv CentOS-Sources.repo CentOS-Sources.repo.bak
mv CentOS-x86_64-kernel.repo CentOS-x86_64-kernel.repo.bak
vi CentOS-Media.repo

修改前

[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///media/Centos/
file:///media/cdrom/
file:///media/cdrecorder/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

修改后

[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///media/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

运行

mount /dev/sr0 /media
yum clean all
yum install -y vim zip openssh-server openssh-client ntp

Hadoop 集群配置

//i 插入
//esc 退出
//: wq 保存并退出
Hadoop-3.3.4,jdk 8u341-linux-x64.rpm

cd /usr/local/hadoop-3.3.4/etc/hadoop

配置 core-site. Xml

vim core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/log/hadoop/tmp</value>
</property>

配置 mapred-site

vim /usr/local/hadoop-3.3.4/etc/hadoop/mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!--jobhistory properties-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

配置 yarn-site

vim /usr/local/hadoop-3.3.4/etc/hadoop/yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>${yarn.resourcemanager.hostname}:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>${yarn.resourcemanager.hostname}:8030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.https.address</name>
<value>${yarn.resourcemanager.hostname}:8090</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>${yarn.resourcemanager.hostname}:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>${yarn.resourcemanager.hostname}:8033</value>
</property>
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>/data/hadoop/yarn/local</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>/data/tmp/logs</value>
</property>
<property>
<name>yarn.log.server.url</name>
<value>http://master:19888/jobhistory/logs/</value>
<description>URL for job history server</description>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>512</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>4096</value>
</property>
<property>
<name>mapreduce.map.memory.mb</name>
<value>2048</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>1</value>
</property>
</configuration>

配置 hadoop-env. Sh, yarn-env. Sh

vim hadoop-env.sh
vim yarn-env.sh

直接添加

export JAVA_HOME=/usr/java/jdk1.8.0_341-amd64

配置 workers

删除 localhost

vim workers
slave1
slave2
slave3

配置 hdfs-site

vim /usr/local/hadoop-3.3.4/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///data/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///data/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>

修改 Hadoop 集群启动关闭服务

cd /usr/local/hadoop-3.3.4/sbin/

配置 start-df, stop-dfs

vim start-dfs.sh
vim stop-dfs.sh
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

配置 start-yarn, stop-yarn

vim start-yarn.sh
vim stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

配置 host

cd /etc
vim hosts
192.168.253.121 master master.centos.com
192.168.253.131 slave1 slave1.centos.com
192.168.253.132 slave2 slave2.centos.com
192.168.253.133 slave3 slave3.centos.com

配置克隆体

vim /etc/sysconfig/network-scripts/ifcfg-ens33 
IPADDR=192.168.253.131

重启网络

systemctl restart network

查看 ip

ip addr

修改 slave 1 的主机名称

hostnamectl set-hostname slave3

配置 SSH 免密

ssh-keygen -t rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub master
ssh-copy-id -i /root/.ssh/id_rsa.pub slave1
ssh-copy-id -i /root/.ssh/id_rsa.pub slave2
ssh-copy-id -i /root/.ssh/id_rsa.pub slave3

配置时间同步

修改 master,slave 的ntp. Conf 节点

vim /etc/ntp.conf

注释掉以 server 开头的行,并添加

restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
server 127.127.1.0
fudge 127.127.1.0 stratum 10

Slave 添加

server master

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

启动服务

Master 节点执行

systemctl start ntpd
systemctl enable ntpd
systemctl status ntpd

出现 active 即为成功
Slave 节点执行再执行上述代码

ntpdate master

启动和关闭 Hadoop 集群

vim /etc/profile

末尾添加

export HADOOP_HOME=/usr/local/hadoop-3.3.4
export PATH=$HADOOP_HOME/bin:$PATH:$JAVA_HOME/bin

运行

source /etc/profile
hdfs namenode -format

出现“Storage directory/data/hadoop/Hdfs/name has been successfully formatted",则表示格式化 NameNode 成功

启动 Hadoop 集群

Master 节点

cd $HADOOP_HOME
sbin/start-dfs.sh
sbin/start-yarn.sh
mapred --daemon start historyserver

旧命令

sbin/mr-jobhistory-daemon.sh start historyserver

在所有节点使用 jps 命令
在这里插入图片描述

关闭 Hadoop 集群

cd $HADOOP_HOME
sbin/stop-yarn.sh
sbin/stop-dfs.sh
mapred --daemon stop historyserver
sbin/mr-jobhistory-daemon.sh stop historyserver

监控 Hadoop

默认端口
在主机C:\Windows\System32\drivers\etc 打开 host 文件添加
注意修改权限,右键hosts-属性-安全-如下图修改权限
在这里插入图片描述

192.168.253.121 master master.centos.com
192.168.253.131 slave1 slave1.centos.com
192.168.253.132 slave2 slave2.centos.com
192.168.253.133 slave3 slave3.centos.com

HDFS 监控:http://master:9870
YRAN 监控:http://master:8088
日志监控:http://master:19888

标签: linux hadoop

本文转载自: https://blog.csdn.net/m0_61646012/article/details/142554433
版权归原作者 m0_61646012 所有, 如有侵权,请联系我们删除。

“大数据处理技术代码存档-虚拟机网络连接/Linux常用指令/Hadoop 集群配置”的评论:

还没有评论