1.准备环境
Linux系统,准备root和hadoop两个用户
把hadoop、hive、jdk等包上传到linux系统目录下
2.关闭selinux
在linux下,切换到root用户
su - root
进入
vim /etc/selinux/config 把SELINUX=disabled
3.切换到hadoop用户,配置免密登陆(解决多次登录,多个集群,要多次输入用户密码的问题)
cd 进入hadoop用户的家目录
ssh-keygen -t rsa [输入完后连按4个回车]
ssh node100 [yes,输入hadoop用户的密码]su
ssh-copy-id node100 [输入hadoop用户的密码]
4.解压软件包到/opt/module
先用root用户创建对应的目录
切换到Hadoop用户下,然后把那3个文件解压到module目录下
tar -zxvf ./jdk-8u181-linux-x64.tar.gz -C /opt/module/
tar -zxvf ./hadoop-2.7.3.tar.gz -C /opt/module/
tar -zxvf ./apache-hive-3.1.1-bin.tar.gz -C /opt/module/
解压后查看如下:
5.环境变量编辑
vim ~/.bash_profile
在文件末尾添加
JAVA_HOME=/opt/module/jdk1.8.0_181
HADOOP_HOME=/opt/module/hadoop-2.7.3
HIVE_HOME=/opt/module/apache-hive-3.1.1-bin
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin
export JAVA_HOME
export HADOOP_HOME
export HIVE_HOME
export PATH
6.重新加载该文件,使环境变量生效
source ~/.bash_profile
测试下能不能访问到
java -version
hadoop version
7.修改hadoop的配置文件
cd /opt/module/hadoop-2.7.3/etc/hadoop
替换对应的配置
1)vim ./hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_181
2)vim ./mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_181
3)vim ./yarn-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_181
4)vim ./core-site.xml
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node100:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoopdata</value>
</property>
5)vim ./hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node100:50090</value>
</property>
6)cp ./mapred-site.xml.template ./mapred-site.xml
vim ./mapred-site.xml
<!-- 指定MR运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
7)vim ./yarn-site.xml
<!-- Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node100</value>
</property>
<!-- 关闭虚拟内存检查 -->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
8)vim ./slaves
进入后,里面的信息删除掉(dd),把node100录入并保存
node100
8.格式化hadoop集群
在node100这台机器上执行:hdfs namenode -format
9.启动/关闭hadoop集群
在node100这台机器上执行:start-all.sh
在node100这台机器上执行:stop-all.sh
jps验证启动成功
10.验证集群
192.168.5.100:50070
192.168.5.100:8088
11.Hadoop的wordcount
1)vim word.txt
hello python
hello java
hello scala
hello world
welcome to beijing
2)wordcount测试(统计单词出现的次数)
hadoop fs -mkdir /test
hadoop fs -put ./word.txt /test
hadoop jar /opt/module/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /test/word.txt /output
hadoop fs -cat /output/part-r-00000
12.Hive的安装
hive --version
在hdfs上创建hive数据存放目录
hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse
进入hive的软件目录下
cd /opt/module/apache-hive-3.1.1-bin/
在hive的软件目录下执行初始化命令
bin/schematool -dbType derby -initSchema
初始化成功后就会在hive的安装目录下生成derby.log日志文件和metastore_db元数据库
注意:离开hadoop安全模式 hadoop dfsadmin -safemode leave