1. 修改主机名
服务器主机名连接之后是随机生成的,设置成自己想要的主机名: 主机名称
注意:这里主机名称尽量保证是小写的英文名,小编发现后续在启动hadoop的时候好像主机名中如果出现大写字母会造成主机名无法识别,小编这里并不知道是什么原因。
文件是 /etc/hostname,命令:
vim /etc/hostname;
修改主机名映射的ip地址,可以通过ifconfig查看本机ip地址;
命令: vim /etc/hosts
添加本机: ip 主机名hostname
同时添加:ip localhost
避免某些位置出现localhost导致无法识别本机ip地址
重启主机!!!
设置令牌
使用xshell连接服务器后先生成本地ip的ssh令牌
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
再添加一个自己可以免密登录的令牌
ssh-copy-id 当前用户@主机名
JAVA的安装
下载jdk安装包,我这里下载的是openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz,放在了 ~ 目录下面
解压到想要安装的文件夹,我这里以/opt/module/为例,后面涉及到添加环境时也是该路径下
解压:tar -zxvf ~/openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz -C /opt/module/
使用 ll /opt/module/查看解压后的文件,为方便后续环境配置,给解压后的文件重命名:
mv /opt/module/解压后的包名 java
配置环境变量,直接自己新建一个环境文件,执行vim /etc/profile.d/my_env.sh
在/etc/profile.d/my_env.sh文件中添加环境变量
#JAVA_HOME
export JAVA_HOME=/opt/module/java
export JRE_HOME=${JAVA_HOME}/jre #可不添加
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib #可不添加
export PATH=$PATH:$JAVA_HOME/bin
按下esc退出编辑后, :wq 编辑保存后,一定要通过source /etc/profile命令使配置生效,配置生效后通过java -version验证java环境变量是否配置成功,如果成功,会显示
Hadoop的安装
hive的安装是对hadoop有依赖的,因此优先安装hadoop并启动后再hive会比较好,hadoop这里下载的是hadoop-3.2.4.tar.gz,hive下载的是apache-hive-2.3.10-bin.tar.gz,将它们均解压到/opt/module/文件夹下面,并重命名为hadoop3.2.4和hive。
tar -zxvf ~/hadoop-3.2.4.tar.gz -C /opt/module/
mv hadoop-3.2.4 hadoop3.2.4
tar -zxvf ~/apache-hive-2.3.10-bin.tar.gz -C /opt/module/
mv apache-hive-2.3.10 hive
至此,hadoop和hive的包已经全部在/opt/module/文件夹下面了,剩下的就是进行环境变量的配置和内部部分文件的修改了,先将hadoop和hive的环境变量配置到上面创建的/etc/profile.d/my_env.sh文件中
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop3.2.4
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
hadoop的环境变量已经配置成功,source /etc/profile之后从命令台输入hadoop version 就可以查看hadoop相关的版本信息了。
后面就是相关文件的配置了,总共涉及到10个文件,分别是/opt/module/hadoop3.2.4/etc/hadoop/ 下面的core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、hadoop-env.sh、yarn-env.sh这6个文件
以及/opt/module/hadoop3.2.4/sbin/下面的start-dfs.sh、stop-dfs.sh、start-yarn.sh、stop-yarn.sh这4个文件,接下来我们分别配置。
对于hadoop-env.sh和yarn-env.sh这两个文件,主要是要和java进行关联,因此需要在里面添加上java环境的变量分别使用vim /opt/module/hadoop3.2.4/etc/hadoop/hadoop-env.sh和vim /opt/module/hadoop3.2.4/etc/hadoop/yarn-env.sh打开两个文件,在中间部分添加
export JAVA_HOME=/opt/module/java
然后是/opt/module/hadoop3.2.4/etc/hadoop/文件夹下另外四个文件的配置,首先是core-site.xml文件的配置,命令行vim /opt/module/hadoop3.2.4/etc/hadoop/core-site.xml打开文件,添加
<configuration>
<!--指定hadoop数据的存储位置-->
<property>
<name>hadoop.tmp.dir</name>
<value>file:/opt/module/hadoop3.2.4/tmp</value>
<description>location to store temporary files</description>
</property>
<!--指定NameNode的访问地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://主机名称:9000</value>
</property>
</configuration>
退出编辑并保存文件
其次是hdfs-site.xml文件的配置,命令行vim /opt/module/hadoop3.2.4/etc/hadoop/hdfs-site.xml打开文件,添加
<configuration>
<!--最主要的是配置这个值为1,服务器只有一台-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--可不指定位置,使用默认位置-->
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/module/hadoop3.2.4/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/module/hadoop3.2.4/tmp/dfs/data</value>
</property>
</configuration>
保存文件并退出,命令行vim /opt/module/hadoop3.2.4/etc/hadoop/mapred-site.xml打开文件,添加
<configuration>
<!--指定mapreduce程序运行在Yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
保存并退出,命令行vim /opt/module/hadoop3.2.4/etc/hadoop/yarn-site.xml打开文件,添加
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>主机名</value>
</property>
<!-- 指定MR走shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 3.2以上的版本不需要指定环境变量的继承 -->
</configuration>
此时文件已经基本配置完成,关于/opt/module/hadoop3.2.4/sbin/下面的start-dfs.sh、stop-dfs.sh、start-yarn.sh、stop-yarn.sh这4个文件的配置,主要是在start-dfs.sh和stop-dfs.sh的文件中添加,vim /opt/module/hadoop3.2.4/sbin/start-dfs.sh 和vim /opt/module/hadoop3.2.4/sbin/stop-dfs.sh打开
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
然后使用vim /opt/module/hadoop3.2.4/sbin/start-yarn.sh 和vim /opt/module/hadoop3.2.4/sbin/stop-yarn.sh打开,添加命令
YARN_RESOURCEMANAGER_USER=root
HDFS_DATANODE_SECURE_USER==yarn
YARN_NODEMANAGER_USER=root
这些是为了保证后面启动hadoop时能以root用户的权限去启动,避免报错
至此,单服务器的hadoop的文件配置已经配置完成,对hadoop进行格式化,使用命令hdfs namenode -format即可,然后启动集群start-all.sh。如果启动成功不报错的情况下,输入jps即可看到命令台输出
先查看防火墙的状态,如果在开启中请先关闭防火墙,然后通过网页输入http://<公网ip>:9870和http://<公网ip>:8088即可打开hadoop提供的页面。hadoop安装成功。
Hive的最小化安装
hive的最小化安装,上面我们已经把hive解压到/opt/module/文件夹下,同样我们在/etc/profile.d/my_env.sh文件中配置hive的环境变量,配置如下:
#HIVE_HOME
export HIVE_HOME=/opt/module/hive
export PATH=$PATH:$HIVE_HOME/bin
然后source /etc/profile刷新一下
初始化元数据库,默认是hive自带的derby数据库,后续可以安装mysql载进行其他配置,初始化命令为:
/opt/module/hive/bin/schematool -dbType derby -initSchema
***注意***这里可能会报错,因为hive的lib目录下的guava-27.0-jre.jar文件和log4j-slf4j-impl-2.17.2.jar文件会和hadoop的/opt/module/hadoop-3.2.4/share/hadoop/common/lib/文件夹下的同名文件产生版本冲突,可以将hive的lib目录下的两个文件先备份之后再删除,这样再重新初始化就没问题了。(当然,你也可以去hive官网查找hive和hadoop的对应关系,然后再下载,避免产生冲突)
在/opt/module/hive目录下使用命令bin/hive即可启动hive,启动成功会显示如下:
Mysql的安装
https://juejin.cn/post/7299389919953272883 ,能够轻松完美安装mysql。
要使用外部navicat连接服务器上的mysql数据库,首先检查防火墙设置,确保 MySQL 端口(默认为 3306)未被阻止。运行命令:
firewall-cmd --list-ports
可以使用以下命名开放3306端口:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
执行成功都会提示success,然后在服务器上使用命令mysql -u root -p并输入密码启动mysql,进入mysql后,对于mysql8.0以上的版本,执行以下命令:
#进入MySQL数据库后进入MySQL数据库。
mysql -u root -p ;
#将root用户的主机设置为任意主机
mysql> update user set host = '%' where user = 'root';
#刷新权限
mysql> flush privileges;
到此你就可以从自己本地电脑连接服务器上的mysql服务了。
到此本文章已经基本结束,本文是经过多天重复卸载和安装后的总结,希望本文的内容能够对各位初学大数据的朋友带来一些帮助。