# Java项目常用工具离线安装文档

# JAVA环境配置

创建目录

# -p  递归创建
mkdir -p /usr/local/java && cd /usr/local/java
1
2

上传安装包到指定目录解压缩

# 上传tar.gz至 /usr/local/java 文件夹下

# 解压缩
tar -zxvf jdk-8u152-linux-x64.tar.gz
# 在/usr/local/java 会生成 jdk1.8.0_152 目录
1
2
3
4
5

设置所有者

chown -R root:root /usr/local/java/
1

配置系统环境变量

vi /etc/environment

# 添加如下语句

# add-start
export JAVA_HOME=/usr/local/java/jdk1.8.0_152
export JRE_HOME=/usr/local/java/jdk1.8.0_152/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
# add-end

1
2
3
4
5
6
7
8
9
10

配置用户环境变量

vi /etc/profile


# add start
export JAVA_HOME=/usr/local/java/jdk1.8.0_152
export JRE_HOME=/usr/local/java/jdk1.8.0_152/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
# add end

if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

使用户环境变量生效

source /etc/profile
1

#

# MySQL环境配置

创建目录

mkdir /enviroment && cd /enviroment
# 上传 mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz 文件至 /enviroment
1
2

解压缩

tar -xzvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
1

重命名

mv mysql-5.7.20-linux-glibc2.12-x86_64 ./mysql
1

创建用户

# 添加mysql用户组
groupadd mysql
   
# 添加mysql用户
useradd -g mysql mysql -d /home/mysql
   
# 修改mysql用户的登录密码,这里需按提示输入密码
passwd mysql

# hello@2023
1
2
3
4
5
6
7
8
9
10

赋予用户读写权限

chown -R mysql mysql/
chgrp -R mysql mysql/

# 在 /enviroment/mysql下创建data文件夹
cd mysql/
mkdir data

chown -R mysql:mysql data
1
2
3
4
5
6
7
8

# 创建配置文件

编辑配置文件

# /etc下创建 my.cnf
touch my.cnf
vi my.cnf
1
2
3

复制如下内容到该文件

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
 
[mysqld]
# 设置3306端口
port = 3306
 
# 设置mysql的安装目录
basedir=/enviroment/mysql
 
# 设置mysql数据库的数据的存放目录
datadir=/enviroment/mysql/data
 
# 允许最大连接数
max_connections=200
 
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
 
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
# 表不区分大小写
lower_case_table_names=1
user = mysql
tmpdir = /tmp
 
[mysqld_safe]
log-error = /enviroment/mysql/data/error.log
pid-file = /enviroment/mysql/data/mysql.pid
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

# 初始化文件

初始化数据库

# 初始化mysql
/enviroment/mysql/bin/mysql_install_db --user=mysql --basedir=/enviroment/mysql --datadir=/enviroment/mysql/data/
1
2

# 启动数据库

启动数据库

# 启动mysql
cd /enviroment/mysql
cp ./support-files/mysql.server /etc/init.d/mysqld
chown 777 /etc/my.cnf 
chmod +x /etc/init.d/mysqld
/etc/init.d/mysqld start
1
2
3
4
5
6

设置开机启动

chkconfig --level 35 mysqld on
chkconfig --list mysqld
 
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld
service mysqld status
1
2
3
4
5
6
7

配置变量

vi /etc/profile

export PATH=$PATH:/enviroment/mysql/bin

source /etc/profile
1
2
3
4
5

更新密码

获取mysql初始密码
cat /root/.mysql_secret

mysql -uroot -p

set PASSWORD = PASSWORD('123456');
flush privileges;

1
2
3
4
5
6
7
8

添加远程访问权限

use mysql
update user set host='%' where user='root';
select host,user from user;

exit;
1
2
3
4
5

# 重启mysql

/etc/init.d/mysqld restart

# 使用 navicat 连接测试
1
2
3

# Nacos安装

拷贝nacos源码文件夹到自定义目录下 eg:/usr/local/nacos/

# 授权

cd /usr/local/nacos/nacos/bin
chmod u+x /usr/local/nacos/nacos/bin/*.sh

vi start.sh

# 集群模式修改为单机
export MODE="cluster"    
# 修改为   
export MODE="standalone"

./start.sh

# 访问 ip:8848/nacos   用户名/密码 nacos/nacos
1
2
3
4
5
6
7
8
9
10
11
12
13

# 导入配置

  • 新建命名空间
  • 从原有nacos中导出zip压缩包配置文件,导入新的nacos中,无需解压

# Redis安装

上传对应文件到相应目录 eg:/usr/local/redis

进入rpm目录下,安装rpm包

mkdir -p /usr/local/redis && cd /usr/local/redis

cd /usr/local/redis/rpm
rpm -ivh *.rpm --nodeps --force
1
2
3
4

rpm包安装成功后, 检查 gcc 环境

gcc -v
# 最后一行显示 gcc 版本信息,说明安装成功
1
2

切换到上级目录下,解压 redis

cd /usr/local/redis
tar -vxf redis-6.2.6.tar.gz
1
2

编译 redis

cd redis-6.2.6
make
# 编译过程,稍微有点长,耐心等待,最后会输出编译成功的提示信息
1
2
3

进入src 目录,安装 redis

cd /usr/local/redis/redis-6.2.6/src
# 执行 安装命令,并指定安装路径
make install PREFIX=/usr/local/redis-6.2.6/install/
1
2
3

修改 redis.conf 配置文件

# 切换到 /usr/local/redis/redis-6.2.6 修改 redis.conf 配置文件
cd /usr/local/redis/redis-6.2.6
vi redis.conf
1
2
3

修改以下配置:

  • #bind 127.0.0.1 -::1(开头加#)

  • protected-mode no(修改为 no)

  • daemonize yes (修改为 yes )

  • logfile "/usr/local/redis-6.2.6/install/bin/log/redis.log"(指定日志文件路径,若log目录不存在则需手动创建log目录)

  • dir /usr/local/redis-6.2.6/install/bin/data(指定缓存目录路径,若data目录不存在则需手动创建data目录)

  • requirepass foobared,如需要密码,去掉前面的#及空格,修改foobared为你的密码即可

# 创建文件夹及文件
mkdir -p /usr/local/redis-6.2.6/install/bin/log && touch /usr/local/redis-6.2.6/install/bin/log/redis.log
mkdir -p /usr/local/redis-6.2.6/install/bin/data
1
2
3

复制 redis.conf 到 //usr/local/redis-6.2.6/install/bin/ 下面

cp /usr/local/redis/redis-6.2.6/redis.conf /usr/local/redis-6.2.6/install/bin/
1
# 启动 redis 服务
# 在/usr/local/redis-6.2.6/install/bin/目录下启动redis
cd /usr/local/redis-6.2.6/install/bin/
 
# 指定配置文件,启动redis服务
./redis-server redis.conf
1
2
3
4
5
# 本机连接测试
/usr/local/redis-6.2.6/install/bin/redis-cli -h 127.0.0.1  -p 6379 -n 1
# 输入 exit 即可退出 redis 命令界面
1
2

# Sentinel安装

上传jar到指定目录

mkdir -p /usr/local/sentinel && cd /usr/local/sentinel

chmod u+x *.sh

./start.sh

# 访问 ip:8718  用户名/密码 sentinel/sentinel
1
2
3
4
5
6
7

# Hbase安装

修改主机名

# 修改主机名为 master
sudo hostnamectl set-hostname master

# 查看主机名
hostname
1
2
3
4
5

创建临时目录

mkdir -p /opt/apps/file && cd /opt/apps/file
1

# 安装Zookeeper

解压zookeeper

tar -zxvf /opt/apps/file/apache-zookeeper-3.6.3-bin.tar.gz
1

进入conf目录

cd /opt/apps/file/apache-zookeeper-3.6.3-bin/conf/
1

重命名cfg文件

mv zoo_sample.cfg zoo.cfg
1

进入bin目录并执行脚本

/opt/apps/file/apache-zookeeper-3.6.3-bin/bin/zkServer.sh start
1

查看启动状态

jps
1

# 安装Hadoop

进入下载目录

cd /opt/apps/
1

解压zookeeper

tar -zxvf /opt/apps/file/hadoop-3.3.1.tar.gz
1

解压完成后进入目录

cd /opt/apps/hadoop-3.3.1/etc/hadoop
1

查看java_home

cat /etc/profile

# eg: export JAVA_HOME=/usr/local/java/jdk1.8.0_152
1
2
3

执行以下命令

vi hadoop-env.sh
1

配置hdfs-site.xml

vi hdfs-site.xml
1

替换configuration节点

<configuration>
   <!-- 集群的namenode的位置  datanode能通过这个地址注册,端口号不使用9000,使用8020,9000后续会和其他软件默认端口冲突.配置的域名个人建议最好和ip地址最后一段或者2段同名,这样方便做关联-->
	<property>
	     <name>dfs.namenode.rpc-address</name>
		 <value>master:8020</value> 
	</property>
	 <!-- namenode存储元数据的位置 -->
	<property>
	     <name>dfs.namenode.name.dir</name>
		 <value>/opt/hdpdata/name</value>
	</property>
	 <!-- datanode存储数据的位置 -->
	<property>
	     <name>dfs.datanode.data.dir</name>
		 <value>/opt/hdpdata/data</value>
	</property>
	 <!-- secondary namenode机器的位置-->
	<property>
		<name>dfs.namenode.secondary.http-address</name>
		<value>master:50090</value>
	</property>
</configuration>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

配置默认的文件系统 core-site.xml

 vi core-site.xml
1

将下面的内容复制到文件中,需要修改成上面设置的hostname

<property>
       <name>fs.defaultFS</name>
       <value>hdfs://master:8020</value>
</property>
1
2
3
4

初始化namenode

注:如果hostname没有生效的话,初始化会报错

# 去hadoop安装目录下的bin中:
cd /opt/apps/hadoop-3.3.1/bin

# 调用以下指令(注:不要多次重复执行)
./hadoop namenode -format  

# 指令执行结束后,检查:
ll /opt/hdpdata/name
# 初始化的元数据目录存在的话,证明初始化成功了
1
2
3
4
5
6
7
8
9

# 单节点启动HDFS

去安装目录下的sbin中

cd /opt/apps/hadoop-3.3.1/sbin
1

先启动namenode顺序不能乱,因为datanode启动后需要去向namenode注册,所以namenode必须先启动

# 单个启动namenode
./hadoop-daemon.sh start namenode  
1
2

再启动datanode

# 单个启动datanode
./hadoop-daemon.sh start datanode       
1
2

jps查看状态

jps
1
image-20230110094839553

# 安装Hbase

进入下载目录

cd /opt/apps/
1

解压zookeeper

tar -zxvf /opt/apps/file/hbase-2.2.7-bin.tar.gz
1

编辑hbase-env.sh文件

vi /opt/apps/hbase-2.2.7/conf/hbase-env.sh
1

设置jdk安装路径以及设置hbase自带的zookeeper失效而使用外部配置的zookeeper

# 修改下面两处,java_home上面提到过(设置自己的java_home路径)
export JAVA_HOME=/usr/local/java/jdk1.8.0_152
export HBASE_MANAGES_ZK=false
1
2
3

修改hbase-site.xml

vi /opt/apps/hbase-2.2.7/conf/hbase-site.xml
1

将下面的内容复制到文件中,需要修改成上面设置的hostname,其余不需要修改

<configuration>
  <property>
    <name>hbase.tmp.dir</name>
    <value>./tmp</value>
  </property>
  <!-- 指定hbase在HDFS上存储的路径 -->
   <property>
      <name>hbase.rootdir</name>
      <value>hdfs://master:8020/hbase</value>
  </property>
  <!-- 指定hbase是分布式的 -->
  <property>
      <name>hbase.cluster.distributed</name>
      <value>true</value>
  </property>
  <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
  </property>
  <!-- 指定zk的地址,多个用“,”分割 -->
  <property>
      <name>hbase.zookeeper.quorum</name>
      <value>master:2181</value>
  </property>
</configuration>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

修改regionservers

# 改成上面设置的hostname
vi /opt/apps/hbase-2.2.7/conf/regionservers
# localhost -> master
1
2
3

启动HBase

cd /opt/apps/hbase-2.2.7/bin
# 执行以下命令。如果去/etc/profile中配置了HBASE_HOME环境变量(注意配置好之后source一下),不需要的话就cd到bin目录执行 
./hbase-daemon.sh start master
1
2
3

启动存储服务

# 还是在当前目录下执行
./hbase-daemon.sh start regionserver
1
2

jps 如果下面进程都有,证明安装成功,至此hbase单机伪集群环境安装完成

image-20230110100556922

# Hbase基础配置

进入hbase shell命令行

/opt/apps/hbase-2.2.7/bin/hbase shell
1

创建数据集命名空间

create_namespace 'store'
1

创建样例数据表

create 'store:alSurfaceRe', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:asSounding', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:clRadiance', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:fyObserve', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:hysRadiance', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:ldAlbedo', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:ldEmissivity', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:ldReflectivity', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:productTiff', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:radStation', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:reAlSurface', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:reflectivity', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:scatter', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:seAlbedo', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:seEmissivity', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:seReflectivity', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:sfTemperature', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:stReflectance', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:sunPhotometer', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:swObserver', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:tiffData', { NAME => 'col', COMPRESSION => 'gz'}
create 'store:turbulence', { NAME => 'col', COMPRESSION => 'gz'}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

退出

exit
1

# Fastdfs安装

创建文件夹

mkdir -p /usr/local/software && cd /usr/local/software

# 上传安装依赖包libfastcommon-1.0.7.tar.gz、fastdfs-5.05.tar.gz、gcc.tar.gz、rpm文件夹到/usr/local/software 目录下
1
2
3

是否已安装gc

gcc -v
1

gcc离线安装(若已安装请忽略)

cd /usr/local/software
tar -zxvf gcc.tar.gz
cd gcc
rpm -Uvh *.rpm --nodeps --force
# 查看是否安装成功
gcc -v
1
2
3
4
5
6

其他依赖包离线安装

cd /usr/local/software/rpm
rpm -Uvh  *.rpm  --nodeps  --force
1
2

创建fastdfs目录

mkdir /usr/local/software/fastdfs
mkdir /usr/local/software/fastdfs/tracker
mkdir /usr/local/software/fastdfs/storage
mkdir /usr/local/software/fastdfs/logs
1
2
3
4

安装libfastcomman

cd /usr/local/software
# 解压
tar -zxvf libfastcommon-1.0.7.tar.gz
cd libfastcommon-1.0.7
./make.sh && ./make.sh install
cp /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
cp /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so

1
2
3
4
5
6
7
8

安装FastDFS

cd /usr/local/software
tar -zxvf fastdfs-5.05.tar.gz
cd fastdfs-5.05
./make.sh && ./make.sh install
cd /usr/local/software
mkdir fastdfs
cd fastdfs
# 创建存储目录
mkdir storage
# 创建tracker目录
mkdir tracker
# 创建日志目录
mkdir logs

1
2
3
4
5
6
7
8
9
10
11
12
13
14

配置tracker

cd /usr/local/software/fastdfs-5.05/conf
cp * /etc/fdfs/ 
cd /etc/fdfs
vi tracker.conf
# 修改bath_path /usr/local/software/fastdfs/tracker
1
2
3
4
5

启动tracker

fdfs_trackerd /etc/fdfs/tracker.conf start 
1

配置storage

cd /etc/fdfs
# 修改配置文件
vi storage.conf
# 修改以下几项
# 日志目录
base_path=/usr/local/software/fastdfs/storage
# 存储目录
store_path0=/usr/local/software/fastdfs/storage
# tracker节点
tracker_server=192.168.1.89:22122

# 启动storage
fdfs_storaged /etc/fdfs/storage.conf start
1
2
3
4
5
6
7
8
9
10
11
12
13

配置client

cd /etc/fdfs
# 修改配置文件
vi client.conf
# tracker节点
tracker_server=192.168.1.89:22122
# 日志路径
base_path=/usr/local/software/fastdfs/logs

1
2
3
4
5
6
7
8

安装nginx与fastdfs-nginx-module

cd /usr/local/software
tar -zxvf nginx-1.22.1.tar.gz 
# 创建nginx安装目录
mkdir nginx
cd nginx-1.22.1
./configure --prefix=/usr/local/software/nginx --sbin-path=/usr/local/software/nginx --add-module=/usr/local/software/fastdfs-nginx-module/src/
make
make install

1
2
3
4
5
6
7
8
9

配置mod_fastdfs.conf文件

cd /usr/local/software/fastdfs-nginx-module/src
cp mod_fastdfs.conf /etc/fdfs/
cd /etc/fdfs
1
2
3

修改配置

vi mod_fastdfs.conf

# 客户端访问文件连接超时时长(单位:秒)
connect_timeout=10 
# 存储日志路径
base_path=/usr/local/software/fastdfs/logs
# tracker服务IP和端口
tracker_server=192.168.1.89:22122 
# 访问链接前缀加上组名
url_have_group_name=true 
# 和storage的groupname一一对应
group_name=group1 
# 文件存储路径
store_path0=/usr/local/software/fastdfs/storage

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

配置nginx

cd /usr/local/software/nginx/conf
vi nginx.conf

#修改端口为8085
1
2
3
4

监听域名中带有group0 到 group9 的,交给fastdfs-nginx-module模块处理

location ~/group([0-9])/ {
ngx_fastdfs_module;
}
1
2
3

启动nginx

cd /usr/local/software/nginx
./nginx
1
2

linux根据端口号杀死进程

# linux查找占用的程序
netstat -apn | grep 8080
kill -9 pid
1
2
3

测试

fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/test.jpg
1
最后更新于: 2023-01-10 14:41:51