目录
/ZSY/soft/hadoop-3.1.3/etc/hadoop路径下,配置Hadoop的脚本文件
一、常用的Linux命令
1.查看隐藏文件命令ls -al
2.删除隐藏文件 (注意:rm空格-rf空格点星号空格点配置文件名
rm -rf .* .bashrc
3.出现YE^H^H^[[3~^[[2~^[[3~^H^H^H怎么 删?按住Ctrl Bacspace
4.免密登录
生成密钥
ssh-keygen -t rsa
此时.ssh文件下应该出现
-rw------- 1 ZSY ZSY 2382 Sep 24 16:16 authorized_keys授权密码
-rw------- 1 ZSY ZSY 1675 Sep 24 16:15 id_rsa私钥
-rw-r--r-- 1 ZSY ZSY 397 Sep 24 16:15 id_rsa.pub公钥
-rw-r--r-- 1 ZSY ZSY 1283 Sep 24 16:14 known_hosts已知主机,可以cat文件名,查看有哪些主机
拷贝公钥到其他节点,此处以westgisB065为例子,做完免密之后记得测试一下,正向和反向登录,查看是否能够免密登录。(注:如果没有做完免密,在启动hdfs的时候会出现Permission denied(publickey,........提示,如果遇到这个提示,回去复盘免密)
ssh-copy-id -i ~/.ssh/id_rsa.pub westgisB065
ssh-copy-id -i ~/.ssh/id_rsa ZSY@westgisB065
5.创建文件夹 (创建一个叫pp的文件夹)
mkdir pp
6.移动文件夹(mv name /path)
mv hbase-2.4.8-bin.tar.gz /home/ZSY/zip
7.更改文件夹名字(将1.txt改成new1.txt)
touch 1.txt new1.txt
8.删除文件夹(删除pp)
rm -rf pp
9.生成jar包
- vi hello.java编写一段代码
public class hello{
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
- javac hello.java生成.class文件;
- ls查看一下生成 hello.class文件;
- 将hello.java和hello.class生成jar包 jar -cvfe hello.jar hello hello.class
- 编译jar包java -jar hello.jar
二.HADOOP3.0分布式集群搭建
分布式集群划分
主机地址 | 节点角色划分 | 节点角色划分 |
10.103.105.64 | ResouceManager | NameNode |
10.103.105.65 | Nodemanager | DataNode |
10.103.105.66 | Nodemanager | DataNode |
10.103.105.67 | Nodemanager | DataNode |
10.103.105.68 | Nodemanager | DataNode |
10.103.105.69 | Client | Client |
/*logs 和opt/hdfs/name data 等文件要自己创建*/了解Hadoop 3.0-功能和增强功能 - 知乎 (zhihu.com)z
环境变量脚本.bashrc
#HADOOP
export HADOOP_HOME=/home/ZSY/soft/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export JAVA_LIBRARY_PATH=/home/ZSY/soft/hadoop-3.1.3/lib/native
#JAVA
export JAVA_HOME=/home/ZSY/soft/jdk1.8.0_271
export JRE_HOME=/home/ZSY/soft/jdk1.8.0_271/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
#maven
export MAVEN_HOME=/home/ZSY/soft/apache-maven-3.6.1
export PATH=${MAVEM_HOME}/bin:${PATH}
#yarn
export YARN_HOME=/home/ZSY/soft/hadoop-3.1.3/etc/hadoop
export PATH=$YARN_HOME/bin:$PATH
#hbase
export HBASE_HOME=/home/ZSY/soft/hbase-1.4.13
export PATH=$PATH:$HBASE_HOME/bin
/ZSY/soft/hadoop-3.1.3/etc/hadoop路径下,配置Hadoop的脚本文件
core-site.xml
<!--注释-=8020/9000/9820==namenode UI 9870=-->
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://westgisB064:9000</value>
</property>
</configuration>
hdfs-site.xml4代表有4个DN,$HADOOP_HOME/hdfs/dn和...hdfs/nn;存放元数据;
<configuration>
<property>
<name>dfs.replication</name>
<value>4</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/ZSY/soft/hadoop-3.1.3/opt/hdfs/data</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/ZSY/soft/hadoop-3.1.3/opt/hdfs/name</value>
</property>
</configuration>
hadoop-env.sh声明环境变量路径
export JAVA_HOME=/home/ZSY/soft/jdk1.8.0_271
export HADOOP_HOME=/home/ZSY/soft/hadoop-3.1.3
worker配置从节点
westgisB065
westgisB066
westgisB067
westgisB068
启动hdfs地址10.103.105.64:9870
9870是HDFD NameNode HTTP UI端口
8020/9000/9820是HDFS 内部通信端口
三、Yarn的基本配置
yarn-site.xml
<configuration>
<!--6个模块功能请/*注释*/ Site specific YARN configuration properties -->
<!-- ===============NameNode上运行的附属服务,配置成mapreduce_shuffle才可以MapReduce任务-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- ===============ResourceManager暴露给客户端的地址,用于提交进程、结束进程==========-->
<property>
<name>yarn.resourcemanager.address</name>
<value>westgisB064:8032</value>
</property>
<!-- ===============RM暴露给AppMaster的地址,用于申请、释放资源======================-->
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>westgisB064:8030</value>
</property>
<!-- ===============RM给NM的地址,汇报心跳、领取任务=================================-->
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>westgisB064:8031</value>
</property>
<!-- ==============NM所在节点,可以分配给Yarn的最大可以使用内存,一般分配80%~90%,剩10%左右-->
<property>
<name>yarn.nodemanager.memory-mb</name>
<value>8GB</value>
</property>
<!-- ===============NM所在节点,可以分配给Yarn的最大可使用CPU核心数====================-->
<property>
<name>yarn.nodemanager.cpu-vcores</name>
<value>4</value>
</property>
</configuration>
mapred-site.xml
<!--=================此配置项表示使用Yarn的框架来管理MapReduce程序========================-->
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
启动Yarn地址10.103.105.64:8088
8088是YARN 查看任务执行端口
四、常见错误合集
1、流程上的错误:
(1)出现root key等提示,免密没有做完;解决方法就是把做完免密的节点追加到没做免密的节点
(2)常用命令失灵,出现-bash-4.2$错误,检查ls .al下的隐藏文件;将正常节点下的.bash_profile拷贝到出现bash的节点相应的位置;
(3) 检查防火墙是否关闭(关闭状态下配置);检查各个节点下的世界时钟是否统一(一般时间及间隔不超过30s)
(4)检查网络状况
(5)检查是否有进程占用
(6)启动集群前要先初始化hadoop hdfs namenode -format和hadoop namenode -format
2、配置脚本上的错误:
(1)主要围绕.bashrc出错,变量无效等,或者直接无法加载配置文件等,可以看看环境变量配置脚本(基本上是语法上的错误);
(2)围绕etc/hadoop下的配置文件出错<property><property/>语句和语法上的错误,
待续未完。。。。
wordcount的编译运行
五、HBbase的安装配置
1. /home/ZSY/soft/hbase-2.4.8/conf打开此路径下的 hbase-env.sh 在文末加入环境变量
export JAVA_HOME=/home/ZSY/soft/jdk1.8.0_271
export HBASE_CLASSPATH=/home/ZSY/soft/hadoop-3.1.3/etc/hadoop
export HBASE_MANAGES_ZK=true
2. vi hbase-site.xml
<!--本地文件系统的临时文件夹,重启时清除-->
<property>
<name>hbase.tmp.dir</name>
<value>/home/ZSY/soft/hbase-2.4.8/TemporaryCleaning</value>
<!--注此处的端口号要根据hadoop里面的配置端口一致-->
<property>
<name>hbase.rootdir</name>
<value>hdfs://westgisB064:9000/hbase</value>
</property>
<!--web监控界面-->
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
<!--hbase.zookeeoer.quorum的参数,配置ZK的地址,4个节点都启用Zookeeper-->
<property>
<name>westgisB065,westgisB066,westgisB067,westgisB068</name>
<value></value>
</property>
<!--快照的存储位置-->
<property>
<name>hbase.zoopkeeper.property.dataDir</name>
<value>/home/ZSY/soft/hbase-2.4.8/ZKdatas</value>
</property>
<!--防止jar 包冲突-->
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<!-- 冗余度 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!-- 主节点和从节点允许的最大时间误差 -->
<property>
<name>hbase.master.maxclockskew</name>
<value>180000</value>
</property>
</configuration>
3.vi regionservers
westgisB065
westgisB066
westgisB067
westgisB068
4.vi hbase-env.sh 环境添加(在/home/ZSY/soft/hadoop-3.1.3目录下建一个pids的包,记得在.bashrc文件中添加环境变量)
export JAVA_HOME=/home/ZSY/soft/jdk1.8.0_271
export HBASE_CLASSPATH=/home/ZSY/soft/hadoop-3.1.3/etc/hadoop
export HBASE_MANAGES_ZK=true
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin
export HBASE_PID_DIR=/home/ZSY/soft/hadoop-3.1.3/pids
5.启动10.103.105.64:60010