Linux教程

linux常用命令、互信、hadooop伪分布式安装

本文主要是介绍linux常用命令、互信、hadooop伪分布式安装,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

echo命令

使用echo命令可以打印变量的值或者输出指定的字符串
1、打印变量的值
在这里插入图片描述
2、打印字符串
在这里插入图片描述
3、-e 激活转义字符
\n 换行且光标移至行首
\r 光标移至行首,但不换行
\t 插入 tab
\v 换行但光标仍旧停留在原来的位置
在这里插入图片描述

printenv

printenv命令可以打印环境变量的值

more、less、cat查看文件内容

cat 文件名 一次性加载文件全部,并全部显示
more 文件名 一次性加载文件全部,并分页显示
less 文件名 一次只加载文件一页,缓存一页,分页显示

wc命令

awk

awk工作流程:读入有\n换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0表示所有域,$1表示第一个域,$n表示第n个域
需求:显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以tab键分割
在这里插入图片描述
需求:显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以逗号分割,而且在所有行添加列名name,shell,在最后一行添加"blue,/bin/nosh"

cat /etc/passwd |awk  -F ':'  'BEGIN {print "name,shell"}  {print $1","$7} END {print "blue,/bin/nosh"}'

先执行BEGIN,然后读取文件,读入有/n换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域, 1 表 示 第 一 个 域 , 1表示第一个域, 1表示第一个域,n表示第n个域,随后开始执行模式所对应的动作action。接着开始读入第二条记录······直到所有的记录都读完,最后执行END操作

需求:搜索/etc/passwd有root关键字的所有行,并显示对应的shell
awk -F: ‘/root/{print $7}’ /etc/passwd
/bin/bash

scp

在linux服务器之间复制文件和目录,且scp传输是加密的
命令格式:
scp [参数] [原路径] [目标路径]

需求:将hadoop100 /root/software/es 传输到hadoop102
scp -r /root/software/es root@hadoop102:/root/software

如何给机器添加互信

1、修改主机的名称
hostnamectl set-hostname hadoop101(主机名)
2、添加各个主机的地址和主机名 vi /etc/hosts
在这里插入图片描述
3、生成秘钥(私钥和公钥) ssh-keygen -t rsa -P “”
ssh-keygen生成,管理和转换认证密钥
-t 创建秘钥的类型
rsa 秘钥类型
-P 提供(旧)密码短语
在这里插入图片描述
4、自己保存秘钥 cat .ssh/id_rsa.pub > .ssh/authorized_keys
在这里插入图片描述
5、把秘钥传输给其他机器 ssh-copy-id -i .ssh/id_rsa.pub -p22 root@hadoop101(root用户@其他主机名)

6、获取各自对应的root登录密码

7、连接 ssh root@hadoop101

互信失败如何解决

在这里插入图片描述
1、从日志入手分析,互信访问日志为/var/log/secure;
在这里插入图片描述

2、添加互信是有条件的,否则添加不成功。条件就是远程机器的/home/user(具体用户)目录权限要满足以下要求:u(本用户):一定要有x(可执行)权限;g(本组用户):不能有写权限;o(其他组用户):不能有写权限。
在这里插入图片描述
修改root权限
在这里插入图片描述
免密登录成功
在这里插入图片描述

配置Hadoop

1、上传包
hadoop-native-64-2.6.0.tar
hadoop-2.6.0-cdh5.14.2.tar.gz
2、解压hadoop-2.6.0-cdh5.14.2.tar.gz、修改文件名称为hadoop、删除压缩包
tar -zxvf hadoop-2.6.0-cdh5.14.2.tar.gz
mv hadoop-2.6.0-cdh5.14.2 hadoop
rm -f hadoop-2.6.0-cdh5.14.2.tar.gz
3、cd hadoop查看一下hadoop的目录结构
bin sbin 执行文件
etc 配置文件
examples 示例
include 拓展
lib 依赖包
share 共享
src 源码
4、cd etc/hadoop里面是各种配置文件
1) vi hadoop-env.sh(hadoop和java相关联)
JAVA_HOME的安装目录 在这里插入图片描述
如何快速查找JAVA_HOME的安装目录
如果配置了环境变量 echo $JAVA_HOME
在这里插入图片描述
如果用rpm安装,没有配置环境变量
which java
在这里插入图片描述在这里插入图片描述
2)core-site.xml
1、fs.defaultFS参数配置的是HDFS的地址
可以是主机名、ip地址:9000
2、hadoop.tmp.dir配置的是Hadoop临时目录
3、hosts、groups配置集群时需要配置,表示任意用户、任意组可以使用

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop100:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/root/software/hadoop/tmp</value>
  </property>
  <property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
  </property>
  <property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
  </property>
</configuration>

3)hdfs-site.xml
dfs.replication配置的是HDFS存储时的备份数量,因为这里是伪分布式环境只有一个节点,所以这里设置为1。

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

4)检查免密登录
在这里插入图片描述
5)在yarn上执行 mapreduce
mapred-site.xml.template改为mapred-site.xml

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

6) 配置yarn

<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.resourcemanager.hostname</name>
      <value>hadoop100</value>
   </property>

7)配置hadoop环境变量
/etc/profile
第一行 HADOOP_HOME=hadoop的安装目录
最后一行 如果用rpm安装的java
那么直接复制最后一行
如果配置了java环境变量
将$HADOOP_HOME/bin:$HADOOP_HOME/sbin添加到PATH中,位于$PATH前

export JAVA_HOME=/root/software/jdk1.8.0_221
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export HADOOP_HOME=/opt/software/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH

用rpm安装的环境变量
前一个path初始化
source /etc/profile

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export HADOOP_HOME=/root/software/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

8)hdfs namenode –format
格式化是对HDFS这个分布式文件系统中的DataNode进行分块,统计所有分块后的初始元数据的存储在NameNode中
9)cd /root/software/hadoop 执行 start-all.sh
10)jps命令查看是否已经启动成功

问题:
– process information unavailable
删除 rm -rf hsperfdata_*
重启

这篇关于linux常用命令、互信、hadooop伪分布式安装的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!