大数据开发系列(一)----Hadoop详细配置

http://www.bubuko.com/infodetail-3137033.html

cd
1、/ 代表根目录

2、. 当前目录

3、.. 上级目录

4、~ 当前用户的默认工作目录

/.. /. 直接返回根目录
安装Linux教程:
参考: https://www.cnblogs.com/frankdeng/p/9027037.html

VMnet1对应仅主机模式
VMnet8对应NAT模式
以 VMnet8的IP作为基础

进入root模式才能修改
进入root命令
su 或者 su root

修改主机名:
sudo vim /etc/sysconfig/network
删除network文件其他内容,添加:
NETWORKING=yes
HOSTNAME=hadoop101

执行命令 sudo hostname hadoop101
exit重启终端,主机名称修改成功

E325: 注意 发现交换文件 “*.swp“ 解决方法
解决法案:

1、用命令恢复非正常文件,vim -r 非正常文件,然后再删除.swap文件,再次编辑文件时,不会再提示警告。

2、用ls -al命令查询出.swap隐藏文件,并删除,下载再编辑文件时,不会再提示警告。

一、IP修改
1:
hadoop101 IP修改:
vim /etc/sysconfig/network-scripts/ifcfg-ens33

修改 BOOTPROTO="static"
添加:
IPADDR=192.168.25.101
GATEWAY=192.168.25.2
NDS1=192.168.25.2
DNS2=8.8.8.8
2:
vim /etc/hostname
添加 hadoop101

3:
vim /etc/hosts
添加
192.168.25.101 hadoop101
192.168.25.102 hadoop102
192.168.25.103 hadoop103
4:
重启
service network restart

二、jdk 解压
将文件 jdk-8u301-linux-x64.tar.gz和hadoop-3.3.1.tar.gz上传到/opt/software_2021(software_2021文件夹是自己建立的)
jdk-8u301-linux-x64.tar.gz和hadoop-3.3.1.tar.gz解压到文件夹 /usr/lib/JDK_2021(JDK_2021文件夹是自己建立的)
读写权限:
chmod 777 software_2021
chmod 777 JDK_2021
解压:
tar -xzvf jdk-8u301-linux-x64.tar.gz -C /usr/lib/JDK_2021
tar -xzvf hadoop-3.3.1.tar.gz -C /usr/lib/JDK_2021

1、配置环境变量:
vim /etc/profile
(2)编辑模式下,在结尾或开头添加如下:java

JAVA_HOME

export JAVA_HOME=/usr/lib/JDK_2021/jdk1.8.0_301
export PATH=JAVA_HOME/bin:PATH
export CLASSPATH=.:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

HADOOP_HOME

export HADOOP_HOME=/usr/lib/JDK_2021/hadoop-3.3.1
export PATH=PATH:HADOOP_HOME/bin
export PATH=PATH:HADOOP_HOME/sbin

2、更新
source /etc/profile

hadoop version
java -version
pwd 显示当前你在什么位置

(1)bin 目录:存放对 Hadoop 相关服务(hdfs,yarn,mapred)进行操作的脚本
(2)etc 目录:Hadoop 的配置文件目录,存放 Hadoop 的配置文件
(3)lib 目录:存放 Hadoop 的本地库(对数据进行压缩解压缩功能)
(4)sbin 目录:存放启动或停止 Hadoop 相关服务的脚本
(5)share 目录:存放 Hadoop 的依赖 jar 包、文档、和官方案例

三、关闭防火墙
关闭防火墙命令
sudo systemctl disable firewalld.service
systemctl disable firewalld.service
systemctl disable firewalld
systemctl stop firewalld

查看防火墙状态
sudo firewall-cmd --state

四、SSH安装授权
ssh 安装 授权
https://www.jb51.net/article/137194.htm
CentOS 默认已安装了 SSH client、SSH server,可打开终端执行如下命令进行检验:
rpm -qa | grep ssh
安装ssh:
yum install openssh-clients

yum install openssh-server

命令测试一下 SSH 是否可用:
ssh localhost

进入ssh
cd /root/.ssh

生成公匙的命令 ssh-keygen -t rsa

私匙 id_rsa
公匙 id_rsa.pub

新建 vim authorized_keys

加入授权

cat id_rsa.pub >> authorized_keys

修改文件权限

chmod 600 ./authorized_keys

登录ssh命令
ssh localhost

退出ssh命令
exit

/usr/lib/JDK_2021/hadoop-3.3.1
/usr/lib/JDK_2021/hadoop-3.3.1/etc/hadoop
/usr/lib/JDK_2021/hadoop-3.3.1/etc/hadoop

五、CentOS 7 + Hadoop3.3.1 搭建分布式集群: 可以利用xsync /usr/lib/JDK_2021/hadoop-3.3.1/etc/hadoop
参考 https://www.cnblogs.com/thousfeet/p/8618696.html

hadoop配置路径为 :
/usr/lib/JDK_2021/hadoop-3.3.1/etc/hadoop
1、core-site.xml文件配置: vim core-site.xml

<configuration>

<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop101:8020</value>
</property>
<property>

<name>hadoop.tmp.dir</name>
<value>/usr/lib/JDK_2021/hadoop-3.3.1/data</value>
</property>
</configuration>

2、hdfs-site.xml文件配置:vim hdfs-site.xml
<configuration>

<property>
<name>dfs.namenode.http-address</name>
<value>hadoop101:9870</value>
</property>

<property>
<name>dfs.namenode.http-address</name>
<value>hadoop103:9868</value>
</property>
</configuration>

3、mapred-site.xml文件配置:vim mapred-site.xml

<configuration>
<property>

<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

4、yarn-site.xml文件配置:vim yarn-site.xml

<configuration>

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop102</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>

5、修改hadoop-env.sh,配置java jdk路径,大概在27行配置,如下:
export JAVA_HOME=/usr/lib/JDK_2021/jdk1.8.0_301
export HADOOP_HOME=/usr/lib/JDK_2021/hadoop-3.3.1

六、利用hadoop101克隆hadoop102,hadoop103
参考 https://www.cnblogs.com/frankdeng/p/9027037.html
https://blog.csdn.net/weixin_43160263/article/details/88074318

3 台 服务器需要ssh相互授权
命令测试一下 SSH 是否可用:
ssh localhost

进入ssh cd ~/.ssh/

生成公匙的命令 ssh-keygen -t rsa

私匙 id_rsa
公匙 id_rsa.pub

新建 vim authorized_keys

加入授权

cat id_rsa.pub >> authorized_keys

修改文件权限

chmod 600 ./authorized_keys

公匙

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDRmEYNkF2R3dyE3/GGxrOby8UCsNLY5K1u2aUtwxEi7YZF+AZaFHbEFmbJKTh56VPfCsjLiOiVS4zRJ87D09wOOn7E4TZOjaQ8YZDZeGmISiZEBw4ggZKxnq/hL7icCTR2u/5IcNemcgTPZ9kQGH+SI+y69hspy+nVXijVzBAcMxAkdQXPhU/PFSOiMJJau/k8h2AeIKiYDQwRe4DJvI96wU1WvTn3aR285V2HGJ18Vp1s1v9ASAdLp75PMrZRktkJnqth8OIgyqM6R4G/34NtsFbvhA/eOOMZbePa6MlAGN5IXCPfyxfoafkqfW5xFgaoJWr8gUl89hjSwksC5Xgh root@hadoop102

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzLk9GSR9ID39q6JomirKmyEdunSbGAsKjyw0BxUT6t7o9eLE6d6kXJ8V0ppHGTayX9+Txrg7d8Fay5T12Z8pEiC2IWvBd5Ni0u5r9hsTDejEvLqJ92ZjosOvsQc/ywCaTkJj50gdacAubpZjbYPewfzSwQKPnwD7ExpYARBLvDK0nw05Wa5pREXeaJCngJ7PInMf6hhdGpirdFA+hQn7pNAXXJ9qq6UQ3lwrcImmk6pQeIDUGcXTUTa0rDfYZ9UC/CW+IfqP/dvuYtwt4OrpeRG4/Z9uve5Hg775kgv/2a8dFjbuSSQQXwyFTSa+XrfPcoiwnXUL5GjYsQJkEtNTX root@hadoop101

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIsczifiKogF4U2GrkeoviWmaoFkiGLZ4oHCLZnw1sfP9rgsBitELKvsEz1SD5xC4j2WjVpDRHTumnV0lEUVsxhQjtsCWCNXc4cBEyYUt39C2K+ElayNxwYDX+bbIg4yhGdl/OPkDSXMdWDYPKdjFUrgJ1KcLnLaZ6tvip8nxk3KZTFszY4Kk7KzORZ5ypAr0apTNl6a7qE+JCeCicj8LRryz6tbwA8H2OT7Sb17YnLvJY//oRWHXKA9hEZOiG2XSa09f6J5+cS7ycNpo2xzH3yOED+1zQrNH+sXQXBg5FO8aVA8lVf6krgPbkRmkS0uAgb0Qd2P8HhnzZu81ag4Rf root@hadoop103

cd /root/.ssh/
1、权限不足,需要将读写权限传递给日志目录
sudo chmod -R 777 /usr/lib/JDK_2021/hadoop-3.3.1/logs
scp authorized_keys root@hadoop101:/root/.ssh/

[root@xiaoye004 .ssh]# scp authorized_keys root@xiaoye003:/root/.ssh/

远程复制传输文档:将authorized_keys文件复制传输到hadoop103的xiaoye文件夹下面
scp -r authorized_keys root@hadoop103:/xiaoye

远程同步传输文档:
rsync -av authorized_keys root@xiaoye003:/xiaoye_2021103/

删除文件夹
rm -rf xxx

查看文件大小
du -sh

/usr/lib/JDK_2021/hadoop-3.3.1
/usr/lib/JDK_2021/hadoop-3.3.1/etc/hadoop
/usr/lib/JDK_2021/hadoop-3.3.1/etc/hadoop

1、进入桌面路径为:vim /home/xiaoye/bin
在/home/xiaoye/bin文件夹下新建xsync脚本,内容如下:

!/bin/bash

获取输入参数个数,如果没有参数,直接退出

pcount=$#
if((pcount==0)); then
echo no args...;
exit;
fi

获取文件名称

p1=1 fname=`basenamep1`
echo fname=$fname

获取上级目录到绝对路径

pdir=cd -P $(dirname $p1); pwd
echo pdir=$pdir

获取当前用户名称

user=whoami

循环

for((host=1; host<=3; host++)); do
echo pdir/fname user@hadoop10host:pdir echo ==================hadoop10host==================
rsync -rvl pdir/fname user@hadoop10host:$pdir
done

备注:这里的ni对应自己主机名,需要做相应修改。另外,for循环中的host的边界值

2、修改脚本 xsync 具有执行权限,添加一个权限即可:
chmod 777 rsync

3、调用脚本形式:xsync 文件名称

xsync /home/xiaoye/bin

3台服务器同时配置workers ,路径是:cd /usr/lib/JDK_2021/hadoop-3.3.1/etc/hadoop

配置内容
hadoop101
hadoop102
hadoop103

二、初始化集群:
cd /usr/lib/JDK_2021/hadoop-3.3.1
格式化namenode, [root@xiaoye004 hadoop-3.3.1]#
1、命令:hdfs namenode -format

2、启动集群

hadoop101主机hadoop启动命令:sbin/start-dfs.sh

hadoop102主机hadoop启动命令:sbin/start-yarn.sh

hadoop101主机停止命令: sbin/stop-dfs.sh
hadoop102主机停止命令:sbin/stop-yarn.sh

异常:
两种解决ERROR: Attempting to operate on hdfs namenode as root的方法
https://www.cnblogs.com/nihilwater/p/13849396.html
解决方案一:可以利用xsync /etc/profile
输入如下命令,在环境变量中添加下面的配置

vi /etc/profile

然后向里面加入如下的内容

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
输入如下命令使改动生效

source /etc/profile

解决方案二: 可以利用xsync /etc/profile
将start-dfs.sh,stop-dfs.sh(在hadoop安装目录的sbin里)两个文件顶部添加以下参数

HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
将start-yarn.sh,stop-yarn.sh(在hadoop安装目录的sbin里)两个文件顶部添加以下参数

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

******hadoop 异常处理1-4步:
1.停止进程
sbin/stop-dfs.sh

2.删除所有集群中hadoop-3.3.1文件夹中的data和logs文件

/usr/lib/JDK_2021/hadoop-3.3.1/data_save/dfs

rm -rf data/ logs/
格式化namenode, [root@xiaoye004 hadoop-3.3.1]#
命令:hdfs namenode -format

4.启动集群 cd /usr/lib/JDK_2021/hadoop-3.3.1

hadoop101主机hadoop启动命令:sbin/start-dfs.sh

hadoop102主机hadoop启动命令:sbin/start-yarn.sh

hadoop101主机停止命令: sbin/stop-dfs.sh
hadoop102主机停止命令:sbin/stop-yarn.sh
启动页面
http://hadoop101:9870
http://hadoop102:8088

hadoop 上传小文件
hadoop fs -mkdir /uploadFile

hadoop fs -put /opt/Software/jdk-8u301-linux-x64.tar.gz /

yarn

hadoop jar share/hadoop/

hadoop jar example110.jar /uploadFile/NOTICE.txt /output/helloCount.txt

https://blog.csdn.net/m0_46413065/article/details/116378004
六、集群时间同步:xiaoye004为时间服务器

服务器在外网环境,不需要时间同步

服务器在内网环境,必须时间同步

1.查看时间状态
systemctl status ntpd

2.开启时间
systemctl status ntpd

3.开机就开启时间
systemctl is-enabled ntpd

4.配置ntp.conf文件 路径 在 /etc

停止其他服务器ntpd

sudo systemctl stop ntpd

sudo systemctl disable ntpd

每分钟同步一次

sudo crontab -e

注意空格
*/1 * * * * /usr/sbin/ntpdate xiaoye004

sudo systemctl start ntpd

HDFS 对大数据进行储存
上传下载

hadoop fs -copyFromLocal ./shuguo.txt /sanguo

方法一:Usage:hadoop fs - copyFromLocal 本地文件 /本地文件的路径

hadoop fs -copyFromLocal ./shuguo.txt /sanguo

方法二:Usage:hadoop fs -put /本地文件 /本地文件的路径/重命名的文件

               hadoop fs -put  ./shuguo.txt    /sanguo/shuguo1.txt

方法三:Usage:hadoop fs - moveFromLocal /本地文件/本地文件的路径/重命名的文件

             hadoop fs -moveFromLocal   ./shuguo.txt    /sanguo/shuguo2.txt

hadoop fs -ls /sanguo
hadoop fs -cat /sanguo/wuguo.txt

hadoop fs -du -s -h /sanguo

hadoop fs -du -h /sanguo

hadoop fs -rm /sanguo/shuguo2.txt

hadoop-3.3.1.tar.gz
hadoop fs -copyFromLocal ./hadoop-3.3.1.tar.gz /jinguo

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

推荐阅读更多精彩内容