hadoop安装

tar -zxvf

改成root权限

chown -R root:root *

修改配置文件

cd /usr/hadoop-3.2.2/etc/hadoop/

 

(1)修改 core-site.xml

vi core-site.xml

 

<configuration>

        <property>

                <name>fs.defaultFS</name>

                <value>hdfs://stydy1</value>

        </property>

        <property>

                <name>hadoop.tmp.dir</name>

                <value>file:/usr/hadoop-3.2.2/tmp</value>

                <description>Abase for other temporary directories.</description>

        </property>

 

 

        <!-- 指定zookeeper地址 -->

        <property>

                <name>ha.zookeeper.quorum</name>

                <value>he1:2181,he2:2181,he3:2181</value>

        </property>

 

</configuration>

上面指定 zookeeper 地址中的he1,he2,he3 换成你自己机器的主机名(要先配置好主机名与 IP 的映射)或者 ip

 

(2)修改 hdfs-site.xml

 

vi hdfs-site.xml

 

 

        <!--指定hdfs的nameservice为mybigdata,需要和core-site.xml中的保持一致 -->

        <property>

                <name>dfs.nameservices</name>

                <value>mybigdata</value>

        </property>

 

 

        <!-- myNameService1下面有两个NameNode,分别是nn1,nn2 -->

        <property>

                <name>dfs.ha.namenodes.mybigdata</name>

                <value>server1,server2</value>

        </property>

 

 

        <!-- nn1的RPC通信地址 -->

        <property>

                <name>dfs.namenode.rpc-address.mybigdata.server1</name>

                <value>server1:9000</value>

        </property>

 

 

        <!-- nn1的http通信地址 -->

        <property>

                <name>dfs.namenode.http-address.mybigdata.server1</name>

                <value>server1:50070</value>

        </property>

 

 

        <!-- nn2的RPC通信地址 -->

        <property>

                <name>dfs.namenode.rpc-address.mybigdata.server2</name>

                <value>server2:9000</value>

        </property>

 

 

        <!-- nn2的http通信地址 -->

        <property>

                <name>dfs.namenode.http-address.mybigdata.server2</name>

                <value>server2:50070</value>

        </property>

 

 

        <!-- 指定NameNode的元数据在JournalNode上的存放位置 -->

        <property>

                <name>dfs.namenode.shared.edits.dir</name>

                <value>qjournal:/server1:8485;node1:8485;node2:8485;server2:8485/mybigdata</value>

        </property>

 

 

        <!-- 指定JournalNode在本地磁盘存放数据的位置 -->

        <property>

                <name>dfs.journalnode.edits.dir</name>

                <value>/usr/hadoop-3.2.2/journalData</value>

        </property>

 

 

        <!-- 开启NameNode失败自动切换 -->

        <property>

                <name>dfs.ha.automatic-failover.enabled</name>

                <value>true</value>

        </property>

 

 

        <!-- 配置失败自动切换实现方式 -->

        <property>

                <name>dfs.client.failover.proxy.provider.mybigdata</name>

                <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>

        </property>

 

 

        <!-- 配置隔离机制方法,Failover后防止停掉的Namenode启动,造成两个服务,多个机制用换行分割,即每个机制暂用一行-->

        <property>

                <name>dfs.ha.fencing.methods</name>

                <value>

                        sshfence

                        shell(/bin/true)

                </value>

        </property>

 

 

        <!-- 使用sshfence隔离机制时需要ssh免登陆,注意换成自己的用户名 -->

        <property>

                <name>dfs.ha.fencing.ssh.private-key-files</name>

                <value>/root/.ssh/id_rsa</value>

        </property>

 

 

        <!-- 配置sshfence隔离机制超时时间 -->

        <property>

                <name>dfs.ha.fencing.ssh.connect-timeout</name>

                <value>30000</value>

        </property

        

        <property>

                <name>dfs.replication</name>

                <value>2</value>

        </property>

        <property>

                <name>dfs.namenode.name.dir</name>

                <value>file:/usr/hadoop-3.2.2/tmp/dfs/name</value>

        </property>

        <property>

                <name>dfs.datanode.data.dir</name>

                <value>file:/usr/hadoop-3.2.2/tmp/dfs/data</value>

        </property>

        <property>

                <name>dfs.permissions</name>

                <value>false</value>

        </property>

 

 

在这里吧 里面的‘’mybigdata‘’改成你自己喜欢的名字 server1,server2可改可不改,

server1:9000 server1:50070  ‘’server1这些地方要改成你的主机名

 <value>qjournal:/server1:8485;node1:8485;node2:8485;server2:8485/mybigdata</value>

这里面‘/server1:8485;node1:8485;node2:8485;server2:84

 

hadoop安装

 

 

 

 

Yarn高可用

 

修改 mapred-site.xml

<configuration>

 

 

        <!-- 指定mr框架为yarn方式 -->

        <property>

                <name>mapreduce.framework.name</name>

                <value>yarn</value>

        </property>

 

 

        <!-- 配置 MapReduce JobHistory Server 地址 ,默认端口10020 -->

        <property>

                <name>mapreduce.jobhistory.address</name>

                <value>server1:10020</value>

        </property>

 

 

        <!-- 配置 MapReduce JobHistory Server web ui 地址, 默认端口19888 -->

        <property>

                <name>mapreduce.jobhistory.webapp.address</name>

                <value>server1:19888</value>

        </property>

 

 

        <property>

                <name>mapreduce.application.classpath</name>

                <value>/usr/hadoop-3.2.2/share/hadoop/mapreduce/*,/usr/hadoop-3.2.2/share/hadoop/mapreduce/lib/*</value>

        </property>

 

 

</configuration>

 

hadoop安装

 

)修改 yarn-site.xml

 

<configuration>

 

 

<!-- Site specific YARN configuration properties -->

 

 

        <!-- 开启RM高可用 -->

        <property>

                <name>yarn.resourcemanager.ha.enabled</name>

                <value>true</value>

        </property>

 

 

        <!-- 指定RM的cluster id -->

        <property>

                <name>yarn.resourcemanager.cluster-id</name>

                <value>yrc</value>

        </property>

 

 

        <!-- 指定RM的名字 -->

        <property>

                <name>yarn.resourcemanager.ha.rm-ids</name>

                <value>rm1,rm2</value>

        </property>

 

 

        <!-- 分别指定RM的地址 -->

        <property>

                <name>yarn.resourcemanager.hostname.rm1</name>

                <value>server1</value>

        </property>

 

 

        <property>

                <name>yarn.resourcemanager.hostname.rm2</name>

                <value>server2</value>

        </property>

        

        <!-- RM对外暴露的web http地址,用户可通过该地址在浏览器中查看集群信息 -->

        <property>

                <name>yarn.resourcemanager.webapp.address.rm1</name>

                <value>server1:8088</value>

        </property>

 

 

        <property>

                <name>yarn.resourcemanager.webapp.address.rm2</name>

                <value>server2:8088</value>

        </property>

        

        <!-- 指定zookeeper集群地址 -->

        <property>

                <name>yarn.resourcemanager.zk-address</name>

                <value>server1:2181,server2:2181</value>

        </property>

 

 

        <property>

                <name>yarn.nodemanager.aux-services</name>

                <value>mapreduce_shuffle</value>

        </property>

 

 

        <property>

                <name>yarn.application.classpath</name>

                <value>/usr/hadoop-3.2.2/etc/hadoop:/usr/hadoop-3.2.2/share/hadoop/common/lib/*:/usr/hadoop-3.2.2/share/hadoop/common/*:/usr/hadoop-3.2.2/share/hadoop/hdfs:/usr/hadoop-3.2.2/share/hadoop/hdfs/lib/*:/usr/hadoop-3.2.2/share/hadoop/hdfs/*:/usr/hadoop-3.2.2/share/hadoop/mapreduce/lib/*:/usr/hadoop-3.2.2/share/hadoop/mapreduce/*:/usr/hadoop-3.2.2/share/hadoop/yarn:/usr/hadoop-3.2.2/share/hadoop/yarn/lib/*:/usr/hadoop-3.2.2/share/hadoop/yarn/*</value>

        </property>

 

 

hadoop安装

 

修改workers文件

vi /usr/hadoop-3.2.2/etc/hadoop/workers

 

hadoop安装

 

 

启动hadoop有报错没有java_home就修改

vi hadoop-env.sh

指定自己的位置

 

hadoop安装

 

 

 

配置hadoop环境变量

vi /etc/profile

 

export HADOOP_HOME=/usr/hadoop-3.2.2

export PATH=$PATH:$HADOOP_HOME/bin

生效

source /etc/profile

启动hadoop

cd /usr/hadoop-3.2.2/sbin/

./hadoop-daemon.sh start journalnode

 

 

拷贝命令

scp -r /usr/hadoop-3.2.2/ he2:/usr/

 

 

启动集群

cd /usr/hadoop-3.2.2/sbin/

./start-all.sh

./start-dfs.sh

./start-yarn.sh

拷贝整个文件夹

scp  -r  文件目录/*  hostB:存放目录

scp -r hadoop-3.2.2  he2:/usr/

 

安装jdk步骤

先下载jdk的tar压缩包

然后解压jdk并压缩至指定安装目录,如果不需要指定安装目录直接写tar -zxvf jdk压缩包名即可

tar -zxvf jdk压缩包 -C /这里写指定安装目录

配置环境变量

 vi etc/profile

在环境变量中写入自己jdk安装目录,JAVA_HOME后面写自己jdk的安装目录

export JAVA_HOME=/usr/jdk1.8.0_301

export PATH=$PATH:$JAVA_HOME/bin

然后esc  shift+: wq保存退出

刷新一下配置信息

source /etc/profile

再看看jdk是否安装成功

java -version

有结果就表示安装成功

 

查看日志

cd /usr/hadoop-3.2.2/

cd logs/

cat hadoop-root-journalnode-he3.log

上一篇:Milford Track 4 day hike


下一篇:SHELL脚本-算数运算+条件判断