LINUX的一些基本命令与基本配置

                                                             **一:git 命令**

pwd 查看当前所在文件路径
ls 查看文件夹下文件
mkdir 创建文件夹
touch 创建文件
git status 查看文件夹状态
git add 添加文件
ls 查看文件夹下文件
mkdir 创建文件夹
touch 创建文件
git status 查看文件夹当前文件是否有新修改过的
git add 添加文件路径
(将github复制成文件)
第一步:
$ git clone
打开自己的github的源库,点击右边clone and download ,换ssh,复制路径ssh形式
在指令git clone 后面添加路径
确定后再输入yes确定
第二步:配置公钥
$ ssh-keygen -t rsa -C “邮箱地址”
三次回车
在我的电脑打开用户…打开.ssh文件夹,以记事本形式打开id_rsa.pub
打开自己的github的用户设置,点击ssh and GPG keys ,添加公钥,随意命名,记事本id_rsa.pub
全复制到公钥中
再次执行git clone命令
git config --global user.email “邮箱地址”(第一次匹配新的电脑在需要秘钥的情况下使用)
git config --global user.name “用户名”(第一次匹配新的电脑在需要秘钥的情况下使用)
git commit
git push -u origin master(仓库是才创建,第一次上传文件时 要写全)
git push (第二次及以后 直接这样写)

git 命令
git add 文件路径 让创建出来的文件告诉git仓库要添加
git commit -m “要提交的内容是什么—提交日志” 将我们做的操作提交到本地git仓库
git push -u origin master (第一遍这么写,目的是设置以后默认都是往master分支上提交代码)
git pull 更新本地仓库,使本地和github统一
echo “内容” >> 要添加到的文件名称

解决代码冲突
git stash 入栈(撤回)
git pull
git stash pop 出栈
git add
ls -all 展示隐藏文件
rm -rf .git/ 强制删除 .git/ 隐藏文
git 多人合作
git init 初始化git仓库(.git文件夹生成)
git remote add origin git@github.com:kll082511/project.git 确认本地和远程仓库连接
刚开始初始化出来的git仓库是不知道推送的远端git仓库是谁,
所以需要该命令告诉他要跟哪儿个远程仓库连接
1.github 创建一个用于多人合作的git仓库
2.推送版本的代码,内容到我们的仓库中
3.默认情况下哪儿个账号创建的仓库,只有本人能提交东西上来,如果想要多人开发,需要邀请别人成为协作者

                                                    ###**二:创建新的虚拟机步骤**#####
  • 记得添加CD/DVD的文件路径(即CentOS-7-x86 64-DVD的路径)或者在创建的时候直接添加也可以

  • 新建时,记得网络连接选择桥接网络.

  • 开启新建虚拟机,进行设置.

    • 1.语言选择中文简体
    • 2.在安装信息摘要里,点击安装位置进去,然后不做任何修改,直接完成
    • 3.点击软件选择,只执行命令测试可以选择最小安装,右侧全选;若是想选择友好的图形交互界面,可以选择GNOME桌面,右侧全选,点击完成.
    • 4.选择网络和主机名选项,进入,打开以太网开关,点击完成
    • 5.然后点击右下角的安装,在安装进行界面,点击ROOT密码,进行root密码设置,设置完成后,等待安装成功
  • Linux命令的通用命令格式

    • 命令字 [选项] [参数]
      • 选项: 用于调节命令的具体功能
      • 参数: 命令操作的对象,如文件、目录名等
  • 目录操作命令

    • pwd,cd,ls,mkdir,du
  • 文件操作命令

    • touch,file,cp,rm,mv,which,find
  • 文件内容操作命令

    • cat,more,less,head,tail,wc,grep
  • 压缩命令

    • gzip,bzip2,tar
  • ls: 显示文件和目录列表(list)

    • 常用参数:
      • -l (long) 详细信息显示
      • -a(all) 显示所有子目录和文件的信息,包括隐藏文件
      • -t (time)
      • -A 类似于"-a",但不显示".“和”…"目录的信息
      • -R 递归显示内容
  • du命令: 统计目录及文件的空间占用情况(estimate file space usage)

    • -a: 统计时包括所有的文件,而不仅仅只统计目录
    • -h: 以更易读的字节单位(K、M等)显示信息
    • -s: 统计每个参数所占用空间总的大小
  • file: 查看文件类型

    • file 文件名
  • cp命令: 复制(copy)文件或目录

    • -r: 递归复制整个目录树
    • -p: 保持源文件的属性不变
    • -f: 强制覆盖目标同名文件或目录
    • -i: 需要覆盖文件或目录时进行提醒
  • rm命令:删除(Remove)文件或目录

    • 格式: rm [选项] 文件或目录
    • 常用命令选项
      • -f: 强行删除文件,不进行提醒
      • -i: 删除文件时提醒用户确认
      • -r: 递归删除整个目录树
  • mv命令: 移动(Move)文件或目录—— 如果目标位置与源位置相同,则相当于改名

    • 格式: mv [选项]… 源文件或目录… 目标文件或目录
  • which命令: 显示系统命令所在目录

    • which <选项> 命令名称
    • 常用命令选项
    • -a 将所有由PATH路径中可以找到的指令均列出,而不止第一个被找到的指令名称
  • 内部命令:属于Shell解析器的一部分

    • cd 切换目录(change directory)
    • pwd 显示当前工作目录(print working directory)
    • help 帮助
  • 外部命令: 独立于Shell解析器之外的文件程序

    • ls 显示文件和目录列表(list)
    • mkdir 创建目录(make directoriy)
    • cp 复制文件或目录(copy)
  • 查看帮助文档

    • 内部命令: help + 命令(help cd)
    • 外部命令: man + 命令(man ls)
  • 重启命令(root用户才可用)

    • shutdown -r now (立即重启)
    • shutdown -r 时间 (多长分钟后自动启动)
    • shutdown -r 13:30 在时间为13:30时重启
    • 如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启
  • 关机命令

    • halt 立刻关机
    • poweroff 立刻关机
    • shutdown -h now 立刻关机(root用户使用)
    • shutdown -h 10 10分钟后自动关机
  • Linux运行级别:
    Linux运行级别

    • runlevel 切换前的运行级别,当前的运行级别(第一个数字代表未切换过的运行级别)
    • init N N代表临时要切换到的运行级别
  • 查看主机名

    • hostname
  • 修改主机名

    • hostname 主机名 (一次性修改,重启后变回原来的)
    • vi /etc/hostname (永久修改,修改的时配置文件)
  • 测试网络连接

    • ping 主机名 (按Ctrl+c停止)
  • 查看网络接口信息

    • 执行ifconfig命令
    • 如果执行不了,需要安装,执行yum install net-tools 命令进行安装
      - 安装途中,要选择y继续安装,如果不想进行选择,可以直接执行yum install net-tools -y命令,就不会
      - 让你进行选择了
  • 重启network网络服务

    • service network restart
  • 设置防火墙
    查看状态: systemctl status firewalld
    启动: systemctl start firewalld
    关闭: systemctl stop firewalld
    查看状态: systemctl status firewalld
    开机禁用 : systemctl disable firewalld
    开机启用 : systemctl enable firewalld

  • /etc/hosts 文件 保存主机名与IP地址的映射记录

  • su 切换到root用户

  • exit 退出到登录时的用户

  • :q 退出

  • :q! 强制退出(修改不保存)

  • :wq 保存修改退出

  • 进入修改时,按i就会出现inset选项,按esc退出修改

                                         ######**三: vi文本编辑器**#####
    
  • vim是vi的增强版

  • 插入命令

插入命令

  • 定位命令

    定位命令

  • 删除命令

    • dd:删除当前行
    • ndd:删除光标所在当前行向下数n行
    • D:删除当前行光标所在的位置后面的字符
    • x:向后删除光标所在位置的字符
    • X:向前删除光标前面的字符
    • nX:删除前面的n个字符,光标所在的字符将不会被删
  • 复制和粘贴命令

    • yy或Y:复制当前行
    • nyy或nY:复制以下n行
    • p:在光标后面插入buffer中的内容
    • P:在光标前面插入buffer中的内容
  • 替换和撤销命令

    • r:取代光标所在处的字符
    • R:从光标所在处开始替换字符,按esc结束
    • u:撤销上一步操作
    • 定位命令

定位命令

  • 查找操作

    • :set nu 设置行号
    • :set nonu 取消行号
    • :n 移到第n行
    • :/查找的关键字
  • 替换操作

    • ? /old/new 将当前行中查找到的第一个字符“old” 串替换为“new”
    • ? /old/new/g 将当前行中查找到的所有字符串“old” 替换为“new”
    • :#,# s/old/new/g 在行号“#,#”范围内替换所有的字符串“old”为“new”
    • :% s/old/new/g 在整个文件范围内替换所有的字符串“old”为“new”
    • :%s/old/new 查找文件中所有行第一次出现的old,替换为new
  • 其他命令

    • :W[文件路径]保存当前文件
    • :q 如果未对文件做改动则退出
    • :q! 放弃存储名退出
    • :wq或:x 保存退出
  • 可视模式

    • v:可视模式
    • V:可视行模式
    • Ctrl+v:可视块模式
    • 注意:
      • 在所有可视模式中,d和x键可以用删除选定的内容
      • 在可视块模式中,选中所需行,按I键输入内容,之后按两次esc键,可在所有选定行光标处添加同样的内容.

用户管理命令

  • 用户管理命令

用户管理命令

  • 例子含义:创建用户id为888,所属组为users,且还指定了组sys,root的用户zhangsan,其描述为"hr zhang"用户,

  • 设置密码

    • useradd -u 888 -g users -G sys,root -c “hr zhang” zhangsan

    • passwd zhangsan

      • 命令格式:passwd [选项] <用户名>
    • 常用命令选项

    常用命令选项

  • 修改已有用户属性

    • 修改用户命令:usermod (user modify)
      • -l 修改用户名(login); 例子:usermod -l a b(b改为a)
      • -g 添加组 ;例子:usermod -g sys tom
      • -G 添加多个组 ;例子:usermod -G sys,root tom
      • –L 锁定用户账号密码(Lock);
      • –U 解锁用户账号(Unlock)
    • 删除用户命令:userdel(user delete)
      • -r 删除账号时同时删除目录(remove)[把用户的宿主目录一并删除]

组命令管理

  • 添加组:groupadd
    • -g 指定gid
  • 修改组:groupmod
    • -n 更改组名(new group)
  • 删除组: groupdel
  • groups 显示用户所属组
  • 修改用户组的属性
    • 命令格式: groupmod [选项] <用户名>
    • 常用命令选项
      • -g: 设置想要使用的GID
      • -o: 使用已经存在的GID
      • -n: 设置想要使用的群组名称
  • 设置组帐号密码(极少用),添加/删除组成员
    • 命令格式:gpasswd [选项] 组帐号名
    • 常用命令选项
      • -a: 向组内添加一个用户
      • -d: 从组内删除一个用户成员
      • -M: 定义组成员列表,以逗号分隔
  • 删除组账号
    • 命令格式:groupdel <组账号名>
    • 注意:只能删除那些没有被任何用户指定为主组的组.
  • 显示用户所属组
    • 命令格式: groups [用户名]

文件目录权限管理

  • 权限

    • 读®: 读取文件的内容;列出目录里的对象
    • 写(w):允许修改文件;在目录里面新建或者删除文件
    • 执行(x):允许执行文件;允许进入目录里
  • 数字权限

    • 除了用字母rwx来表示权限,还可以使用3位数字来表 达文件或目录的权限
      • 读: 4
      • 写:2
      • 执行:1
  • chmod命令(change mode)

    • 格式
      • chmod [ugoa] [±=] [rwx] file/dir 或 chmod nnn file/dir
    • 参数解释
      • u:属主 g:属组 o:其他用户 a:所有用户
      • +:添加权限 -:删除权限 =:赋予权限
      • nnn:三位八进制的权限
    • 常用命令选项
      • -R 递归修改指定目录下的所有子文件及文件夹的权限
      • -f 强制改变文件访问特权;如果是文件的拥有者,则得不到任何错误信息
    • 例子: chmod g+w ll.txt
    • 用数字表示权限(r=4,w=2,x=1,-=0)
      • 例如: chmod 750 b.txt;rwx用二进制表示是111,十进制4+2+1=7
        ; r-x用二进制表示是101,十进制4+0+1=5
  • chown命令

    • 格式:
    • chown 属主 file/dir
    • chown :属组 file/dir
    • chown 属主:属组 file/dir
    • 常用命令选项
      • -R:递归的修改指定目录下所有文件,子目录的归属

                                                                       **##四: 可执行文件查找#####**
        
  • which命令:显示系统命令所在目录

    • 格式:which <选项> command(命令名称)
    • 常用命令选项
      • -a:将所有由PATH路径中可以找到的指令均列出,而不止第一个被找到的指令名称

查询命令

  • find命令
    • 格式:find <路径> <选项> [表达式]

    • find查找的特点

      • 从指定路径下递归向下搜索文件
      • 支持按照各种条件方式查找
      • 支持对查找到的文件再进一步的使用指令操作
      • (例如:删除,统计大小,复制等)
    • 常用命令选项

      • -name 根据文件名查找
      • -user 根据文件拥有者查找
      • -group 根据文件所属组寻找文件
      • -perm 根据文件权限查找文件
      • -size 根据文件大小查找文件
      • -type 根据文件类型查找(f-普通文件,c-字符设备文件,b-块设备文件,l-链接文件,d-目录)
      • -o 表达式或
      • -and 表达式与

文件内容操作命令

  • cat命令:显示出文件的全部内容
  • more命令:全屏方式分页显示文件内容
    • 交互操作方法
      • 按Enter键向下逐行滚动
      • 按空格键向下翻一屏,按b键向上翻一屏
      • 按q键退出
  • less命令:与more命令相同
  • head命令:查看文件开头的一部分内容(默认为10行)
    • 格式:head -n 文件名
  • tall命令:查看文件结尾的少部分内容(默认为10行)
    • 格式:tail -n 文件名
  • wc命令:统计文件中的单词数量(Word Count)等信息
    • 格式:wc [选项] 目标文件
    • 常用命令选项
      • -l:统计行数
      • -w:统计单词个数
      • -c:统计字节数
  • grep命令:统计字节数
    • 语法:grep [选项] <关键字> <文件…>
    • 常用选项
      • -c:计算匹配关键字的行数
      • -i:忽略字符大小写的差别
      • -n:显示匹配的行及其行号
      • -s:不显示不存在或不匹配文本的错误信息
      • -h:查询多个文件时不显示文件名
      • -l:查询文件时只显示匹配字符所在的文件名
      • -color=auto:将找到的关键字部分加上颜色显示

压缩命令

  • gzip压缩(解压)文件或目录,压缩后缀为gz
    • 格式命令:gzip [选项] 压缩(解压缩)的文件名
      • -d:将压缩文件解压(decompress)
      • -l:显示压缩文件的大小,未压缩文件的大小,压缩比(list)
      • -v:显示文件名和压缩比(verbose)
      • -num:用指定的数字num调整压缩的速度,-1或–fast表示最快压缩方法(低压缩比),-9或–best
      • 表示最慢压缩方法(高压缩比).系统缺省值为6
  • bzip2 压缩(解压)文件或目录,压缩文件后缀为bz2
    • 命令格式:bzip2 [-cdz] 文档名
      • -c:将压缩的过程产生

                                                       **### 五: sed和awk命令#####**
        

一.sed命令 行操作

格式:sed 选项 动作
选项: -n
动作:
  • a 新增 往下增加
  • i 往上一行添加
  • c 替换 1,5c会将这一块区域全部替换,不会每行替换
  • d 删除
  • p 输出
  • s 替换 经常配合正则进行操作
  • w 写入 sed ‘w 要被写入内容的文件(目标文件)’ 要读取内容的文件(源文件)
    只要用w向文件中写入,就会将目标之前的内容全部覆盖掉
  • r 读取 sed ‘2r 要读取的文件’ 加入数据的文件(目标文件)
高级操作
  • | 使用管道符配合其它命令
  • {} 可以让sed 执行多个命令,只是动作之间要用封号隔开
  • & 替换 在&前面放内容,是在筛选出来的内容前追加;在&后加内容,是在筛选出来的内容后进行追加.
  • 相当于占位符上的作用,将我们s/查询条件/ 查询到的内容,可以在s/查询条件/要替换的内容进行使用,
  • 实现追加的效果
  • \u 转成大写可以配合我们的&来实现将匹配的内容转成大写的操作
  • ()例子:注意转义字符,转移小括号和加号```
    sed ‘s/([a-z0-9_-]+)❌([0-9]+)?[0-9]+):.*$/user: \1 userid: \2 groupid: \3/’ passwd
  • 怎么在sed中获取分组得到的内容?
    • 首先,分组的序号是从1开始,并且是按照从左到右的顺序排的,要获取使用 \分组序号 来获取,
    • 例如\1就是个占位符.

二.awk 行读取

基本格式:awk 选项 ‘command’ file
格式: awk -F ‘{print NR,$3}’ file
  • NR 行号
  • NF 列数
  • $N 第N列内容
  • 选项:-F 设置分隔符 默认情况下是使用" "[空格]进行的切割
Print
printf
  • ‘{printf(“line:%3s colunm:%s user:%10s userid:%3s\n”,NR,NF,$1,$3)}’
    • 要使用正则:~/正则匹配规则/
    • ‘$1~/^j.*/{printf(“user:%s\n”,$1)}’
    • 如果用!~就是对正则匹配内容取非
扩展格式
  • awk 选项 ‘BEGIN{} command END{}’ file

  • 例如:awk -F ‘:’ ‘BEGIN{n=0} {if($3>100) name[n++]=$1} END{for(i=0;i<n;i++) print i,name[i]}’ /etc/passwd

                                         #####**六:   Hadoop安装和单节点测试**   ######
                                         
         #### hadoop的安装(前提必须安装了JDK,文件路径都使用的绝对路径,可以根据自己所在位置适当调整)
    
  • 1.把hadoop安装包放在虚拟机内,解压.我的是在/home/hadoop/文件夹下放着,以下会以这个为例.

  • 2.在/etc/profile或者 ~/.bash_profile里面添加hadoop的路径

    • 配置之后要执行命令: . ~/.bash_profile或者. /etc/profile,使之生效,配置的哪个文件,就用哪个命令.
    • 测试生效的命令是:hadoop

jak与hadoop的安装路径
alias la=‘ls -a’
export JAVA_HOME=/home/hadoop/jdk1.8.0_181
export HADOOP_HOME=/home/hadoop/hadoop-2.7.3
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin: H A D O O P H O M E / b i n : HADOOP_HOME/bin: HADOOPHOME/bin:HADOOP_HOME/sbin
CLASSPATH=.: J A V A H O M E / l i b / t o o l s . j a r : JAVA_HOME/lib/tools.jar: JAVAHOME/lib/tools.jar:JAVA_HOME/lib/dt.jar

```

export HADOOP_HOME=/home/hadoop/hadoop-2.7.3 #hadoop解压包所在路径
#在PATH变量后面添加如下命令
: H A D O O P H O M E / b i n : HADOOP_HOME/bin: HADOOPHOME/bin:HADOOP_HOME/sbin

单节点测试
  • 3.创建一个文件夹,命令是:mkdir input.
  • 4.在input文件夹下创建一个test.txt文件,命令是:touch test.txt
  • 5.使用命令:vim input/test.txt,进入文本编辑界面,随意输入内容.
  • 6.执行命令:hadoop jar ~/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount ~/input/ ~/output
    • 这个命令是利用jar包hadoop-mapreduce-examples-2.7.3.jar里的wordcount命令统计test文件夹下
    • 的单词的出现次数.
    • 记得关闭防火墙:systemctl disable firewalld 永久关闭防火墙;systemctl stop firewalld 暂时关闭防火墙,
    • 下次启动,需要再次关闭.
  • 7.执行命令:cat output/*
    • 是指查看6的命令的运行结果.

                                                              ####****七:  Hadoop伪分布式安装步骤**####
      
1.创建用户
2.使用新创建的用户连接到虚拟机
3.防火墙关闭
  • (1) systemctl status firewalld(查看状态)
  • (2)systemctl disable firewalld (开机禁用)
  • (3)systemctl status firewalld (关闭)
4.JDK
  • (1)下载
  • (2)上传
  • (3)解压、改名
  • (4)配置环境变量
5.hadoop配置
  • (1)下载hadoop包
  • (2)上传
  • (3)解压,改名
  • (4)配置环境变量(bin\sbin)
6.配置hadoop中几个文件
  • (1)vim hadoop-env.sh

    • ①($JAVA_HOME路径设置成JDK解压包的路径/home/hadoop/jdk1.8.0_181)
  • (2)vim core-site.xml

    • ①fs.defaultFS:
      • 1)默认是本地文件系统file:///
      • 2)使用URL统一资源定位符的格式设置成hdfs://本机的ip地址(实质是namenode的ip):9000
        • 类比:jdbc:mysql://localhost:3306
    • ②hadoop.tmp.dir:存放hadoop临时文件的文件目录
    • ③代码如下(是放在标签内的):``

      hadoop.tmp.dir //存放临时文件
      /home/hadoop/tmp// 存放路径


      fs.defaultFS
      hdfs://172.18.24.###(记得改IP地址):9000
  • (3)vim hdfs-site.xml:

    • ①dfs.namenode.name.dir:namenode所在路径(该路径需要允许当前登录的用户具有写的权限)
    • ②dfs.datanode.data.dir:datanode所在路径(该路径需要允许当前登录的用户具有写的权限)
    • ③代码如下:
        <name>dfs.replication</name>//设置备份(可暂时删除)    
        <value>1</value>    
    </property>    
    <property>    
        <name>hdfs.namenode.name.dir</name>    
        <value>file:/home/hadoop/dfs/name</value>    
    </property>    
    <property>    
        <name>dfs.datanode.data.dir</name>    
        <value>file:/home/hadoop/dfs/data</value>    
    </property>

- (4)vim yarn-site.xml
	- ①yarn.nodemanager.aux-services:使用mapreduce_shuffle机制
	- ②代码如下:`
	<property>  
		<name>mapreduce.framework.name</name>  
		<value>yarn</value>  
	</property>  
	<property>  
		<name>yarn.nodemanager.aux-services</name>  
		<value>mapreduce_shuffle</value>  
	</property>
  cp mapred-site.xml.templete mapred-site.xml[备份一份,在备份里面写,这样模板被保存,以后好修改]
#### 7.格式化HDFS
- (1)Hadoop  namenode  -format
	- 格式化成功的标志:Storage:.....successfully 
#### 8.启动HADOOP服务
- (1)start-all.sh或者start-dfs.sh and start-yarn.sh
	- 成功的标志是:运行jps命令出现的如下图:
	- 六个单元
#### 9.关闭hadoop服务
- (1)Stop-all.sh或者 stop-yarn.sh and stop-dfs.sh
#### 端口进程查询和结束
- 查看占用端口的进程命令如下:``
netstat -tunlp|grep (端口号|java) 
- kill -9 进程号 通过杀死进程来释放端口,解决端口占用问题.
 
              







                                  ###**八:Hadoop完全分布式配置步骤**###   
                                  
#### 1.xshell上的发送键输入的所有会话的功能的使用
- ①创建三个新的虚拟机,全部用xsheel打开,三个虚拟机都要创建hadoop用户,且在其根目录下,放入jdk和hadoop压缩包.
- ②右键,选择发送键输入的所有会话,在其中一个虚拟机中解压jdkhadop.其他两个虚拟机会自动同步.
- ③配置好jdk和hadoop环境
  ④使用scp命令把之前配好的伪分布式的5个.xml文件的内容传送到现在的三个新建虚拟机中.

格式:scp 要传输的内容 要传到的电脑的用户名@要传到的电脑的IP:要传到的这台电脑的位置
例如:
scp -r /home/tars/hadoop-2.7.3/etc/hadoop hadoop@172.18.24.190:/home/tars/hadoop-2.7.3/etc/hadoop
要传的内容是之前伪分布式配置好的hadoop解压包下的etc文件夹下的hadoop文件夹
要传到的是hadoop用户,ip是172.18.24.190.
要注意权限,如果权限都是root,使用chown -R hadoop:hadoop /home/tars/hadoop-2.7.3/etc/hadoop命令把两个hadoop文件权限全部改成hadoop用户,或者使用su权限
重复命令,注意ip地址,把剩余两台虚拟机的hadoop的文件替换掉.

###### 注意:新建的三个虚拟机是当做datanode使用的,之前创建的伪分布式当做namedata,以上操作其实主要是jdk和hadoop环境配置,以及把namenode同步配置在datanode上.这里就不需要进行格式化了,格式化是针对namenode进行的
#### 2.在hadoop解压包的etc下的hadoop文件夹下的slaves文件里加入新建的三个虚拟机的IP地址(是为把datanode写进去进行注册)
#### 3.免密操作(都是在namenode上操作)
- ①注册命令是:ssh-keygen(获取注册码,遇到写密码的地方直接回车,是为了在启动关闭时不需要密码)
- ②执行命令:ssh-copy-id hadoop@172.18.24.190 (语句执行三次,每次的IP地址写新建的三个虚拟机的地址)
- ③执行名:cat id_dsa.pub >> ~/.ssh/authorized_keys(将.pub文件复制到 .ssh 目录上)
- ④查看正常加入的datanode的命令:hdfs dfsadmin -report

#### 3.在网页上登录namenode,发现datanode没有正常加入到namenode上的解决方法
- 找到datanode虚拟机的hadoop的解压包下的logs文件夹下的namenode的log文件打开,会发现hostname的错误.这时,在namenode的/etc/hosts文件中添加三个datanode和namenode虚拟机的ip和对应给他取个名字即可.
	- 例如: 172.18.24.190  datanode1
	- 172.18.24.28 namenode




      
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值