使用echo命令可以打印变量的值或者输出指定的字符串
1、打印变量的值
2、打印字符串
3、-e 激活转义字符
\n 换行且光标移至行首
\r 光标移至行首,但不换行
\t 插入 tab
\v 换行但光标仍旧停留在原来的位置
printenv命令可以打印环境变量的值
cat 文件名 一次性加载文件全部,并全部显示
more 文件名 一次性加载文件全部,并分页显示
less 文件名 一次只加载文件一页,缓存一页,分页显示
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
在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权限
免密登录成功
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_*
重启